Architecture
The component boundaries, file contracts, and network contracts behind Windrose Schematics.
Component contracts
Mod
Small, real-time, in-game. It captures, pastes, lifts the native build projection clamp to 6000 uu, writes JSON and JSONL, reads keybind overrides, and stays defensive around UE4SS reflection.
Companion
Rich desktop UX. It reads the shared folder, renders the overlay, owns account pairing, deploys bundled mod updates, and calls web APIs when the user asks.
Website
Community and account surface. It owns browse, profiles, schematic image galleries, public schematic APIs, billing, admin, and paired-device auth.
Shared package
TypeScript contracts and cost data so the companion and website agree on schematic shape and material totals.
Data flow
Windrose game
-> UE4SS Lua mod
-> %APPDATA%\WindroseSchematics
-> Tauri companion
-> windrose.build over HTTPS when the user pairs, browses, publishes, or installsno sockets between mod and companion
The mod and companion communicate through JSON and JSONL files. That keeps the in-game surface small, debuggable, and easy to inspect after a session.
Current release state
| Surface | Current note |
|---|---|
| Mod | v0.6.4 ships the native build projection reach patch at 6000 uu. F7 debug freecam remains parked. |
| Companion | Release drill must prove updater, stale deployed mod detection, Update mod, and modded launch. |
| Website | Invite-gated v0.6 test window with profiles, browse, billing, publish APIs, and schematic galleries. |
| Release | The previous signed artifact is not being published. v0.6.4 continues the public unsigned companion path with signed updater metadata. |
Defensive code that is intentional
- Lua pcall wrappers around UE4SS reflection calls and UFunction invocations.
- Companion path canonicalization and trust-root checks on IPC commands that accept paths.
- Companion read_capped stat checks before allocating file contents.
defensive slop gets removed
Extra guards, pcall wrappers around non-reflection Lua, any casts, TODOs, debug logs, and duplicate utilities should not be added just in case.