diff --git a/ROADMAP.md b/ROADMAP.md index 659eb5d..afdc350 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -15,6 +15,13 @@ save and reopen, edit and export, undo and redo, CRDT merge, and CLI access. See [SVG import](apps/web/src/content/docs/internals/svg-import.md) and [native path geometry](apps/web/src/content/docs/internals/native-path-geometry.md). +### Editor refinement + +Bring the editor interface up to the capabilities of the document model. Improve selection, +snapping, keyboard and camera behavior, expose layout operations, and add clipboard and image +workflows that behave like a native drawing application. Frames and bound arrows follow once these +core interactions are consistent across web and desktop. + ### Permissioned MCP Add a local stdio MCP server as the policy-aware interface for model-controlled access. It should diff --git a/TODO.md b/TODO.md index 5d67d95..ecd8ce5 100644 --- a/TODO.md +++ b/TODO.md @@ -16,6 +16,40 @@ normalized structure where representation matters and rendered output where visu - [ ] Verify opaque fallback content remains visually stable - [ ] Add deterministic round-trip fixtures for these workflows +## Editor refinement + +### Selection and movement + +- [ ] Add edge, center, corner, equal-gap, handle, and 15-degree angle snapping with visible guides +- [ ] Apply Shift constraints, Alt/Option duplication, centered resize, and aspect-ratio modifiers + consistently across selection and drawing tools +- [ ] Improve selection hover, Direct Select handles, rotated resize cursors, and edge scrolling +- [ ] Add zoom to selection, smoother camera controls, and persistent grid and snap preferences + +### Layout and commands + +- [ ] Add contextual align, distribute, group, order, lock, and `agent_editable` controls +- [ ] Complete the keyboard shortcut scheme and add a searchable `?` shortcut panel +- [ ] Expand context menus for selection, layout, clipboard, and view actions +- [ ] Add accessible labels, keyboard traversal, coarse touch targets, and reduced-motion behavior +- [ ] Report save, import, export, clipboard, and document errors in the editor + +### Clipboard, drop, and images + +- [ ] Copy, cut, and paste native selections with hierarchy, assets, and bindings intact +- [ ] Paste plain text, Markdown, SVG markup, SVG files, and images into editable canvas objects +- [ ] Add paste in place and paste at cursor +- [ ] Copy selections as SVG and PNG +- [ ] Import `.inkfinite`, SVG, Excalidraw, and image files through drag and drop +- [ ] Add image shapes with embedded assets, aspect-ratio resize, crop, opacity, and replace controls +- [ ] Verify clipboard and image workflows through save/reopen, undo/redo, merge, and export + +### Canvas structure + +- [ ] Add frames with titles, child containment, move-with-contents, zoom, and export behavior +- [ ] Bind arrow endpoints to shapes and preserve bindings through move, group, copy, and merge +- [ ] Add straight, curved, and elbow arrows with bend controls, labels, and automatic routing + ## Permissioned MCP ### Server and discovery diff --git a/apps/web/src/app.html b/apps/web/src/app.html index f273cc5..3621a4c 100644 --- a/apps/web/src/app.html +++ b/apps/web/src/app.html @@ -3,6 +3,10 @@ + + %sveltekit.head% diff --git a/apps/web/src/lib/docs/DocsSearch.svelte b/apps/web/src/lib/docs/DocsSearch.svelte index 1c451b1..2ec862e 100644 --- a/apps/web/src/lib/docs/DocsSearch.svelte +++ b/apps/web/src/lib/docs/DocsSearch.svelte @@ -1,135 +1,134 @@ - if (!document.querySelector(`link[href="${stylesheetUrl}"]`)) { - const stylesheet = document.createElement('link'); - stylesheet.rel = 'stylesheet'; - stylesheet.href = stylesheetUrl; - document.head.append(stylesheet); - } + diff --git a/apps/web/src/lib/docs/SiteHeader.svelte b/apps/web/src/lib/docs/SiteHeader.svelte index 612225b..c8d0db4 100644 --- a/apps/web/src/lib/docs/SiteHeader.svelte +++ b/apps/web/src/lib/docs/SiteHeader.svelte @@ -50,7 +50,7 @@
- +
@@ -58,7 +58,7 @@ Menu
- +