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>
112 lines
3.2 KiB
Plaintext
112 lines
3.2 KiB
Plaintext
# Movement Stance State Machine — D-053, D-054, D-055
|
|
# Toggle ladder: Sprint / Walk / Careful / Crouch / (Prone future).
|
|
# Server-authoritative tile-based movement. Client Tween interpolation.
|
|
|
|
vars: {
|
|
color-bg: "#2a3040"
|
|
color-stroke: "#333340"
|
|
color-text: "#c8d0e0"
|
|
color-accent: "#c8d8f0"
|
|
color-dim: "#1a1e24"
|
|
}
|
|
|
|
sprint: Sprint {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
style.bold: true
|
|
}
|
|
|
|
sprint_detail: 1 tile/tick · loud footsteps\nMonologue 40% (urgent only)\nInteraction buffer CLEARED (D-055)\nSprint double-take: anomaly monologue fires retroactively {
|
|
shape: page
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
walk: Walk\n(default stance) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
walk_detail: 1 tile/2 ticks · normal footsteps\nMonologue 100%\nDefault — MovementProfile component {
|
|
shape: page
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
careful: Careful {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
careful_detail: 1 tile/3 ticks · quiet footsteps\nMonologue 150% + tell notice bonus\nListeningFocus accumulates (stationary_ticks)\nEavesdrop bonus: ListeningFocus +2-3dB (D-071) {
|
|
shape: page
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
crouch: Crouch {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
crouch_detail: 1 tile/4 ticks · very quiet\nUses Prone/Seated occupancy layer (D-054) {
|
|
shape: page
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
prone: Prone\n(future) {
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
style.stroke-dash: 5
|
|
}
|
|
|
|
tile_occupancy: TilePresence (D-054)\nSame-tile occupancy layers {
|
|
shape: package
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
|
|
standing: Standing {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
prone_layer: Prone / Seated {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
fixture_layer: Fixture {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
}
|
|
|
|
sprint -> sprint_detail
|
|
walk -> walk_detail
|
|
careful -> careful_detail
|
|
crouch -> crouch_detail
|
|
|
|
sprint -> walk: "toggle" { style.stroke: ${color-accent} }
|
|
walk -> sprint: "toggle" { style.stroke: ${color-accent} }
|
|
walk -> careful: "toggle" { style.stroke: ${color-stroke} }
|
|
careful -> walk: "toggle" { style.stroke: ${color-stroke} }
|
|
careful -> crouch: "toggle" { style.stroke: ${color-stroke} }
|
|
crouch -> careful: "toggle" { style.stroke: ${color-stroke} }
|
|
crouch -> prone: "toggle (future)" { style.stroke: ${color-stroke}; style.stroke-dash: 4 }
|
|
prone -> crouch: "toggle-out only" { style.stroke: ${color-stroke}; style.stroke-dash: 4 }
|
|
|
|
crouch -> tile_occupancy.prone_layer: "occupies" { style.stroke: ${color-stroke} }
|
|
walk -> tile_occupancy.standing: "occupies" { style.stroke: ${color-stroke} }
|