Files
settled-reach/docs/diagrams/state/movement-stances.d2
T
jpmschweitzerandClaude Opus 4.6 1e556ccca2 docs(diagrams): add decision diagrams across all domains
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>
2026-02-23 11:57:07 +01:00

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} }