# Storyboard Extension **Use when:** Page has multiple sketches (multi-step flows, state changes, transitions) **Base:** Start with [page-specification.template.md](page-specification.template.md) --- ## What Changes ### 1. Add State Flow Overview (before Page Sections) After Reference Materials, add: ```markdown ## State Flow Overview {Brief description of states} ![Overview](Sketches/{page-number}-{page-name}-Overview.jpg) ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ STATE 1 │───▶│ STATE 2 │───▶│ STATE 3 │ └─────────────┘ └─────────────┘ └─────────────┘ | State | Name | Visual | Entry | Actions | |-------|------|--------|-------|---------| | **1** | {name} | {color/icon} | {trigger} | {actions} | | **2** | {name} | {color/icon} | {trigger} | {actions} | ``` --- ### 2. State 1 = Normal Page Specification Document State 1 using the standard page spec structure: - Page Sections - Objects with OBJECT IDs - Groups with nested objects This is the **baseline** that other states reference. --- ### 3. States 2+ = Differences Only After State 1, add for each additional state: ```markdown # State 2: {State Name} — Differences from State 1 ![State 2](Sketches/{page-number}-{page-name}-2-{state-name}.jpg) > **The Story:** {User experience narrative} | Property | Value | |----------|-------| | Purpose | {what this state does} | | Entry | {trigger from previous state} | | Previous | State 1 | | Next | State 3 / {options} | ### Changes from State 1 | OBJECT ID | Change | Details | |-----------|--------|---------| | `{existing-id}` | Modified | {what changed} | | `{existing-id}` | Hidden | {why hidden} | | `{new-id}` | Added | {new element} | ### State 2 Elements {Only document NEW objects not in State 1} #### {New Object} **OBJECT ID:** `{page-name}-{new-object}` | Property | Value | |----------|-------| | Component | [{Component}]({path}) | | Translation Key | `{key}` | | SE | "{text}" | | EN | "{text}" | ``` --- ## Key Principles 1. **State 1 is baseline** — fully documented 2. **States 2+ show only changes** — reuse OBJECT IDs 3. **Same IDs across states** — `booking-detail-header` stays the same, just describe what changed 4. **New elements get new IDs** — only in the state they first appear