neon-sprawl/docs/decomposition/modules/E1_M1_InputAndMovementRunti...

2.7 KiB

E1.M1 — InputAndMovementRuntime

Summary

Field Value
Module ID E1.M1
Epic Epic 1 — Core Player Runtime
Stage target Prototype
Status Planned (see dependency register)

Purpose

Authority: Client vs server — server owns PositionState; client sends move intent and may predict; reconcile to server.

Provides the foundational client/runtime path for character locomotion and world interaction: click-to-move or path-follow baseline, interaction trigger range checks, and the authoritative reconciliation surface for where the player is in the world. Other epics attach gameplay (gathering, combat, quests) on top of stable position and movement contracts.

Responsibilities

  • Character locomotion and movement command handling.
  • Interaction trigger range checks using a single source of truth for distance.
  • Emitting or consuming movement-related state suitable for server reconciliation in multiplayer tests.

Key contracts

Contract Role
MoveCommand Client or input layer requests movement; server (or sim) validates and applies.
PositionState Current authoritative (or reconciled) position for the avatar.
InteractionRequest Optional path for interaction attempts; pairs with range checks.

Contract readiness is tracked in the module dependency register.

Module dependencies

  • None — root of the player runtime stack.

Dependents (by design)

  • E1.M2IsometricCameraController: stable player anchor / position.
  • E1.M3InteractionAndTargetingLayer: interaction and targeting on movement/position.
  • Downstream epics — Gathering (E3.M1), zone transitions (E4.M1), and others consume position implicitly via higher layers.

See Epic 1 Slice 1 — Movement and position sync: server-authoritative or client-predicted baseline with MoveCommand / PositionState reconciliation; interaction range single source of truth; telemetry hooks such as session_start, lightweight position samples, and interaction_attempt failures.

Risks and telemetry

  • Desync between client prediction and server authority: mitigate with one reconciliation ruleset and log desync via E9.M1 — TelemetryEventSchema when schema exists.

Source anchors