design: DECISION — Layout B library-centric main window; grade drawer summonable (A as mode inside B); consequences for macOS phase
This commit is contained in:
parent
014c7ca283
commit
d64be383d1
2 changed files with 31 additions and 6 deletions
25
docs/design/001-layout-decision.md
Normal file
25
docs/design/001-layout-decision.md
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Design decision 001 — Main window layout
|
||||||
|
|
||||||
|
**Decision (2026-07-11): Layout B, library-centric.**
|
||||||
|
|
||||||
|
Owner choice from docs/design/wireframes.html.
|
||||||
|
|
||||||
|
## Shape
|
||||||
|
- Main window = clip table (sortable, dense, 44px rows), project tree left
|
||||||
|
(days / cameras / jobs), inspector right (selection metadata + grade snapshot + actions).
|
||||||
|
- Live grading = inspector mode when a camera slot is selected, plus a summonable
|
||||||
|
grade drawer (preview + node strip — Layout A distilled) for panel/trackball work.
|
||||||
|
Keyboard: ⌘G toggles drawer; slot switching stays single-keystroke.
|
||||||
|
- Jobs (offload/verify/proxy) surface in the tree with inline progress — matches
|
||||||
|
Silverstack's workstation posture and our offload/proxy engines.
|
||||||
|
|
||||||
|
## Consequences for macOS phase
|
||||||
|
- NavigationSplitView: sidebar (tree) / content (table) / inspector — B maps 1:1
|
||||||
|
to native three-column. Grade drawer = bottom sheet over content column.
|
||||||
|
- Table virtualization + SF Mono numerics from day one.
|
||||||
|
- Panel focus model: active slot follows either table selection (camera row) or
|
||||||
|
explicit slot keys — must never steal focus during rec.
|
||||||
|
|
||||||
|
## Skin (unchanged)
|
||||||
|
Reel tokens: bg-0 chrome, amber accent as tally, #FF3B30 reserved for REC,
|
||||||
|
SF Mono for TC/CDL/clip names, hairline dividers, 10.5px uppercase eyebrows.
|
||||||
|
|
@ -328,12 +328,12 @@ one step removed from the image. Stronger for offload/verify/report days; weaker
|
||||||
the "roll sound, grade now" moment.</p>
|
the "roll sound, grade now" moment.</p>
|
||||||
|
|
||||||
<div class="verdict">
|
<div class="verdict">
|
||||||
<h3>Recommendation</h3>
|
<h3>DECISION (2026-07-11): Layout B — library-centric</h3>
|
||||||
<p><b>Layout A as the main window, with B's table one ⌘-key away (Library tab/window).</b>
|
<p><b>B is the main window.</b> The clip table is home; days/cameras/jobs tree left,
|
||||||
Forge's differentiator is in-camera live grading — the app should open into the moment
|
inspector right. Live grading enters through the inspector when a camera is selected,
|
||||||
it wins. The library table (B) is genuinely better for end-of-day work, so ship it as a
|
plus a summonable full-width grade drawer (preview + node strip from Layout A) for
|
||||||
second surface using the same panes, not a compromise hybrid of both.</p>
|
trackball sessions — A survives as a mode inside B, not a separate window.</p>
|
||||||
<p>Shared skin either way: bg-0 chrome, amber tally accent, #FF3B30 strictly for REC,
|
<p>Shared skin: bg-0 chrome, amber tally accent, #FF3B30 strictly for REC,
|
||||||
SF Mono for TC/CDL/clip names, hairline dividers, 10.5px eyebrows — family resemblance
|
SF Mono for TC/CDL/clip names, hairline dividers, 10.5px eyebrows — family resemblance
|
||||||
to dragonflight without pretending to be a web app.</p>
|
to dragonflight without pretending to be a web app.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue