mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-10-04 21:33:58 +08:00
16 lines
3.4 KiB
Markdown
16 lines
3.4 KiB
Markdown
# Private RoadScore control boundary
|
|
|
|
`prototype/settings.py` holds host session settings: enabled, style, generate/stored mode, mute, overlay, output device and profile. `settings.json` records the effective session configuration. The current musical worker still reads `runtime.json`; a future Galaxy adapter should validate and atomically update that same musical configuration rather than add a second set of musical defaults. Style switching must also stage matching conditioning/source material and readiness before committing it.
|
|
|
|
Product output is audible by default. Explicit `--muted`, headless operation, `ROADSCORE_FORCE_MUTE=1`, or the private `.session-muted` marker suppresses output. The session marker overrides direct calls to all three audio endpoints. **This overnight session leaves the marker in place on both hosts.** Remove it only when the human resumes audible testing. Bluetooth is not selected, connected, or configured by RoadScore. A future output adapter may own a user-selected device; it must preserve the host's sample clock, mute policy and output ownership.
|
|
|
|
The optional overlay runs inside the existing normal UI through a private wrapper. Readiness uses the existing native GPU loading/green assets and existing font; the small RoadScore card is custom. It does not change the driving model's GPU state or impersonate driving-model readiness. The status schema has no dependency on historical routes, so the same consumer can display future live readiness.
|
|
|
|
Generated sources and decisions are private. Demo score archives remain under the route parent, so deleting that parent removes its scores. Future real driving should rotate lossless audio chunks and decision metadata under each native realdata segment, with shared session identity and original monotonic timestamps. Segment pruning should remove that segment's audio naturally. Do not maintain a second undeletable global audio library; do not feed recorded future events into the music engine.
|
|
|
|
Experimental form playback is controlled by `song_form_experimental` in runtime.json. It is not an assertion that human musical acceptance has passed. Generated candidate banks provide low-latency section choices; fresh local GPU continuations replenish material at phrase boundaries. The predictor cannot wait for a ~19-second GPU job when an event is only ~5 seconds away. Metadata distinguishes requested section, scheduled landing, actual sample landing and which fresh generation job was heard. Beat and bar detection remain estimated, not musically verified.
|
|
|
|
For an explicitly prepared bench demo, `./roadscore-worker start` owns a resident normal worker, `./roadscore-worker status` reports readiness, and `./roadscore-worker stop` restores its CPU state. Normal `./onroad ROUTE --roadscore` reuses that worker. This is opt-in: ordinary launches still clean up workers they start. The service refuses to take over an externally owned worker and stops on real onroad state. It is not a solution for concurrent live driving inference. Overnight cleanup stops all workers; no resident service is intentionally left running.
|
|
|
|
Archive selection preserves the most complete demo score: a short regression no longer replaces a full-route recording as the default stored replay. `last_generated.json` identifies the newest experiment; `latest.json` identifies the preferred coverage. Every session remains available under the route-owned archive. Reaching EOF after starting mid-route is not marked as a complete route recording.
|