Skip to main content

Code structure

Reference documentation for the Lasers-Enigma codebase — read these before non-trivial work.

Architecture and conventions​

  • Architecture — layered call stack, package map, key classes, command tree, optional dependencies.
  • Area lifecycle — the two independent axes (loaded/unloaded vs activated/deactivated), AreaTask orchestration, and the cleanup discipline every new per-area singleton must follow.
  • Component registration — five-file checklist when adding a new puzzle component, base classes and interface list.
  • Database migrations — update_X_Y_Z_to_A_B_C() pattern in SQLDatabase, schema-version row, SQLite + MySQL portability.

Cross-cutting concerns​

  • Translations — language-file structure, 25-language completeness rule, mid-feature staging workflow.
  • Sound effects — SoundLauncher API and naming conventions.

Operations​

  • CI/CD — pipeline jobs, SFTP upload, tag/branch routing.
  • Wiki update matrix — which wiki page to update for which type of code change.

â„šī¸ AI assistants working on this repository read the canonical rule source at AGENTS.md, which references the pages above for deep-dives.