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