docs(site): publish game rules (RU) and migrate off game/rules.txt #85
Reference in New Issue
Block a user
Delete Branch "feature/site-rules-ru"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Stage 1 of publishing the game rules to the site: the Russian rules page
(authoritative) plus migration off
game/rules.txt. The English mirror is aseparate stage.
Two commits by design, so the editorial changes can be reviewed against a
verbatim baseline:
d3770e7— verbatim Markdown port ofgame/rules.txt→site/ru/rules.md(headings with stable anchors, GFM tables, LaTeX formulas; text
unchanged).
140ee8e— editorial pass + migration.Review the editorial diff cleanly with:
git diff --word-diff d3770e7 140ee8e -- site/ru/rules.mdEditorial (commit 2)
voice.
(---ссылка---)marker with the verified mechanic and a real cross-link;dropped the report TODO row.
#combat,#movement,#victory, …).(industry capped at population);
battle.go→ship_group.go);aboard (
route.go; this corrects the audit note that claimed otherwise).Migration
game/rules.txt; its content now lives, authoritative, insite/ru/rules.md. Russian is the source of truth for the rules (recordedin
site/README.mdandCLAUDE.md).tools, ui/PLAN.md links). Four historical prose mentions remain in
ui/PLAN.md, left intact per "don't rewrite the plan's history".Verification
pnpm -C site buildclean; LaTeX formulas + GFM tables render; all 11intra-page anchor links resolve.
pnpm -C ui/frontend check— 0 errors.pnpm buildis the gate. This PRalso touches
game/,ui/**andtools/, sogo-unit,integrationandui-testfire as well.The duplicate-then-disappearing formulas were a Vue hydration mismatch, not a CSS problem. markdown-it-mathjax3 v5 pulls the `mathxyjax3` fork, which emits each formula's CSS as an in-content `<style>` block scoped to a per-container `#mjx-<id>` that the static build never sets. The orphaned scoped CSS left the screen-reader MathML twin visible (the duplicate), and the in-`<main>` `<style>` elements break VitePress/Vue hydration ("Hydration completed but contains mismatches"), which strips the SVG glyph `<path>`s and blanks every formula after the page finishes loading. Downgrade to markdown-it-mathjax3 ^4.3.2 — the mathjax-full-based version VitePress officially supports. It uses `juice` to inline all CSS into the element `style` attributes (no in-content `<style>`), so hydration is clean (glyphs survive) and the MathML twin is hidden by its own inlined style (no duplicate). This also drops the earlier custom.css workaround, which only treated the symptom and itself blanked the formulas. Verified with a headless Chromium render of the built /ru/rules: all 10 formulas keep their glyph paths after hydration, no console mismatch, no duplicate copies.