-
09498c024f
docs: add MIT license and repository description (#4)
main

vinihcrosaandClaude Opus 5
2026-08-30 17:32:52 -03:00
-
d344710305
test(physics): golden validation suite + C++ tests in turbo monorepo (#3)

vinihcrosaandClaude Opus 4.8
2026-07-06 08:11:23 -03:00
-
2b760d4ed8
Merge pull request #2 from vinihcrosa/server-side-physics-plan
vinihcrosa
2026-07-05 12:39:02 -03:00
-
-
50333cd3f7
ci: drop native Windows job from the C++ matrix

vinihcrosaandClaude Opus 4.8
2026-07-05 12:33:44 -03:00
-
dae5f1df0f
ci: fix Node version and native C++ source dir

vinihcrosaandClaude Opus 4.8
2026-07-05 12:29:27 -03:00
-
07b9538a2c
fix(web): clear persisted sim_id on reset (review round 2)

vinihcrosaandClaude Opus 4.8
2026-07-05 12:23:38 -03:00
-
0e736320d3
chore(conductor): add setup + run scripts for the monorepo

vinihcrosaandClaude Opus 4.8
2026-07-05 12:20:10 -03:00
-
892a7253c0
docs(review): round 2 — reset() does not clear persisted sim_id (1 medium)

vinihcrosaandClaude Opus 4.8
2026-07-05 12:20:10 -03:00
-
d86116e33f
fix(sim): address review round 1 (6 issues)

vinihcrosaandClaude Opus 4.8
2026-07-05 12:05:05 -03:00
-
cd29ee66b2
test(api): replace fixed delays with vi.waitFor to de-flake under load

vinihcrosaandClaude Opus 4.8
2026-07-03 20:46:59 -03:00
-
ff2e3db3bb
refactor(web): remove client-side physics engine

vinihcrosaandClaude Opus 4.8
2026-07-03 20:43:38 -03:00
-
dfbcd28762
feat(web): rewire simulationStore to the server via SimulationSocket

vinihcrosaandClaude Opus 4.8
2026-07-03 20:41:05 -03:00
-
0e04b3c51a
feat(web): add SimulationSocket WebSocket client

vinihcrosaandClaude Opus 4.8
2026-07-03 20:34:06 -03:00
-
4a1727e13e
feat(api): WebSocket /ws gateway + message router

vinihcrosaandClaude Opus 4.8
2026-07-03 20:31:36 -03:00
-
99b202317d
feat(api): add SimulationManager (sim lifecycle, sim_id, TTL, fan-out)

vinihcrosaandClaude Opus 4.8
2026-07-03 20:27:18 -03:00
-
123180b406
ci(build): compile WASM engine before JS/TS tests

vinihcrosaandClaude Opus 4.8
2026-07-03 20:23:44 -03:00
-
18aeb0a525
feat(api): add SimulationRunner + worker_thread bridge

vinihcrosaandClaude Opus 4.8
2026-07-03 20:21:59 -03:00
-
8a21003c37
feat(wasm): add @ymir/wasm package with Node-target Emscripten build

vinihcrosaandClaude Opus 4.8
2026-07-03 19:57:53 -03:00
-
c54a73080c
feat(types): add ClientMessage/ServerMessage network protocol DTOs

vinihcrosaandClaude Opus 4.8
2026-07-03 19:53:51 -03:00
-
994fbc999c
docs(planning): server-side simulation PRD, techspec, ADRs, tasks

vinihcrosaandClaude Opus 4.8
2026-07-03 19:53:51 -03:00
-
-
c97d431b4d
Merge branch 'claude/nostalgic-thompson-49408c' — animated Gerstner ocean shader

vinihcrosaandClaude Opus 4.8
2026-06-30 12:42:39 -03:00
-
-
213619b92c
chore(graphify): refresh knowledge graph after ocean shader change

vinihcrosaandClaude Opus 4.8
2026-06-30 12:42:19 -03:00
-
a5a76f9a47
feat(web): animated Gerstner ocean shader synced to the sim sea state

vinihcrosaandClaude Opus 4.8
2026-06-30 12:42:18 -03:00
-
83d53b3f68
Merge branch 'claude/magical-swartz-6c3650' — 3D vessel heading fix
vinihcrosa
2026-06-30 12:06:12 -03:00
-
-
-
-
62454962dc
fix(web): correct 3D vessel heading — bow leads instead of moving sideways

vinihcrosaandClaude Opus 4.8
2026-06-30 12:06:12 -03:00
-
3c41918d9c
Merge branch 'claude/magical-swartz-6c3650' — wave forces (roll/pitch/heave)
vinihcrosa
2026-06-30 02:07:30 -03:00
-
-
8345156a58
feat(physics): wire wave forces into the WASM sim — vessels now roll/pitch/heave

vinihcrosaandClaude Opus 4.8
2026-06-30 02:05:05 -03:00
-
fdadc5420a
feat(web): render vessel roll/pitch/heave in 3D (not just yaw)

vinihcrosaandClaude Opus 4.8
2026-06-30 01:51:37 -03:00
-
8800261a9c
Merge branch 'claude/magical-swartz-6c3650' — 3D vessel waterline fix
vinihcrosa
2026-06-30 01:39:38 -03:00
-
-
d2911b24a4
fix(web): seat 3D vessel at its waterline (mesh origin is the keel)

vinihcrosaandClaude Opus 4.8
2026-06-30 01:39:37 -03:00
-
c1f02e56eb
Merge branch 'claude/magical-swartz-6c3650' — 3D vessel on sea + axis fix
vinihcrosa
2026-06-30 01:30:36 -03:00
-
-
368d251cdf
fix(web): seat 3D vessel on the sea — drop bogus area recentre, real sea plane

vinihcrosaandClaude Opus 4.8
2026-06-30 01:30:35 -03:00
-
2b87e21479
Merge branch 'claude/magical-swartz-6c3650' — free-fly 3D camera
vinihcrosa
2026-06-30 01:19:41 -03:00
-
-
3a9bc13464
feat(web): free-fly camera in the 3D view (Livre)

vinihcrosaandClaude Opus 4.8
2026-06-30 01:19:41 -03:00
-
81732f40ff
Merge branch 'claude/magical-swartz-6c3650' — onboard camera selector
vinihcrosa
2026-06-30 01:04:51 -03:00
-
-
c1d8d10b09
feat(web): onboard camera selector for the 3D view

vinihcrosaandClaude Opus 4.8
2026-06-30 01:04:50 -03:00
-
937025fc5f
Merge branch 'claude/magical-swartz-6c3650' — 3D scenario view (v1)
vinihcrosa
2026-06-30 00:57:25 -03:00
-
-
e3ea1fe8fa
feat(web): 3D scenario view with Mapa/3D toggle (v1)

vinihcrosaandClaude Opus 4.8
2026-06-30 00:57:25 -03:00
-
45506efede
build(web): 3D asset pipeline + three/r3f deps (foundation for 3D view)

vinihcrosaandClaude Opus 4.8
2026-06-30 00:46:58 -03:00
-
a20fbbb3c1
Merge branch 'claude/magical-swartz-6c3650' — clickable vessels during simulation
vinihcrosa
2026-06-30 00:24:22 -03:00
-
-
8191490b37
fix(web): keep vessel markers clickable during a running simulation

vinihcrosaandClaude Opus 4.8
2026-06-30 00:24:21 -03:00
-
6c30ac6bf9
Merge branch 'claude/magical-swartz-6c3650' — map-first UI polish
vinihcrosa
2026-06-30 00:13:19 -03:00
-
-
1e668dc19e
feat(web): map-first UI polish — top-bar add, editable name, cleaner rows, collapsible panel

vinihcrosaandClaude Opus 4.8
2026-06-30 00:13:10 -03:00
-
f1fc29760a
Merge branch 'claude/magical-swartz-6c3650' — Play/Pause simulation control
vinihcrosa
2026-06-30 00:05:49 -03:00
-
-
9663458d46
feat(web): Play/Pause simulation control that resumes from the frozen state

vinihcrosaandClaude Opus 4.8
2026-06-30 00:05:00 -03:00
-
41ffea26e1
Merge branch 'claude/magical-swartz-6c3650' — fix api/docker build
vinihcrosa
2026-06-29 23:25:32 -03:00
-
-
6049f3af31
fix(api): type scenario initialConditions backfill explicitly (fixes docker build)

vinihcrosaandClaude Opus 4.8
2026-06-29 23:25:18 -03:00
-
505e4b5a3c
Merge branch 'claude/magical-swartz-6c3650' — scenario list/info, env tabs, DTO ids
vinihcrosa
2026-06-29 23:07:56 -03:00
-
-
0c275dfb90
feat(web): scenario info panel toggled from the top bar

vinihcrosaandClaude Opus 4.8
2026-06-29 22:24:25 -03:00
-
f108e81957
feat(web): tabbed environment panel (Correnteza-vento-ondas / Visibilidade)

vinihcrosaandClaude Opus 4.8
2026-06-29 22:21:39 -03:00
-
e2b50cde87
feat(web): scenario list screen + routing (Meus cenários)

vinihcrosaandClaude Opus 4.8
2026-06-29 22:19:20 -03:00
-
0e28474b6b
fix(types): carry both instanceId and vessel type id in scenario initial conditions

vinihcrosaandClaude Opus 4.8
2026-06-29 22:14:02 -03:00
-
55d080e0a3
Merge origin/main (PR #1 wave forces) into local main
vinihcrosa
2026-06-29 22:04:09 -03:00
-
-
61e8d50a22
Merge branch 'claude/blissful-meninsky-8a6659' — wave forces (D2)
vinihcrosa
2026-06-29 21:59:31 -03:00
-
-
ebac8cafe8
Merge branch 'claude/magical-swartz-6c3650' — instructor UI + dynamics D5/D1
vinihcrosa
2026-06-29 21:59:31 -03:00
-
-
-
-
78a0627ed0
Merge pull request #1 from vinihcrosa/claude/blissful-meninsky-8a6659
vinihcrosa
2026-06-29 21:41:30 -03:00
-
-
-
46e210437e
chore(graphify): rebuild graph after thrust/rudder merge

vinihcrosaandClaude Opus 4.8
2026-06-29 21:39:41 -03:00
-
7847c01879
feat(world): match wave forces to MATLAB Dynamics reference

vinihcrosaandClaude Opus 4.8
2026-06-29 21:37:54 -03:00
-
2bb65da487
Merge branch 'claude/blissful-bardeen-867d5a'
vinihcrosa
2026-06-29 21:37:41 -03:00
-
-
d7de0e51ff
feat(physics): match propeller thrust to MATLAB dynamics (D3)

vinihcrosaandClaude Opus 4.8
2026-06-29 21:36:55 -03:00
-
-
-
90006bc246
feat(physics): match rudder forces to MATLAB Dynamics (table + slipstream)

vinihcrosaandClaude Opus 4.8
2026-06-29 21:34:14 -03:00
-
-
494d488648
test(web): stop AppShell test leaking unhandled fetch errors

vinihcrosaandClaude Opus 4.8
2026-06-29 21:16:24 -03:00
-
684a056e66
docs(dynamics): record physics-parity progress (D5, D1-partial, D2/D3/D4 status)

vinihcrosaandClaude Opus 4.8
2026-06-29 21:13:55 -03:00
-
7a5092e44e
fix(physics): add current-force roll/pitch arm moments (Obokata)

vinihcrosaandClaude Opus 4.8
2026-06-29 21:13:31 -03:00
-
186b24cad5
fix(physics): match MATLAB squat Cs table for Cb>1

vinihcrosaandClaude Opus 4.8
2026-06-29 21:04:35 -03:00
-
7a9280f1fc
refactor(web): restyle scenario sidebar onto design tokens

vinihcrosaandClaude Opus 4.8
2026-06-29 21:02:00 -03:00
-
160dda8fb3
refactor(web): rebuild VesselPanel on design-system primitives

vinihcrosaandClaude Opus 4.8
2026-06-29 20:59:31 -03:00
-
c9e7fe1275
feat(web): instructor UI foundation — design system, app shell, real-physics surfacing

vinihcrosaandClaude Opus 4.8
2026-06-29 20:55:49 -03:00
-
-
1ee6f45387
chore: ignore SQLite DB, coverage output, and ad-hoc data files

vinihcrosaandClaude Sonnet 4.6
2026-06-29 11:30:23 -03:00
-
53ce4a91f6
feat: environmental conditions, vessel instanceId, panel stability, regression tests

vinihcrosaandClaude Sonnet 4.6
2026-06-29 11:29:16 -03:00
-
e41bd4b960
Refactor code structure for improved readability and maintainability
vinihcrosa
2026-06-28 08:41:21 -03:00
-
ef68a17e9b
refactor(physics): settle body at floating equilibrium in NavalDomain::initialize

vinihcrosaandClaude Sonnet 4.6
2026-06-28 08:36:04 -03:00
-
86b56fc57e
fix(physics): initialize vessel heave at floating equilibrium

vinihcrosaandClaude Sonnet 4.6
2026-06-28 08:30:51 -03:00
-
4f9afc1132
fix(physics): correct Obokata yaw-rate sign and integrator limits

vinihcrosaandClaude Sonnet 4.6
2026-06-28 08:22:48 -03:00
-
99e6f40fb6
fix(wasm): recreate YmirSimulation on loadScenario instead of reset+addVessel

vinihcrosaandClaude Sonnet 4.6
2026-06-28 04:01:59 -03:00
-
0cc5370b1a
fix(web): change COEP from require-corp to credentialless

vinihcrosaandClaude Sonnet 4.6
2026-06-28 03:54:43 -03:00
-
ff7cf13d17
chore(web): upgrade React 18 → 19 and react-leaflet 4 → 5

vinihcrosaandClaude Sonnet 4.6
2026-06-28 03:48:15 -03:00
-
6ba2755448
fix(web): downgrade react-leaflet to v4 for React 18 compatibility

vinihcrosaandClaude Sonnet 4.6
2026-06-28 03:44:16 -03:00
-
788f7982f9
feat(web): implement scenario-creator feature

vinihcrosaandClaude Sonnet 4.6
2026-06-28 03:33:11 -03:00
-
8539f1a46a
test(web): configure Playwright E2E + Vitest unit testing with 80% coverage rule

vinihcrosaandClaude Sonnet 4.6
2026-06-28 03:22:21 -03:00
-
078af243c8
docs(specs): add scenario-creator spec and design

vinihcrosaandClaude Sonnet 4.6
2026-06-28 03:10:16 -03:00
-
a9061fbf2b
feat(persistence): add simulation area model with geographic boundary

vinihcrosaandClaude Sonnet 4.6
2026-06-28 02:52:23 -03:00
-
5d937ca07b
feat(persistence): store full vessel physics config from vessel1.json

vinihcrosaandClaude Sonnet 4.6
2026-06-28 02:06:56 -03:00
-
9f4639a701
docs: migrate .prds into docs/planning/prds/

vinihcrosaandClaude Sonnet 4.6
2026-06-28 01:21:03 -03:00
-
d495d7b58d
docs: consolidate all documentation under docs/ and enforce single-source rule

vinihcrosaandClaude Sonnet 4.6
2026-06-28 01:09:54 -03:00
-
fac64ff5f9
docs: add backend and frontend coding conventions

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:57:00 -03:00
-
3630507efa
chore: remove build artifacts from tracking, update .gitignore

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:41:24 -03:00
-
74d5bd13fa
fix: wire Emscripten WASM build into Docker web image

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:39:27 -03:00
-
260db7369e
feat(web): add JS mock simulation as WASM fallback

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:31:46 -03:00
-
af9a058fbf
fix: resolve gcc-12 build errors in Docker Linux target

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:29:32 -03:00
-
eedaeef3ce
chore: add Docker Compose setup for core, api, and web services

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:18:11 -03:00
-
6295d540a4
feat: migrate to monorepo with WASM core, Fastify API, and React frontend

vinihcrosaandClaude Sonnet 4.6
2026-06-28 00:08:28 -03:00
-
9a16d8d0cf
feat(simulation): add NavalDomain::serializeStateJson for WASM state export

vinihcrosaandClaude Sonnet 4.6
2026-06-27 23:51:56 -03:00
-
6196f0ca0e
refactor(physics): replace CVODE with RK45, remove SUNDIALS dependency

vinihcrosaandClaude Sonnet 4.6
2026-06-27 23:49:11 -03:00
-
1474b0cf4c
feat(physics): add Dormand-Prince RK45 adaptive integrator

vinihcrosaandClaude Sonnet 4.6
2026-06-27 23:46:43 -03:00
-
f84c914397
refactor(physics): extract IIntegrator pure interface to own header

vinihcrosaandClaude Sonnet 4.6
2026-06-27 23:42:37 -03:00
-
408738d3f0
Add unit and integration tests for naval simulation and world components
vinihcrosa
2026-06-27 20:17:12 -03:00
-
ae3365ce6a
chore: ignore build-* and build_* directories

vinihcrosaandClaude Sonnet 4.6
2026-06-25 03:39:51 -03:00
-
b11c4be0c5
refactor: reorganize repo into libs/ domain structure

vinihcrosaandClaude Sonnet 4.6
2026-06-25 03:34:51 -03:00
-
529535ba53
Add scenario examples and tests for body types and initial conditions
vinihcrosa
2026-06-24 03:11:16 -03:00