Commit Graph

7 Commits

Author SHA1 Message Date
Steve Biedermann 0d025b824e ci(github): package client and server for Windows, Linux and macOS
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 20:21:07 +02:00
Steve Biedermann 0c3d6c57e1 ci: package Windows builds with cargo xtask pack
The Windows workflows now ship the dedicated server alongside the client
and publish the archive produced by xtask instead of packaging by hand.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 20:08:45 +02:00
Steve Biedermann 0b258a9361 build: add cargo xtask pack for distributable archives
`cargo xtask pack [--target T] [--format zip|tar.gz] [--out-dir DIR] [--debug]`
builds the client and dedicated server and packs them with assets,
README and changelog into dist/station-<version>-<target>.(zip|tar.gz).
Windows targets default to zip, others to tar.gz.

Packaging uses a new `dist` profile (release + strip), which shrinks the
binaries considerably without changing regular release builds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 20:08:45 +02:00
Steve Biedermann a3c55bc8b0 docs: add project notes for agents
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 19:44:13 +02:00
Steve Biedermann 680bb0e034 test: run tests with cargo-nextest in CI
Add a nextest config with a ci profile (JUnit report) and test
workflows for GitHub and Gitea that run clippy and nextest.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 19:44:13 +02:00
Steve Biedermann 9ffca14d8d ci: build the Windows client on GitHub and Gitea
GitHub builds natively on windows-latest; Gitea cross-compiles with MinGW
on a Linux runner. Both upload the client with its assets and publish a
zip for v* tags.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 19:44:13 +02:00
Steve Biedermann a43949be14 feat: add persistent-world station game
Bevy ECS workspace with three crates:
- game_core: rsn data definitions, components, Tiled map loader, protocol
- game_server: authoritative simulation, Rune scripting, persistence,
  dedicated server binary
- game_client: rendering, UI and input; embeds the server for
  singleplayer and hosting

Items, recipes, buildings and skills are defined in assets/data, behavior
in Rune scripts under assets/scripts, and maps are made in Tiled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 19:44:13 +02:00