mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
b43ad207c1
multiplayer-next.md was a 1662-line mix of standing architecture spec and task-completion tracking, most of which was dense per-task DONE evidence for finished Phases 0-6. Split it: - MULTIPLAYER_SPEC.md (new): the locked architecture decisions, wire format, server-side input handling, prediction/reconciliation, latency/frame-rate budget, and match lifecycle state machine - standing design reference, not task-tracked. - multiplayer-next.md (trimmed 1662 -> ~370 lines): only outstanding work remains - §0 status, §7 Phase 7/8 task tables condensed to "what's left" per task, §8-11 reference material (refactoring notes, gotchas, testing, flagged items). Phases 0-6 collapsed to a pointer at git history instead of ~500 lines of DONE evidence. Also: - Repointed every `multiplayer-next.md §N` code comment (N 1-6) across Game/scripts, Game/tools and Game/tests to MULTIPLAYER_SPEC.md, since those sections moved. Task-number references (`task N.N`, §7-11) correctly still point at multiplayer-next.md. - Updated CLAUDE.md's doc index and docs/TECH_STACK.md's spec-section citations to match. - TODO.md: added a "what's left to actually finish multiplayer (human-actionable)" checklist pulled from multiplayer-next.md §0 and docs/MATCHMAKING.md - things that need a person (hardware, a design decision, a Steam App ID, hands on a controller), not more agent code.
15 lines
751 B
GDScript
15 lines
751 B
GDScript
class_name SimConstants
|
|
|
|
# Single source of truth for the physics tick rate. Every script-side timing
|
|
# constant derived from "60 Hz" (Ship._tick_scaled's decay reference,
|
|
# reaction_ticks' export range, TrainingMode.TICKS_PER_SIM_SECOND) reads this
|
|
# instead of restating the literal, so changing it changes every derived
|
|
# constant coherently — see MULTIPLAYER_SPEC.md §5.6 on why a future 120 Hz
|
|
# simulation needs to be a config change plus a retrain, not a protocol
|
|
# rewrite hunting down bare 60s.
|
|
#
|
|
# NOT wired to project.godot's physics/common/physics_ticks_per_second — an
|
|
# engine setting, not a script constant, so it must still be changed by hand
|
|
# to match (currently unset, engine default 60 — see task 0.18).
|
|
const TICK_HZ := 60
|