contracts/movement/transitions.yaml

id: movement.transitions.v1
version: 1.0
status: draft
feature: DPS-001A_MovementFoundation

states:
  - idle
  - walk
  - run
  - jump
  - fall
  - land
  - dash

priority:
  - dash
  - jump
  - fall
  - land
  - run
  - walk
  - idle

transitions:
  - from: idle
    to: walk
    when: horizontal_input_active
  - from: walk
    to: idle
    when: horizontal_input_inactive
  - from: walk
    to: run
    when: velocity_reaches_run_threshold
  - from: run
    to: walk
    when: velocity_below_run_threshold
  - from: [idle, walk, run]
    to: jump
    when: jump_pressed_and_grounded_or_coyote_valid
  - from: jump
    to: fall
    when: vertical_velocity_positive
  - from: fall
    to: land
    when: grounded
  - from: land
    to: [idle, walk, run]
    when: landing_recovery_complete
  - from: [idle, walk, run, jump, fall]
    to: dash
    when: dash_pressed_and_available
  - from: dash
    to: fall
    when: dash_finished_and_airborne
  - from: dash
    to: run
    when: dash_finished_grounded_and_horizontal_input_active
  - from: dash
    to: idle
    when: dash_finished_grounded_and_no_horizontal_input

disallowed:
  - from: dash
    to: dash
    reason: dash_chaining_out_of_scope
  - from: fall
    to: jump
    reason: double_jump_out_of_scope

Open raw source