Testing commit signing
This commit is contained in:
@@ -8,7 +8,7 @@ and manages WiFi/provisioning on a headless Linux kiosk.
|
|||||||
**Build:** CMake + Ninja (local) or Nix (flake)
|
**Build:** CMake + Ninja (local) or Nix (flake)
|
||||||
**Graphics:** SDL3
|
**Graphics:** SDL3
|
||||||
**Audio:** SDL3_mixer
|
**Audio:** SDL3_mixer
|
||||||
**Target:** Linux kiosk (Wayland/X11); developed on macOS
|
**Target:** Linux kiosk (Wayland); developed on macOS
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -257,7 +257,7 @@ code --install-extension vadimcn.vscode-lldb
|
|||||||
Tasks are preconfigured in `.vscode/tasks.json`:
|
Tasks are preconfigured in `.vscode/tasks.json`:
|
||||||
|
|
||||||
| Task | Shortcut | What it does |
|
| Task | Shortcut | What it does |
|
||||||
|------|----------|-------------|
|
| ------ | ---------- | ------------- |
|
||||||
| `build-debug` | `Cmd+Shift+B` | Configure + build debug |
|
| `build-debug` | `Cmd+Shift+B` | Configure + build debug |
|
||||||
| `build-release` | — | Configure + build release |
|
| `build-release` | — | Configure + build release |
|
||||||
| `build-tests` | — | Build test target only |
|
| `build-tests` | — | Build test target only |
|
||||||
@@ -327,7 +327,7 @@ TEST(my_new_test)
|
|||||||
RUN_ALL_TESTS()
|
RUN_ALL_TESTS()
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Add the file to the `tests` target in `CMakeLists.txt`:
|
1. Add the file to the `tests` target in `CMakeLists.txt`:
|
||||||
|
|
||||||
```cmake
|
```cmake
|
||||||
add_executable(tests
|
add_executable(tests
|
||||||
@@ -338,7 +338,7 @@ add_executable(tests
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Rebuild and run:
|
1. Rebuild and run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cmake --build build --target tests
|
cmake --build build --target tests
|
||||||
@@ -364,7 +364,7 @@ The app uses SDL3's callback system (`SDL_MAIN_USE_CALLBACKS`) instead of a
|
|||||||
manual event loop. SDL calls these functions for you:
|
manual event loop. SDL calls these functions for you:
|
||||||
|
|
||||||
| Callback | Runs | Purpose |
|
| Callback | Runs | Purpose |
|
||||||
|----------|------|---------|
|
| ---------- | ------ | --------- |
|
||||||
| `SDL_AppInit` | Once at startup | Init SDL, create window + renderer, push first page |
|
| `SDL_AppInit` | Once at startup | Init SDL, create window + renderer, push first page |
|
||||||
| `SDL_AppEvent` | Per event | Forward events to the active page |
|
| `SDL_AppEvent` | Per event | Forward events to the active page |
|
||||||
| `SDL_AppIterate` | Per frame | Update + render the active page |
|
| `SDL_AppIterate` | Per frame | Update + render the active page |
|
||||||
@@ -448,7 +448,7 @@ settings sub-pages (e.g., Settings → AudioOptions → DevicePicker).
|
|||||||
## Pages
|
## Pages
|
||||||
|
|
||||||
| Page | Purpose | Status |
|
| Page | Purpose | Status |
|
||||||
|------|---------|--------|
|
| ------ | --------- | -------- |
|
||||||
| Home | Logo, menu selection (Play, Settings) | Done |
|
| Home | Logo, menu selection (Play, Settings) | Done |
|
||||||
| Settings | Title-only settings stub | Done |
|
| Settings | Title-only settings stub | Done |
|
||||||
| ScrollerPage | Main screen: scrolling text with shaders + audio | — |
|
| ScrollerPage | Main screen: scrolling text with shaders + audio | — |
|
||||||
@@ -468,7 +468,7 @@ settings sub-pages (e.g., Settings → AudioOptions → DevicePicker).
|
|||||||
Global keybinds, active from any screen:
|
Global keybinds, active from any screen:
|
||||||
|
|
||||||
| Key | Action |
|
| Key | Action |
|
||||||
|-----|--------|
|
| ----- | -------- |
|
||||||
| TAB | Return to Home screen |
|
| TAB | Return to Home screen |
|
||||||
| UP Arrow | Move selection up (wraps) |
|
| UP Arrow | Move selection up (wraps) |
|
||||||
| DOWN Arrow | Move selection down (wraps) |
|
| DOWN Arrow | Move selection down (wraps) |
|
||||||
@@ -490,7 +490,7 @@ Decouples layout from display size.
|
|||||||
### Shaders
|
### Shaders
|
||||||
|
|
||||||
| Shader | Purpose |
|
| Shader | Purpose |
|
||||||
|--------|---------|
|
| -------- | --------- |
|
||||||
| scroller.vert/frag | Text with font texture; uniform `u_textColor` |
|
| scroller.vert/frag | Text with font texture; uniform `u_textColor` |
|
||||||
| text.vert/frag | Non-scrolling text elements |
|
| text.vert/frag | Non-scrolling text elements |
|
||||||
| solid_color.vert/frag | Flat color (backgrounds, UI) |
|
| solid_color.vert/frag | Flat color (backgrounds, UI) |
|
||||||
@@ -511,7 +511,7 @@ Decouples layout from display size.
|
|||||||
SQLite at `~/.local/share/radiantwave/database.sqlite` (WAL mode).
|
SQLite at `~/.local/share/radiantwave/database.sqlite` (WAL mode).
|
||||||
|
|
||||||
| Table | Purpose |
|
| Table | Purpose |
|
||||||
|-------|---------|
|
| ------- | --------- |
|
||||||
| app_config | Key-value store: license, email, audio device, volume |
|
| app_config | Key-value store: license, email, audio device, volume |
|
||||||
| logs | Application logs |
|
| logs | Application logs |
|
||||||
| proclamations | Synced proclamation text |
|
| proclamations | Synced proclamation text |
|
||||||
@@ -524,6 +524,7 @@ SQLite at `~/.local/share/radiantwave/database.sqlite` (WAL mode).
|
|||||||
## Network
|
## Network
|
||||||
|
|
||||||
D-Bus integration via sdbus-c++:
|
D-Bus integration via sdbus-c++:
|
||||||
|
|
||||||
- Async WiFi scan
|
- Async WiFi scan
|
||||||
- WPA/WPA2 connection
|
- WPA/WPA2 connection
|
||||||
- Captive portal detection
|
- Captive portal detection
|
||||||
@@ -531,7 +532,7 @@ D-Bus integration via sdbus-c++:
|
|||||||
### Remote APIs
|
### Remote APIs
|
||||||
|
|
||||||
| Endpoint | Purpose |
|
| Endpoint | Purpose |
|
||||||
|----------|---------|
|
| ---------- | --------- |
|
||||||
| `portal.radiantwavetech.com/api/v2/proclamations` | Sync proclamations |
|
| `portal.radiantwavetech.com/api/v2/proclamations` | Sync proclamations |
|
||||||
| `files.radiantwavetech.com/files/` | Audio file downloads |
|
| `files.radiantwavetech.com/files/` | Audio file downloads |
|
||||||
| HTTP API | License validation |
|
| HTTP API | License validation |
|
||||||
@@ -595,7 +596,7 @@ status to decide which page to show.
|
|||||||
## Rebuild Progress
|
## Rebuild Progress
|
||||||
|
|
||||||
| Component | Status |
|
| Component | Status |
|
||||||
|-----------|--------|
|
| ----------- | -------- |
|
||||||
| Entry / Event Loop | Done |
|
| Entry / Event Loop | Done |
|
||||||
| Window + Renderer | Done |
|
| Window + Renderer | Done |
|
||||||
| Page System | Done |
|
| Page System | Done |
|
||||||
|
|||||||
Reference in New Issue
Block a user