# Interaction UI Flow — D-056, D-057, D-058 # Cursor states, entity interaction list, world radial menu. # All insert-styled: geometric, bloom, diegetic. vars: { color-screen: "#1a1e24" color-panel: "#2a3040" color-text: "#c8d0e0" color-nav: "#c8d8f0" color-stroke: "#333340" } direction: down cursor: Cursor States (D-056)\n(insert's own interface element · z-layer 7) { style.fill: ${color-screen} style.stroke: ${color-nav} style.font-color: ${color-text} default_cursor: Default\n4 thin inward ticks + bloom\nWhite-blue · barely visible { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } entity_hover: Entity Hover\nTicks expand outward (150ms)\nCorner brackets · D-033 relationship color\nVerb tooltip in insert styling { style.fill: ${color-panel} style.stroke: ${color-nav} style.font-color: ${color-text} } object_hover: Object Hover\nTicks rotate 45° → X-shape\nMuted grey (amber if flagged) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } weapon_aim: Weapon Aim\nTicks extend · center gap widens\nLines 1 to 2px · warm white\nNO bloom · D-033 tint on target { style.fill: ${color-panel} style.stroke: ${color-nav} style.font-color: ${color-text} } } cursor_rules: Cursor Rules { style.fill: ${color-screen} style.stroke: ${color-stroke} style.font-color: ${color-text} los_trigger: Changes on LOS · not just proximity { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } range: Interaction range ~2 sim tiles (= 1m) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } weapon_suppress: Weapon mode suppresses interaction prompts\n(unless Shift held) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } insert_off: Insert OFF: cursor shape still changes\n(body reacts) · verb labels hidden\n(insert doesn't process targets) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} style.stroke-dash: 4 } } entity_list: Entity Interaction List (D-057)\n(left-click on entity) { style.fill: ${color-screen} style.stroke: ${color-nav} style.font-color: ${color-text} format: Compact vertical list\nanchored to entity position\n2-4 options max { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } new_glow: New options: gradient glow background\n(knowledge change signal) { style.fill: ${color-panel} style.stroke: ${color-nav} style.font-color: ${color-text} } z_layer: Labels on z-layer 6\n(insert data — hidden if insert off) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } phase1: Phase 1 (simulation): max verb set\nfrom ObjectType component { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } phase2: Phase 2 (observer): filter by KG\narchetype variation · POI flip { style.fill: ${color-panel} style.stroke: ${color-nav} style.font-color: ${color-text} } } world_menu: World Radial Menu (D-058)\n(right-click) { style.fill: ${color-screen} style.stroke: ${color-nav} style.font-color: ${color-text} v01_spokes: v0.1: 2 spokes\nObserve (eye) · Insert (phone) { style.fill: ${color-panel} style.stroke: ${color-nav} style.font-color: ${color-text} style.bold: true } future_spokes: Future: up to 6 spokes\n+ Comms (signal) · Wait (clock) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} style.stroke-dash: 4 } input: Drag-release (power users)\nClick-click (newcomers) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } why_radial: Fixed categories → spatial memory\n(unlike entity verbs which vary by knowledge) { style.fill: ${color-panel} style.stroke: ${color-stroke} style.font-color: ${color-text} } } cursor.default_cursor -> cursor.entity_hover: "entity in LOS\n+ proximity" { style.stroke: ${color-nav} } cursor.default_cursor -> cursor.object_hover: "object in LOS\n+ proximity" { style.stroke: ${color-stroke} } cursor.entity_hover -> cursor.weapon_aim: "weapon selected" { style.stroke: ${color-nav} } cursor.weapon_aim -> cursor.entity_hover: "weapon deselected" { style.stroke: ${color-stroke} style.stroke-dash: 4 } cursor.entity_hover -> entity_list: "left-click\n→ shows interaction list" { style.stroke: ${color-nav} } cursor.default_cursor -> world_menu: "right-click\n→ opens radial" { style.stroke: ${color-nav} } cursor -> cursor_rules entity_list.phase1 -> entity_list.phase2: "filtered" { style.stroke: ${color-nav} }