Welcome to the central technical documentation for WizzMania. This is the single source of truth for all architectural decisions, feature specifications, and engineering standards. All code changes must be traceable to a document in this hub.
Last Updated: 2026-05-09 (Super App specification — Groups, VoIP, Social Arcade, CodeRabbit CI gate)
The blueprint of our system — how it's built and how it works today.
- Server & Protocol: Standalone Asio, binary framing, modular DAOs, and thread isolation.
- Client & Shell: Threading model, E2EE layer, Pro Shell architecture, Glassmorphism design system, and known technical debt.
- Security & E2EE: TLS 1.2, Signal Protocol (Double Ratchet), and Shield protection.
- IPC & Games Integration: Native shared-memory synchronization and game-core isolation.
Precise specifications for every user-facing capability — current and planned.
Delivered:
- Reactive Messaging: Typing indicators, presence sync, and the "Nudge."
- Multimedia Exchange: Voice messaging (PCM/zlib/Opus) and Avatar management.
Specified — Pending Implementation:
- Group Chats & Channels: E2EE groups (Sender Keys), role systems, channel broadcasting, and required protocol extensions.
- Audio & Video Calls: P2P VoIP (Opus/H.264), DTLS-SRTP encryption, ICE/STUN/TURN NAT traversal, and group call architecture.
- Social Arcade & Super App: Mini-App SDK, manifest registry, Games/Music/Video/Community integrations, and live activity tiles.
Guides for developers and administrators.
- Environment Setup: Build instructions for WSL, Windows, and macOS.
- Testing & Verification: Guide to the test verification suite and security coverage.
The authoritative vision and engineering rules governing the project.
- Innovation Roadmap & Standards: All five strategic Pillars (Shield, Neural, Ghost, Shell, Super App), engineering standards (RAII, SOLID, Clean Architecture), and project constraints.
To build the full project including all games and the test suite:
cmake -B build -S .
cmake --build build -j$(nproc)
ctest --test-dir build --output-on-failure