Files

5.2 KiB
Raw Permalink Blame History

卫戍协议:盟约 — Web Remake · Architecture & Contracts (DESIGN.md)

This is the single source of truth for every implementer. Research lives in docs/research/ (start with 00-INDEX.md; where a research file's body and its "Addendum (critic)" disagree, the addendum wins). When this document and research disagree, this document wins; when this document is silent, follow research; when both are silent, choose the simplest faithful behaviour and write it down in the module's header comment.

Language: player-facing text is Simplified Chinese by default, with an English switch since 0.2.0 (§25.2, docs/I18N.md: UI strings through t('中文'), game texts from the official Chinese data or the official EN client's). Code, comments and identifiers are English.

Versions: the first public release was 0.1.0 (2026-10-02, the state of §0–§20.15); the releases after it add the player feedback and GitHub reports — 0.1.1 §21, 0.1.2 §22, 0.1.3 §23, 0.1.4 §24 — and 0.2.0 (2026-10-07; CHANGELOG.md) the maintainability refactor, two languages, 补位, 自选编队 and their fidelity work — §25 — 0.2.1 (2026-10-07) the 联防 battlefield restored, full potential and the GitHub fixes after it — §26 — and 0.2.2 (2026-10-09) per-operator 潜能 / 练度, Japanese voices, the statistics page, 失衡, whole-frame attack timing and the GitHub fixes after 0.2.1 — §27. 0.2.3 (2026-10-10; package.json, shared/constants.js APP_VERSION) 克莱门莎 and new modules, community fixes, text size, per-operator voices, installation, the opening reroll and local match recovery — §28. 0.2.4 (2026-10-11) the official shared card pool and item stock, Raid revival and #475, and the community fixes after 0.2.3 — §29. 0.2.5 (2026-10-12) fixed gifts and already displayed operator offers under the shared stock, random boss pairing, the official battlefield scenes on the 3D board (optional local art: the full bundle includes them when extracted, a missing scene keeps the metal board; §15, §30.21), the official damage-number option, the 驭械术师 / hit-tile / bot ports and the community fixes after 0.2.4 — §30; its rules supersede the corresponding 0.2.4 ones. 0.2.6 (2026-10-13) the host-bandwidth layers 0 and 1 (no BGM download while the music is silent, WebSocket compression, content-hashed asset URLs with long caching, brotli, WebP guide pages), the official scene light gains, the impostor bounds, the deploy-animation replays, the optional ammo count and the community fixes after 0.2.5 — §31, the state described by this document; its rules supersede the corresponding 0.2.5 ones. The labels v1 / v2 / v2.1–v2.5.2 in §0, §14–§20 and in the BALANCE / SIM comparisons name the design generations and the private playtest builds that came before it; they are kept as history.


Where each section lives

Section numbers are global and never change: code, tests and the other documents cite them as "DESIGN §N". The current rules by area are in docs/design/, the per-release revisions (the evidence behind each rule) in docs/history/. When a revision changes a rule, the rule in docs/design/ is rewritten too (the revision lists the normative lines it rewrote).

sections file content
§0, §1, §2, §11, §12 design/overview.md Scope, stack, repository layout, quality bar
§3, §4 design/geometry-time.md Coordinates, fields, geometry and time
§5, §7 design/engine.md The battle engine (server/sim) and content modules
§6, §16 design/match.md The match and meta engine (server/match), operator loadouts
§8, §14 design/network.md The network protocol and client-side combat
§9, §10, §13, §15 design/client.md Rendering, UI, local-client art, the 3D board
§17 history/v2.2-playtest3.md User playtest #3 (v2.2)
§18 history/v2.3-playtest4.md User playtest #4 (v2.3)
§19 history/v2.4-playtest5.md User playtest #5 (v2.4)
§20 history/v2.5-playtest6.md User playtest #6 (v2.5) and its follow-ups, up to 0.1.0
§21 history/0.1.1.md 0.1.1 — player feedback after 0.1.0
§22 history/0.1.2.md 0.1.2 — GitHub issues after 0.1.1
§23 history/0.1.3.md 0.1.3 — community reports after 0.1.2
§24 history/0.1.4.md 0.1.4 — community reports after 0.1.3
§25 history/0.2.0.md 0.2.0
§26 history/0.2.1.md 0.2.1 — after the 0.2.0 release
§27 history/0.2.2.md 0.2.2 — after the 0.2.1 release (2026-10-09)
§28 history/0.2.3.md 0.2.3 — after the 0.2.2 release (2026-10-10)
§29 history/0.2.4.md 0.2.4 — after the 0.2.3 release (2026-10-11)
§30 history/0.2.5.md 0.2.5 — after the 0.2.4 release (2026-10-12)
§31 history/0.2.6.md 0.2.6 — after the 0.2.5 release (2026-10-13)