Rename app to radiantwave: embed and provision assets, drop proclamations

This commit is contained in:
NeilClack
2026-08-03 01:54:27 -05:00
parent 2e700212b9
commit 11b25227d7
74 changed files with 178 additions and 7566 deletions
+5 -5
View File
@@ -10,10 +10,10 @@ Dev shell via direnv (`use flake` in `.envrc`). Inside the nix dev shell:
```sh
# Build
go build -o bin/rhemawave rhemawave.go
go build -o bin/radiantwave radiantwave.go
# Run
./bin/rhemawave
./bin/radiantwave
# Nix build (CI uses this)
nix build -L
@@ -51,15 +51,15 @@ Both run `nix build -L` on a self-hosted runner (`neils-server-runner`).
- **Entry**: `rhemawave.go` → `internal/application.Run()`
- **State machine**: `internal/application/application.go` — FIRST_RUN → NEEDS_INTERNET → NEEDS_EMAIL_ADDRESS → NEEDS_LICENSE_KEY → DOWNLOADING_ASSETS → READY
- **Pages**: `internal/page/` — router pattern with page interface (`page.go`)
- **DB**: SQLite at `~/.local/share/rhemawave/database.sqlite`, managed by GORM in `internal/db/`
- **Assets**: `share/rhemawave/` (fonts, shaders, proclamations, tos) — copied into nix store at build time
- **DB**: SQLite at `~/.local/share/radiantwave/database.sqlite`, managed by GORM in `internal/db/`
- **Assets**: `share/radiantwave/` (fonts, shaders, proclamations, tos) — embedded into the binary and provisioned to the data dir at first run
- **Audio**: `.wav` files are gitignored, downloaded at runtime from `files.radiantwavetech.com`
- **Vendor**: Dependencies are vendored and committed. Use `go mod vendor` after adding deps.
## Common Pitfalls
- The `dev_scripts/reset.sh` referenced in the nix devShell hook does not exist in the repo.
- `share/rhemawave/audio/*.wav` is gitignored — do not commit audio assets.
- `share/radiantwave/audio/*.wav` is gitignored — do not commit audio assets.
- The `vendor/` directory is committed — always run `go mod vendor` after `go mod tidy`.
- CI runs on a self-hosted Forgejo runner, not GitHub-hosted runners. Workflows source nix via `/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh`.
- The `packaging/` directory contains a kiosk-specific updater script and is not part of the main build.