feat(editor): Source as hero with Author/Review density and a Problems hierarchy (#988–#991) - #992
Conversation
…roblems hierarchy A cold open now lands in a calm Author view (Source + Project; review panes unmounted, authoring hints folded, and section-nav links to Review panes switching modes before they land) while Review keeps the full chrome. Source gains a measured line gutter, current-line band, and presentation-only frontmatter seam over the native textarea, and Problems leads with primary Build & validate actions, carries per-command aria-busy progress, and collapses large reports. Refs #988
…sure The Linux editor gate rendered the result chip at the rail's full content width, so the reading-hierarchy assertion that the lede outgrows the chip landed on an exact tie. Give the rail column more weight and the source column the same hero share.
The Preview pane is mounted in Review density (#990); the real-host frame check now switches modes before clicking Rebuild preview instead of assuming the full chrome is the cold-open state.
|
SummaryCoverage spans core authoring and review workflows, navigation, source editing and layout behavior, completion, publication and diagnostic actions, report-size boundaries, persistence, and adversarial interaction sequences. Overall behavior is healthy, with a minor accessibility and wayfinding gap in the active navigation state for one section. Safe to merge — the only PR-attributable issue is a minor navigation accessibility defect that leaves users without a clear active-section indicator while the section itself remains usable. No merge-blocking functional or data-loss risk is indicated; the issue remains a caveat to address. Tests run by ItoTip Reply with @itoqa to send us feedback on this test run. |
…eading line QA found that a reduced-motion, mode-gated Graph reveal lost aria-current: Review mounts the Graph pane, the jump clamps at max scroll, and the spy's bottom rule handed currency to the last present pane even though Graph's box spans the reading line. Prefer the most recent jump target while it still covers the line; scrolling the target off the line releases it, so a stale jump never pins wayfinding. Adds the reduced-motion regression test.
|
Diff SummaryThe run covered editor navigation and mode changes, including revealing and removing review panes, keeping active section markers consistent, and handling delayed updates and maximum-scroll boundaries. It exercised normal user flows alongside edge cases involving geometry-based highlighting, rapid transitions, and unavailable editor states. Safe to merge — no failures were attributable to this PR, and the reported navigation discrepancies were independently assessed as intended behavior under the product’s documented rules rather than regressions. Any remaining observations are suitable for follow-up, not merge blockers. Tests run by Ito
Tip Reply with @itoqa to send us feedback on this test run. |


Pull Request
Agent Completion Report
t3code/editor-aesthetic-slicest3code/editor-aesthetic-slices(t3code worktree)9940750f(head)maineditor/ui/src/lib/state/density.svelte.ts(new Author/Review density state)editor/ui/src/components/SourcePane.svelte(hero surface + measured writing chrome)editor/ui/src/components/ProblemsPane.svelte,ActionGroup.svelte(new),ReportBlock.svelte(new),PublicationPane.svelteeditor/ui/src/App.svelte,Header.svelte,SectionNav.svelte,AuthoringTools.svelteeditor/ui/src/lib/state/problems.svelte.ts(running command)editor/ui/src/styles.csseditor/ui/tests/density-modes.spec.ts(new), plus Review-density seeds insafe-editing,section-nav,reading-hierarchy,graph-map,watch-admineditor/scripts/preview-frame-check.cjs(live gate switches to Review before rebuilding)editor/README.md,content/guides/editor.md,docs/changelog.d/992-editor-writing-surface.mdboris-editor-densitypreference (validated on load). Cold open is Author: Source + Project; Problems/Preview/Watch/Graph/Publication are unmounted, and authoring hints fold into one disclosure. Review restores the full chrome. Section-nav links to other-mode panes are muted but enabled and switch modes before landing; the scrollspy skips panes that are not mounted.ActionGrouplanguage, per-commandaria-busy+ in-button progress on the pressed command, and reports over 24 lines collapsed behind an explicitShow …disclosure. Allowlist, palette entries, and exit-class reporting unchanged.aria-currenton the landed target while its box still covers the reading line (the spy previously handed currency to the last present pane); scrolling the target off the line releases it. Pinned by a new regression test indensity-modes.spec.ts.---…---/...fence shape; it reads no keys and validates nothing (documented as presentation-only).npm --prefix editor/ui cinpm --prefix editor/ui run checknpm --prefix editor/ui run buildnpx playwright test(fromeditor/ui)./editor/scripts/test-preview.sh ./zig-out/bin/boris ./editor/zig-out/bin/boris-editor editor/ui/distzig build testzig build --build-file editor/build.zig testzig fmt --check editor/build.zig editor/build.zig.zon editor/srcgit diff --checknpm --prefix editor/ui run check: pass — 0 errors, 0 warnings; key-hints conformance OK (8 hints / 24 sources)npm --prefix editor/ui run build: passnpx playwright test: pass — 203 teststest-preview.sh: pass —preview frame renders committed dist bytes (Preview changed)zig build test: passzig build --build-file editor/build.zig test: passzig fmt --check …: passeditor-test (Linux): pass (full editor gate, including all live integration stages)editor/ui/dist/build output and Playwrighttest-results/are ignored generated output; nothing generated is committed.