Files
vinihcrosaandClaude Sonnet 4.6 788f7982f9 feat(web): implement scenario-creator feature
- ScenarioCreatorPage: full-screen layout (sidebar + Leaflet map)
- AreaMapView: Leaflet map with area polygon and draggable vessel markers
- VesselMarker: SVG icon rotated by heading
- ScenarioForm: scenario name input + area dropdown
- VesselList: add/remove vessels with heading editor
- SimulationControls: start/stop buttons + live simulation time display
- Sidebar: composition of all form components
- useScenarioStore: Zustand draft state (area, vessels, positions, headings)
- useAreas / useVessels: fetch hooks with loading/error/retry
- geo.ts: equirectangular lat/lng ↔ meters conversion + isInsidePolygon
- simulationStore: extend with loadScenario + scenarioVessels state
- simulation.worker: support loadScenario message with multi-vessel init
- 59 unit tests, coverage >80% on all metrics (stmts 94%, branches 84%)
- E2E Playwright smoke spec for scenario-creator flow
- gitignore: add apps/web/coverage/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 03:33:11 -03:00

39 lines
655 B
JSON

{
"name": "baia_de_guanabara",
"description": "Baía de Guanabara",
"coverage": {
"origin": {
"latitude": -22.831342,
"longitude": -43.17055
},
"type": "Polygon",
"coordinates": [
[
[
-43.4166607,
-23.3083375
],
[
-43.4166607,
-22.3
],
[
-42.666668,
-22.3
],
[
-42.666668,
-23.3083375
],
[
-43.4166607,
-23.3083375
]
]
]
},
"gravity": 9.81,
"magneticCorrection": -22,
"waterDensity": 1.025,
"airDensity": 0.001275
}