Skip to content

docs(project): create the online developer documentation - #9

Merged
AdryzR merged 8 commits into
mainfrom
feat/docs/mkdocs-site
Oct 18, 2026
Merged

AdryzR merged 8 commits into
mainfrom
feat/docs/mkdocs-site

Conversation

@AdryzR

@AdryzR AdryzR commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

📝 Description

Creates the online developer documentation with MkDocs (Material theme), published on GitHub Pages:

  • Home and Getting started: repositories, requirements, build, run, documentation preview.
  • Architecture: layers of the client, the server and Wrecks (Mermaid diagrams), decoupling rules, repositories and build.
  • Systems: Wrecks (ECS, events, networking), client (game loop, render module), server.
  • Network protocol: RFC-style draft v0, with the fixed 16-byte packet layout, EntityPosition byte by byte, receiver rules, planned packets and security.
  • Technical study: C++23, CMake and vcpkg, raylib, ECS, UDP and our sockets compared with the alternatives, data structures, storage, security, documentation tool.
  • Accessibility and Contributing.
  • CI: strict build on every pull request, publication on every push to main.

Every statement was checked against the code (for example sizeof(Packet) == 16), and features that do not exist yet are marked as planned.

🎯 Why is this change needed?

The documentation is graded at both defenses: the subject requires a developer documentation, a protocol documentation and a technical and comparative study, available online with navigation and search.

Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
Closes #6
Closes #7
Closes #8

🧩 Impacted component

  • server (Multiplayer & game logic)
  • client (Graphical game)
  • ECS (Wrecks engine)
  • ci (GitHub Actions / Hooks)
  • docs (Documentation)

🧪 How to test manually?

  1. python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
  2. .venv/bin/mkdocs build --strict (no warning) or .venv/bin/mkdocs serve
  3. Open http://127.0.0.1:8000 and browse the pages, the search bar and the diagrams

✅ Author checklist

  • I ran the build locally (cmake --build build) and there is no compilation error. (mkdocs build --strict for this repository)
  • I checked that the pre-commit hooks (clang-format) passed. (no C++ code)
  • The PR title follows the team conventions (e.g. feat(server): ...).
  • I updated the relevant documentation if needed.

Markdown pages with navigation, search, light and dark themes and
Mermaid diagrams. Adds the home page and the getting started guide.
Client / authoritative server model, the layers of both programs on
top of Wrecks, the decoupling rules, and how the repositories and the
build fit together.
What each component does today, how its code is organized, and what
is planned next.
RFC-style description of the binary UDP protocol: transport, data
types, fixed 16-byte packet layout, EntityPosition, receiver rules,
planned packets and security considerations.
Why C++23, CMake and vcpkg, raylib, an ECS, UDP and our own sockets,
compared with the alternatives, plus data structures, storage, security
and the documentation tool.
What exists and what is planned for motor, visual, hearing and
cognitive disabilities, in the game and in the documentation.
Workflow, commit conventions, code style and how to update this
documentation, with a link to the full CONTRIBUTING.md.
Builds the site in strict mode on every pull request, and publishes it
on GitHub Pages on every push to main.
@AdryzR
AdryzR merged commit 38db3c6 into main Oct 18, 2026
2 checks passed
@AdryzR
AdryzR deleted the feat/docs/mkdocs-site branch October 18, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment