Skip to content

Bake-off 2B: Reproduce the target in Tauri and CodeMirror #52

Description

@danielmrdev

Parent

Part of #49.

What to build

Reproduce the approved Editorial Paper target in a disposable Tauri 2, SolidJS, and CodeMirror 6 prototype. A writer can interact with the same representative surfaces through the actual Linux system webview so visual fidelity, native behavior, process-tree cost, and development effort can be judged rather than inferred from a browser mock-up.

Acceptance criteria

  • A real Tauri 2 host launches the prototype through the system WebKitGTK webview; the frontend uses strict TypeScript and a real CodeMirror Writing surface.
  • The prototype matches the approved content, dimensions, tokens, Themes, and states used by the Floem lane.
  • Paper and Ink, normal and narrow sizes, Document selector search/results/empty states, and General/Appearance Settings states are directly demoable.
  • The integrated themed titlebar supports drag, double-click maximize/restore, minimize, maximize, close, focus, inactive, scaled, keyboard, and accessible-name states.
  • CodeMirror verifies selection, clipboard, undo/redo, IME composition, soft wrap, scrolling, expected shortcuts, native context menu, Spellcheck suggestions without automatic mutation, App scale, and 1/10 MiB Documents.
  • Frontend filesystem, shell, network, remote-content, and undeclared window capabilities remain denied.
  • Simulated data is isolated from production Documents, Files, autosave, Preferences, and Typeface delivery.
  • Implementation and debugging stop at the two-day candidate budget.
  • Time, framework-specific code, dependencies, workarounds, edit-preview cycle, webview defects, and known platform limitations are recorded as evidence.
  • The prototype remains disposable and does not remove or disable Floem.

Blocked by

Workspace

  • Mode: parallel lane
  • Branch: feat/49-ui-stack-bakeoff-52
  • Worktree: /home/daniel/Projects/lettera/.worktrees/feat-49-ui-stack-bakeoff-52
  • Integrates into: feat/49-ui-stack-bakeoff
  • Remote policy: local only — never push
  • Completion: when unblocked, create the lane from the latest integration commit; validate it, merge it locally into integration with approval, validate integration, remove the lane worktree, and delete the local lane branch

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified and ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions