{ "name": "v01-dialogue-speaking", "shapes": { "bg": { "type": "Rectangle", "left": 0, "top": 0, "width": 1140, "height": 760, "fillColor": "#1a1e24", "strokeColor": "#1a1e24" }, "bg-game-label": { "type": "Text", "left": 380, "top": 280, "text": "GAME VIEW — NPC ON SCREEN ABOVE DIALOGUE\n(no portrait — NPC is visible in world)", "fontColor": "#333340", "fontSize": 14 }, "monologue-area": { "type": "Rectangle", "left": 200, "top": 530, "width": 740, "height": 48, "fillColor": "#00000000", "strokeColor": "#00000000" }, "monologue-text": { "type": "Text", "left": 200, "top": 530, "width": 740, "text": "She's choosing her words carefully. Something's off.", "fontColor": "#d0d4e0", "fontSize": 13, "wordWrap": true }, "monologue-annotation": { "type": "Text", "left": 200, "top": 552, "text": "Monologue — floats ABOVE dialogue box — z-layer 7", "fontColor": "#3a4455", "fontSize": 10 }, "dialogue-panel": { "type": "Rectangle", "left": 0, "top": 608, "width": 1140, "height": 152, "fillColor": "#0d1018", "strokeColor": "#333340" }, "dialogue-panel-accent": { "type": "Rectangle", "left": 0, "top": 608, "width": 1140, "height": 2, "fillColor": "#333340", "strokeColor": "#333340" }, "speaker-name": { "type": "Text", "left": 20, "top": 616, "text": "SERA VENN", "fontColor": "#c8d0e0", "fontSize": 14 }, "speaker-arrow": { "type": "Text", "left": 108, "top": 616, "text": "→ you", "fontColor": "#556677", "fontSize": 14 }, "dialogue-text": { "type": "Text", "left": 20, "top": 638, "width": 1100, "text": "Heard there was a manifest audit this morning. Torek's been in a mood all shift. Nothing unusual, really — end of quarter, you know how it gets.", "fontColor": "#e8eaf0", "fontSize": 16, "wordWrap": true }, "separator": { "type": "Line", "left": 20, "top": 698, "width": 1100, "height": 0, "strokeColor": "#2a3040" }, "response-area-label": { "type": "Text", "left": 20, "top": 704, "text": "▸ [1] Ask about the audit", "fontColor": "#c0c8d8", "fontSize": 14 }, "response-annotation": { "type": "Text", "left": 20, "top": 724, "text": "Response options appear here (max 3 visible, locked options invisible per D-062)", "fontColor": "#3a4455", "fontSize": 10 }, "walk-away-hint": { "type": "Text", "left": 20, "top": 738, "text": "[WASD] Walk away — fades over 300ms, no close button", "fontColor": "#3a4455", "fontSize": 10 }, "panel-width-annotation": { "type": "Text", "left": 0, "top": 596, "text": "← max-width 1200px per D-076, centered — full width at 1140px test canvas →", "fontColor": "#3a4455", "fontSize": 10 }, "minimap-stub": { "type": "Rectangle", "left": 880, "top": 16, "width": 244, "height": 244, "fillColor": "#12141a", "strokeColor": "#333340", "corners": [4, 4, 4, 4] }, "minimap-stub-label": { "type": "Text", "left": 900, "top": 124, "text": "minimap", "fontColor": "#333340", "fontSize": 12 }, "annotation-title": { "type": "Text", "left": 16, "top": 16, "text": "v0.1 DIALOGUE — NPC SPEAKING", "fontColor": "#556677", "fontSize": 11 }, "annotation-notes": { "type": "Text", "left": 16, "top": 30, "width": 840, "text": "Bottom 20% of screen. No portrait. NPC is on screen above. Log shows Speaker → Target. Monologue floats above box.", "fontColor": "#3a4455", "fontSize": 10, "wordWrap": true } } }