Files
open-wc/coordination/claims/M02-GMP-INPUT-PROFILE-335-001.md
T
sindoring 8776a6b362 gmp(M02): add 3.3.5 input profile
Work-Package: M02-GMP-INPUT-PROFILE-335-001
Agent: sindo-main-codex
Tests: player input/movement/capability/terrain/camera/presentation, coordinate/streaming, docs/coordination and renderer dry-run passed
Fidelity: build-12340 binding hashes and selected defaults pinned; TrinityCore turn rate and WoWee mouse routing are compatibility references with explicit limits
2026-07-15 00:17:34 +04:00

3.4 KiB

M02-GMP-INPUT-PROFILE-335-001 — WoW 3.3.5a input profile

Ownership

  • Target: M02
  • Program: GMP/QAR
  • Owner/Agent ID: sindo-main-codex
  • Branch: work/sindo-main-codex/m02-input-profile-335
  • Lease expires UTC: 2026-07-17
  • Integrator: M02 milestone integrator

Outcome

Add a profile-aware, remappable Blizzlike335 input path whose default movement bindings match the extracted build-12340 binding table while preserving the existing RenderSandbox controls. Add deterministic turn intent and keyboard turn consumption at the server-contract default turn rate.

Non-goals

  • Implement jump/fall/swim, network prediction or server reconciliation.
  • Claim complete movement or camera parity from binding and turn-rate evidence.
  • Persist user keybindings or build keybinding UI.
  • Commit proprietary extracted client files.
  • Mark M02 complete or edit its checklist/Evidence.

Paths

  • Exclusive: src/tests/fixtures/player_input_profile_335.json, this claim
  • Shared/hotspots: project.godot, src/domain/input/move_intent.gd, src/gameplay/input/player_input_actions.gd, src/gameplay/input/player_input_source.gd, src/gameplay/movement/local_player_movement_controller.gd, src/scenes/player/third_person_wow_controller.gd, src/scenes/player/third_person_camera_rig.gd, player/movement verifiers and regression scene, docs/modules/player-input.md, docs/modules/local-player-movement.md, docs/modules/third-person-camera.md
  • Generated/ignored: local .godot, native DLL and proprietary extracted corpus

Contracts and data

  • MoveIntent gains an immutable, clamped signed turn axis.
  • PlayerInputSource selects explicit sandbox or compatibility action sets at construction and routes compatibility A/D to strafe while camera rotation is held.
  • LocalPlayerMovementController converts turn intent into a deterministic yaw delta without reading engine input or owning a scene transform.
  • A sanitized JSON fixture records selected binding facts, source hashes and the pinned TrinityCore 3.3.5 server-contract commit.

Dependencies

  • Requires: merged sandbox capability package on master c3094c9.
  • Blocks: final M02 integration audit and milestone closeout.
  • External state: local extracted build-12340 binding files are evidence inputs only; committed tests are reproducible without them.

Verification

  • Fixture schema/provenance and selected default-binding regression.
  • Pure profile composition, A/D turn, Q/E strafe and camera-held A/D strafe cases.
  • Deterministic turn-rate and controller integration regression.
  • Existing M02 and repository gates remain required.

Documentation deliverables

  • Updated input/movement public API, profile matrix, data flow, sequence, failure/recovery, fidelity provenance and source maps.

Simplicity and naming

  • Important names: turn_axis, BLIZZLIKE_STRAFE_LEFT, TURN_LEFT.
  • Simplest approach: one profile selection at composition plus one scalar intent.
  • Rejected complexity: input-context framework, command bus and persisted binding store.
  • Unavoidable complexity: compatibility A/D behavior depends on camera-rotate state.
  • Measured optimization evidence: not applicable.

Status

  • State: active
  • Done: audited current mappings and captured build-12340/source-core provenance
  • Next: implement contracts, profile mapping, regression fixtures and docs
  • Blocked by: