Files
core2026/docs/architecture/overview.md
T

1.9 KiB

Architecture Overview

This repository contains both the active legacy PHP game and an in-progress TypeScript rewrite. The legacy engine remains the source of truth while the monorepo plan is prepared alongside it.

Project Naming

  • Official name: 삼국지 모의전투 HiDCHe
  • Common nicknames: 삼모, 삼모전, 힏체섭
  • Short forms in code/docs: sammo, hidche
  • TypeScript rewrite working name: sammo-ts

Layers

  • Legacy runtime: PHP entry points under legacy/ and legacy/hwe/
  • Legacy engine core: domain logic under legacy/hwe/sammo/
  • Legacy frontend: Vue/TypeScript under legacy/hwe/ts/
  • Rewrite (planned): pnpm workspace monorepo under packages/ and app/

Legacy Data Migration Policy

  • Data under legacy/ is migration-only and not used by the rewrite at runtime.
  • After DB migration completes, legacy data is no longer required.

Data and State

  • PHP engine owns authoritative gameplay state today
  • Scenario and unit pack data are loaded from legacy/hwe/scenario/
  • Deterministic RNG is required for gameplay outcomes

Legacy Docs

  • Legacy entities and DB schema overview: docs/architecture/legacy-entities.md
  • Legacy engine map: docs/architecture/legacy-engine.md
  • Postgres schema proposal (rewrite): docs/architecture/postgres-schema.md

Cross-Cutting Policies

  • No ad-hoc randomness for gameplay; use deterministic RNG
  • Keep domain logic independent of endpoints or UI
  • Prefer clear Korean comments in core gameplay logic for maintainers

Runtime Processing (Outline)

This document links to detailed runtime behavior in docs/architecture/runtime.md. Use that document for turn daemon scheduling, API request handling, and persistence sequencing.

The turn daemon lifecycle and control contract are documented in docs/architecture/turn-daemon-lifecycle.md.

Documentation TODOs

  • Pending follow-ups: docs/architecture/todo.md.