5.2 KiB
Defense Presentation Visual Pass Design
Purpose
This slice improves the weakest visible parts of /present without changing the
storyboard, transport, demo replay, or chat system. The target is a defense
screen at 1280x720 with fallback usability at 1024x768.
The presentation should look like a precise product walkthrough, not a generic AI slide deck. The workflow graph and evidence surfaces remain the proof. Chat and Q&A remain supporting surfaces.
Scope
In scope:
- Scene 6 architecture figure scale, horizontal fit, and focused hierarchy.
- Scene 7 authoring visual treatment.
- Scene 10 interrupt and evidence treatment.
- Discussion panel treatment for speaker-only hints.
- Screenshot smoke checks at
1280x720and1024x768.
Out of scope:
- AI/chat component replacement.
- Schema form surface.
- Guided run beat gates.
- Presenter companion.
- Full theme redesign.
- Rewriting the 12-scene storyboard.
Design Direction
Use the existing editorial canvas and presentation tokens. Do not introduce a third theme or another global palette. The pass should make the current presentation calmer and more intentional:
- One dominant visual per beat.
- Bigger diagrams, fewer side panels.
- Evidence as a receipt or deliberate inspector, not a random drawer.
- Speaker-only notes should not look like audience content.
- Motion should clarify state changes; avoid blur/zoom on the same object when it makes the transition feel unstable.
Scene 6: Architecture
The architecture scene should feel like a navigable technical map. The current figure is correct but visually too small and cramped.
Required behavior:
- The figure owns most of the scene height.
- Horizontal flow figures can overflow horizontally inside the figure frame rather than shrinking until unreadable.
- Breadcrumbs stay visible and compact.
- Active/current node is visibly dominant without making inactive nodes vanish.
- Edge labels remain readable at
1280x720. 1024x768keeps the figure usable through horizontal scroll, not through excessive text shrinking.
Implementation direction:
- Keep
InteractiveFigurereusable. - Add a presentation-scale variant, for example
size="stage"or refine existingsize="wide". - Add explicit tests for the size attribute and scrollable canvas class/shape.
- Avoid changing figure catalog facts unless a label is factually wrong.
Scene 7: Authoring
The authoring scene should explain the product UX loop, not display generic step cards.
Required behavior:
- Show a single loop: discover capability -> author draft -> validate/diagnose -> repair -> compile/save.
- The active beat emphasizes one loop stage.
- The visual implies agents/humans use public surfaces (
wf schema,wf draft, diagnostics), without putting too much command text on the slide. - The scene remains readable at
720p.
Implementation direction:
- Extract an
AuthoringLoopSceneor focused helper fromSceneBody.tsxif the inline scene grows. - Use existing storyboard beat IDs:
discover,author,diagnose,repair. - If a fifth compile/save stage is shown, it can be present as a terminal stage but does not need its own beat.
Scene 10: Interrupt And Evidence
The interrupt scene should make typed human approval feel like the main point. The graph should provide context, not compete with the contract.
Required behavior:
- The approval beat shows the interrupt contract as the hero element.
- The workflow graph remains visible enough to show where the interrupt sits.
- The receipt/evidence affordance is visible but secondary.
- The
submitted / cancelledoutcome language remains canonical. - The trace beat can emphasize evidence after resume, but should not make the approval contract look like a random side card.
Implementation direction:
- Add beat-specific layout states in
DemoWorkflowScenevia small named helpers instead of more anonymous booleans. - Consider a
demo-workflow-stage--approvalordata-layout="approval"state. - Keep
OperationBlock,WorkflowGraphStage, andInterruptContractPreviewas existing components; restyle/compose rather than rewrite.
Discussion Panel Speaker Hints
speakerHint is useful for rehearsal but should not read as audience content.
For now, keep it inside the modal but visually demote it:
- Use a small presenter-note treatment.
- Label it as presenter note, not primary content.
- Keep it after the answer body.
- Make it easy to hide later if a presenter mode split lands.
Motion
Use restrained motion only:
- 150-250ms transitions.
- Transform/opacity are acceptable.
- Do not combine blur and pan/zoom on the same object for core slide movement.
- Respect existing
motionDisabledandprefers-reduced-motion.
Acceptance Criteria
- Focused tests for Scene 6, Scene 7, Scene 10, and discussion speaker hint treatment pass.
pnpm --dir web --filter @lda/console typecheckpasses.pnpm --dir web --filter @lda/console buildsucceeds.- Screenshot smoke verifies:
#scene/architecture/client#scene/architecture/runtime/focus/runtime-providers#scene/authoring/discover#scene/interrupt-evidence/approvalat1280x720.
- A second smoke at
1024x768verifies Scene 6 does not overflow the viewport and the figure remains horizontally navigable.