Project Reference

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

text
Windrose game
  -> UE4SS Lua mod
  -> %APPDATA%\WindroseSchematics
  -> Tauri companion
  -> windrose.build over HTTPS when the user pairs, browses, publishes, or installs

no 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

SurfaceCurrent note
Modv0.6.4 ships the native build projection reach patch at 6000 uu. F7 debug freecam remains parked.
CompanionRelease drill must prove updater, stale deployed mod detection, Update mod, and modded launch.
WebsiteInvite-gated v0.6 test window with profiles, browse, billing, publish APIs, and schematic galleries.
ReleaseThe 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.

related docs