5 Commits
Author SHA1 Message Date
vinihcrosaandClaude Sonnet 4.6 6ba2755448 fix(web): downgrade react-leaflet to v4 for React 18 compatibility
react-leaflet v5 requires React 19 — caused "render2 is not a function"
runtime crash and white screen. Downgraded to v4.2.1.

fix(docker): separate DB volume mount from API dist directory

Volume was mounted at /app/apps/api, overwriting compiled dist/ with stale
files from previous container runs. Changed mount to /app/data for DB only.

fix(api): copy area.json and vessel1.json into API Docker image

Seed files could not resolve JSON data at container startup.
Added COPY in Dockerfile and corrected path depth from 5 to 4 levels.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 03:44:16 -03:00
vinihcrosaandClaude Sonnet 4.6 74d5bd13fa fix: wire Emscripten WASM build into Docker web image
- build-wasm.sh: replace invalid cmake -f flag with staging dir approach
  (cmake requires entry file to be named CMakeLists.txt)
- Emscripten.cmake: fix EXPORTED_RUNTIME_METHODS quoting (drop single quotes)
- CMakeLists.wasm.txt: add missing configure_file for version.h and
  include(CompilerWarnings.cmake) needed by libs/physics
- docker/web/Dockerfile: add emscripten/emsdk multi-stage build; WASM
  artifacts baked into image so no volume mount required
- docker-compose.yml: remove wasm bind-mount from web service

docker compose up --build now builds C++ (native + WASM) and starts
api + web in a single command.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 00:39:27 -03:00
vinihcrosaandClaude Sonnet 4.6 eedaeef3ce chore: add Docker Compose setup for core, api, and web services
- Remove SUNDIALS from C++ Dockerfile (replaced by RK45 in T03)
- Fix CMake source path to core/ after T05 reorganization
- Add docker/api/Dockerfile: multi-stage Node 20 build for Fastify API
- Add docker/web/Dockerfile: Vite dev server with WASM volume mount
- Rewrite docker-compose.yml: core (C++ ci build), api, web services
- Add server.host=0.0.0.0 to vite.config.ts for Docker networking

Run everything: docker compose up --build

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 00:18:11 -03:00
vinihcrosa 529535ba53 Add scenario examples and tests for body types and initial conditions
- Introduced a new body type "simple_box" with defined mass and added mass matrices in `simple_box.json`.
- Created scenarios for bodies with initial velocity and two bodies at rest in `body_with_initial_velocity.json` and `two_bodies_at_rest.json`, respectively.
- Implemented tests in `TestScenarioReader.cpp` to validate parsing of scenarios, body types, and simulation behavior.
- Ensured that bodies at rest remain at rest after simulation steps and that initial conditions are correctly applied.
2026-06-24 03:11:16 -03:00
vinihcrosaandClaude Sonnet 4.6 2c56c8b1c5 build: initial repository setup (M0)
CMake project structure with ymir_core, ymir_naval, and ymir_adapters
static library targets. Catch2 and nlohmann/json via FetchContent;
SUNDIALS and CGAL probed as optional system deps (required from M1/M2).
Smoke tests pass on macOS ARM64. Docker multi-stage image for Linux
x86_64. GitHub Actions CI matrix: Linux x86_64, macOS ARM64, Windows
x86_64. Code quality tooling: .clang-format, .clang-tidy, Doxyfile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 22:59:35 -03:00