- 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>
39 lines
655 B
JSON
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
|
|
} |