You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Live-view features (GPS readout, leg advance, ownship marker, live reroute #115, and soon AIS #25) can only be genuinely exercised while sailing. Development, review, demoing, and regression-hunting all need a way to "sail" from a desk.
Idea
A simulator that feeds synthetic GpsFix sequences into the existing geolocation service layer (the watchPosition wrapper in services/geolocation.ts is the natural seam — the UI above it must not know the difference):
Track playback: follow an existing planned route at a configurable speed and time-scale (e.g. 50×), with plausible COG/SOG jitter.
Constraints (decide at spec time — needs a spec addendum + owner approval before implementation)
Must not ship as a user-facing production feature: gate it dev-only (import.meta.env.DEV) or UAT-only via the __SC_UAT__ fold-exact pattern (UAT deployment needs a visible in-app environment indicator #107) — prod bundle byte-identity rules apply if UAT-gated.
The app is a passage-planning aid; a simulator must not blur that framing in user-facing copy.
Offline-first invariants untouched (the simulator is local by nature).
Relation
The companion Live-view test-coverage issue handles what Playwright's geolocation emulation can already do; this simulator is the richer harness for manual/exploratory testing and future e2e scenarios. Related: #104, #113, #115, #25.
Problem
Live-view features (GPS readout, leg advance, ownship marker, live reroute #115, and soon AIS #25) can only be genuinely exercised while sailing. Development, review, demoing, and regression-hunting all need a way to "sail" from a desk.
Idea
A simulator that feeds synthetic
GpsFixsequences into the existing geolocation service layer (thewatchPositionwrapper inservices/geolocation.tsis the natural seam — the UI above it must not know the difference):Constraints (decide at spec time — needs a spec addendum + owner approval before implementation)
import.meta.env.DEV) or UAT-only via the__SC_UAT__fold-exact pattern (UAT deployment needs a visible in-app environment indicator #107) — prod bundle byte-identity rules apply if UAT-gated.Relation
The companion Live-view test-coverage issue handles what Playwright's geolocation emulation can already do; this simulator is the richer harness for manual/exploratory testing and future e2e scenarios. Related: #104, #113, #115, #25.
🤖 Generated with Claude Code
https://claude.ai/code/session_01UXvHWVP7iALk2rScg3CtkT