Post-v1.0 design artifact for the GPU/GUI frontend. Inherits the
contract boundary from semantic-frontend-protocol.md and applies the
M10-matured framing discipline to a multi-month effort:
- Toolkit: wgpu + custom + cosmic-text + glyphon. Unambiguous.
Records the against-gpui case so the decision isn't relitigated.
- Scope: A (read-only viewer, ~2-3 weeks, adversarial verification of
the producer arc) → B (TUI parity, 2-3 months after A) → C
(beyond-TUI, 3-4 months after B). Sequential, not alternative.
~6 months to parity, ~9-10 to beyond-TUI; recorded honestly at
decision time.
- Phase A's framing is adversarial verification, not "build a viewer
that works." Six static probes + one temporal probe drive the
corpus; the viewer is the artifact of having done so.
- Predicted findings: five categorical bets, scored as a category
matrix not a count, methodology recorded before data lands.
- Finding feedback loop: classification rule (iii) pre-authorized —
small absorbs into Phase A, structural deferred per the
verification-milestone premise-check.
- Distribution: workspace + separate pmacs-gpu binary. pmacs-protocol
crate extraction as a discrete 4-hour prerequisite PR before any
GPU work.
- Q#1 (visual motion) committed to stance β: frontend implements
visual motion; instance stays pixel-pure. Phase A starts with
(β-impl) — recompute wrap on motion events — with documented
upgrade path to (α-impl) if smooth scroll lands.
- Cursor scope at v0.1: blink, multi-cursor rendering, peer cursors.
Multi-cursor commands out of scope.
- Font: bundle JetBrains Mono + Lua override; tofu fallback for
missing glyphs; real fallback chain is v0.2+.
- Rhythm: cadence relaxes from hour-level to daily-PR for larger
features; discipline anchor moves from per-PR to per-session.
- Audit artifacts: this doc is the design artifact; per-phase audit
material lands in separate per-phase audit docs (M10.x pattern).
Session plan: 1 = pmacs-protocol extraction; 2 = pmacs-gpu workspace
+ hello-world; 3 = attach loop; 4+ = Phase A proper.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>