Correct the glossary, layout, and tiling specs against the code; gate hidden-Wall reveals - #708
Merged
Merged
Conversation
dormouse-bot
left a comment
Collaborator
There was a problem hiding this comment.
Work-in-progress feedback, not a merge verdict — mark it ready when you want the full review.
One suggestion inline, on the one new rule in this pass that doesn't name its test.
This was referenced Sep 20, 2026
Merged
Merged
Merged
This was referenced Sep 20, 2026
nedtwigg
added this pull request to stack #723
September 21, 2026 05:20
Audit corrections across glossary / layout / tiling-engine, funded by condensing sections that restated their neighbours. Corrections: - restore reinserts into an empty tree; only add/split/insert refuse one, and replace/swap write through replaceAtPath rather than normalize - tool Surfaces park on minimize, keep their session while Doored, and resolve body/header/overlay slots through the same registry - persistableLeafMeta strips a Tool's derived browser fields and demotes a pending Tool to a plain terminal, so a restart reloads it as its terminal - the cold restore path carries the same leaf-set gate as resume, and synthesizes a single-row layout when a visible pane is a Tool - restore tokens carry leafId, write the sibling fields on every non-root removal, and consult them only for a multi-leaf sibling - the marching ants are re-dashed every frame and also pause under cfg.marchingAnts.paused; only the smear's non-interference is absolute - a key inside the terminal context never reaches dual-tap - a hidden Wall gates every listener that dispatches, forwards, or preventDefaults window input, custom events included - unzoom also fires on selecting a Workspace tab - rate callers read slope() off cubicBezier/LATH_EASING, not the animator - corrected Source-of-truth pointers for zoom, window focus, and persistence; bare test filenames expanded to repo paths Condensed: the glossary's rollout note and host-count bullets; layout's corner cases (only #2 and #6 are cited elsewhere), its restatements of the tiling engine's DnD and animation models, and the Workspace lifecycle prose. Budgets: glossary 3000 -> 2950, layout 10000 -> 9950, tiling-engine 4500 -> 4650. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A `dormouse:reveal-note-source` event was gated on Tool ownership rather than on the Wall being active, so a hidden Workspace mounted its Terminal Context and refit a detached element for a pin the user clicked elsewhere. Gate it on `active`, like every other window listener. Also drops three things the code carries but nobody uses: - `Wall showBaseboard`: no caller ever passed false, so the baseboard is unconditional and the drag-to-minimize gate goes with it. The mobile composition is `MobileWall`, not a baseboard-less Wall. - `SurfaceView`'s `'hidden'` member: nothing produced it and the `--view` filter never accepted it; a Surface in an inactive Workspace stays `paned` or `minimized`. - the 180px literal in the cross-window tab drag, which disagreed with the 220px `DOOR_TAB_CLASS` bound it was standing in for. `design.tsx` now exports that bound and the tab height beside it. Budget: layout 9950 -> 9900. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The hidden-Wall rule was the one addition in this pass without a test name, next to neighbours that carry full paths; it is also the only rule here whose test the branch writes itself. layout.md 9876 / 9900, no ratchet. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
nedtwigg
force-pushed
the
specs-layout-audit
branch
from
September 21, 2026 06:38
3513f53 to
91836f9
Compare
nedtwigg
marked this pull request as ready for review
September 21, 2026 06:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spec audit, group 1 of several (glossary / layout / shortcuts / tiling-engine). Independent of the alert-system series (#706, #707); it stays clear of the layout.md regions those PRs edit.
Commit 1 — docs. Eighteen inaccuracies fixed against the code (tool Surfaces park on minimize;
restoreinserts into an empty tree;replace/swapbypassnormalize; the marching-ants outline is re-dashed per frame;cfg.marchingAnts.pausedis a real pause;createAnimatorreturns no easing;persistableLeafMetastrips tool fields on save; restore-token fields; stale bare filenames;DRAG_THRESHOLD_PX; and more). Condensed: the Corner cases list (only #2 and #6 are cited externally), Animations/Spawn/Kill restating tiling-engine, the Workspace lifecycle prose blob → bullets, glossary's rollout note and Containers duplicate, the LathHost component inventories → one rule + pointer.Commit 2 — code.
dormouse:reveal-note-sourceevent was gated on Tool ownership, not on the Wall being active, so a hidden Workspace could mount its Terminal Context and refit a detached element. Gated onactive; testleaves a reveal for a hidden Workspace unanswered.Wall showBaseboarddeleted (no caller passedfalse).initialModekept — the playground uses it.SurfaceView's dead'hidden'member deleted; it contradicted the glossary.design.tsxnow exports the 220pxDOOR_TAB_MAX_WIDTH_PX.Budgets: glossary 3000→2950, layout 10000→9900, tiling-engine 4500→4650 (corrections outweighed the inventory cut).
Deferred (reported, not done): the header-context-menu choreography move (conflicts with the alert series), one keyboard path for the terminal context, folding the Door array into the Lath store.
🤖 Generated with Claude Code