Source requirement: specs/current/manual-edit-mode-requirements.md.
Base branch: origin/main at 72edd4fc6090a3fda4ed175bd35dca76099a82f2.
Implementation branch: codex/manual-edit-mode.
Migrate the accepted manual edit-mode prototype into the production Open Design web app.
The product boundary is fixed:
Editis manual HTML/CSS editing.Commentremains the AI-assisted scoped edit path.Tweaksis for global/token parameters.Drawis annotation input and does not mutate HTML/CSS in v1.
- Add
apps/web/src/edit-mode/with typed targets, patches, history, iframe bridge, and source patch helpers. - Integrate manual edit state into the HTML branch of
FileViewer. - Enable the existing
Edittoolbar button only for HTML/deck-HTML artifacts. - Keep comment mode and edit mode mutually independent; do not send manual edits to chat or daemon agent runs.
- Save manual patches through the existing project file write provider, then refresh preview source.
- Add the accepted layout: layers rail, canvas-first preview, right edit modal, and changes panel.
- Add English i18n keys plus conservative fallback locale entries.
- Add focused tests for patch helpers and the main browser smoke path.
- Manual edit mode starts from latest
origin/main. - User can select a preview element or a layer row.
- Content, style, attributes, selected HTML, and full source edits are source-backed.
- Undo and redo work during the session.
- Attribute edits do not delete unrelated attributes or prior style edits.
- Comment mode still works as the AI edit path.
- Share/export and deck navigation still work after the edit-mode changes.
pnpm --filter @open-design/web typecheck
pnpm --filter @open-design/web test
pnpm --filter @open-design/e2e test:ui -- --grep "manual edit"
pnpm typecheck
pnpm test
pnpm check:residual-js