16 d2 diagrams covering architecture (IPC bridge, system tiers, testability, audio bus), data flow (perception, dialogue, eavesdrop pipelines), entity (knowledge graph, NPC generation, dialogue tags), state (simulation tiers, movement stances, knowledge confidence), and UI (HUD layout, interaction flow, fog layers). PNG output for universal viewer compatibility. Removes test SVG from font debugging. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
154 lines
4.9 KiB
Plaintext
154 lines
4.9 KiB
Plaintext
# 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} }
|