Commit Graph
67 Commits
Author SHA1 Message Date
Antoine Anceau 9055d4cb94 feat(python): expose submerged centroid in wind heeling data bindings 2026-06-22 22:00:57 +02:00
Antoine Anceau 188ac70408 docs: update READMEs 2026-05-21 22:25:15 +02:00
Antoine Anceau 0a573e7c4f style: fix linting issues 2026-05-21 22:20:54 +02:00
Antoine Anceau 0a2dd4ac3c docs: add csv import to readmes 2026-04-22 22:23:44 +02:00
Antoine Anceau e599a741f9 feat(loading): add csv import for loading conditions 2026-04-22 22:21:26 +02:00
Antoine Anceau 7927d9912c fix(rust): use total displacement in from_loading for proper hydrostatics reporting 2026-04-22 22:04:45 +02:00
Antoine Anceau 6f33fb309b docs: update stability and hydrostatics documentation for from_loading 2026-04-22 21:45:36 +02:00
Antoine Anceau 56caef7b31 test(python): add tests for from_loading calculators methods 2026-04-22 21:42:34 +02:00
Antoine Anceau ea1ea475b3 docs: add LoadingCondition documentation and update READMEs 2026-04-19 22:28:57 +02:00
Antoine Anceau 4100907dcf test(python): add resolve_items test 2026-04-19 22:28:51 +02:00
Antoine Anceau 5f0d1a36bb feat(python): expose item_displacement, item_cog and resolve_items bindings 2026-04-19 22:28:44 +02:00
Antoine Anceau d680b9d446 style(python): fix flake8 formatting in test_loading.py 2026-04-19 19:39:17 +02:00
Antoine Anceau f414844fe8 test(python): add tests for LoadingCondition 2026-04-19 18:34:40 +02:00
Antoine Anceau 1a442d7f4b feat(python): export LoadingCondition classes in __init__.py 2026-04-19 18:33:14 +02:00
Antoine Anceau 43dfc0dfe2 feat(python): add pyi type stubs for LoadingCondition 2026-04-19 18:32:43 +02:00
Antoine Anceau 9a98735542 test(python): add tests for pre-computed contact surface functionality 2026-03-01 15:25:36 +01:00
Antoine Anceau e4874e1e1c feat(python): expose ContactSurface API to Python bindings 2026-03-01 15:25:36 +01:00
Antoine Anceau 440480eb68 feat(python): expose DeckEdge side parameter and update API docstrings 2026-02-28 21:51:40 +01:00
Antoine Anceau 08a611bc98 fix: clean up unused mut/vars, dead CoB code, update GZ test for realism, and document thickness limitations 2026-02-26 22:42:28 +01:00
Antoine Anceau 813d71fe2c test(python): add integration tests for hull thickness functionality 2026-02-26 22:02:23 +01:00
Antoine Anceau 5df327d422 feat(python): expose hull thickness and Vessel.from_hulls in bindings 2026-02-26 22:02:23 +01:00
Antoine Anceau b3f26b0408 test(python): verify Tank permeability property in tests 2026-02-25 18:32:10 +01:00
Antoine Anceau 57adf9d625 feat(python): expose Tank permeability to Python bindings 2026-02-25 18:31:57 +01:00
Antoine Anceau 6c7b0e2ffc style: fix python lint errors 2026-02-25 07:16:41 +01:00
Antoine Anceau 8591c47d8a test: add IS Code 2008 unit tests and stability rhai scripts 2026-02-24 21:48:31 +01:00
Antoine Anceau 4643bc5602 docs: document fixed_trim and freeboard options in sphinx and python type stubs 2026-02-24 21:09:17 +01:00
Antoine Anceau fc67a9b3e0 feat: add deck edge freeboard property to StabilityPoint and Python bindings 2026-02-24 21:07:13 +01:00
Antoine Anceau d448c05fb0 chore: fix flake8 python linting errors 2026-02-24 18:00:58 +01:00
Antoine Anceau 211e081ed8 feat: implement fixed trim option for stability calculations 2026-02-24 17:52:38 +01:00
Antoine Anceau 14b7ae7764 fix(stability): use secant method for accurate free trim convergence 2026-02-24 17:40:02 +01:00
Antoine Anceau 1f00f11f4c feat: Implement FSM modes and refactor Tank for reference semantics
- Refactor Vessel to store tanks as Arc<RwLock<Tank>> (SharedTank) to support Python reference semantics.

- Update StabilityCalculator and HydrostaticsCalculator to handle SharedTank locking.

- Implement FSM modes (Actual/Maximum/Fixed) in GZ curve calculation for better accuracy at large angles.

- Update Python bindings and type stubs to expose new Tank capabilities and FSM control.
2026-02-13 13:54:14 +01:00
Antoine Anceau c3e840e9fc feat(python): expose vessel_cog/cog and update documentation 2026-02-13 09:13:14 +01:00
Antoine Anceau 388ed58b0e docs(api): update silhouette documentation and type stubs
- Add CSV/TXT support to geometry.rst

- Update Silhouette from_points signature in pyi

- Remove redundant from_csv method from docs and stubs
2026-02-11 17:27:53 +01:00
Antoine Anceau 5aaf9cf1a0 test(integrity): add comprehensive silhouette integrity test suite
- Tests for CSV/DXF loading, validation, and stability integration

- Verifies stale calculator fix

- Ensures robust error handling
2026-02-11 17:27:46 +01:00
Antoine Anceau 8926cac482 feat(bindings): expose vessel and tank displacement in Python
Updates PyHydrostaticState to reflect new Rust fields and removes hull_displacement.
2026-02-11 09:56:25 +01:00
Antoine Anceau c34273f2ab feat(api): integrate TankOptions into stability calculator 2026-02-11 09:43:24 +01:00
Antoine Anceau 962b94b97e feat(bindings): expose new hydrostatics API to Python
Updates Python bindings and type stubs for from_draft and from_displacement
2026-02-11 09:06:57 +01:00
Antoine Anceau 21a95fb4ee feat(python): add TankOptions support to from_displacement 2026-02-09 19:07:33 +01:00
Antoine Anceau 5ecd1fb91a docs: add FSM configuration methods to python type stubs and documentation 2026-02-09 18:41:38 +01:00
Antoine Anceau 4ad560ea24 fix: implement robust equilibrium solver with fallback and fix VCG handling logic 2026-02-07 10:55:08 +01:00
Antoine Anceau c02f31cd82 docs: fix Y axis convention in Tank.from_box docstring 2026-02-06 15:03:10 +01:00
Antoine Anceau 6c160eab8a style: fix python and rust lint errors 2026-02-04 18:27:46 +01:00
Antoine Anceau 3c60e4fe95 feat(visualization): add 3D visualization support for Appendages and Deck Edges
- Add get_mesh_data() and bounds property to PyAppendage
- Update visualization.py to render appendages (mesh, box, sphere, point) and deck edges
- Update __init__.py to export new classes
- Fix compilation issues in python.rs
2026-02-04 17:06:50 +01:00
Antoine Anceau 1480efba2c feat(python): update type stubs for hydrostatics enhancements
- Add Appendage, DeckEdge, DeckEdgeSide class definitions
- Update Vessel with new management methods
- Update HydrostaticState with sectional_areas and freeboard fields
- Update HydrostaticsCalculator.from_draft signature via optional num_stations parameter
2026-02-04 17:06:50 +01:00
Antoine Anceau 29b1795b40 docs: add comprehensive CriteriaContext method documentation to type stubs
Documents all Rhai-available methods on CriteriaContext in navaltoolbox.pyi for improved IDE support.
2026-02-04 12:23:40 +01:00
Antoine Anceau 78ba62f669 fix(scripting): repair remaining Rhai scripts and documentation examples
Wrapped all scripts in required 'check' function, fixed scope issues, resolved complexity limits in complete script, and added comprehensive tests.
2026-02-04 12:19:14 +01:00
Antoine Anceau f781dac828 fix: update Rhai method registration to use closures for proper dispatch
This resolves the 'Function not found' error by explicitly wrapping methods in closures, ensuring proper type handling for custom types in Rhai.
2026-02-04 12:04:15 +01:00
Antoine Anceau 6efb18bfba feat: optimize gz calculation and expose mesh simplification
- Implement Newton-Raphson solver for faster draft finding.
- Implement mesh simplification using meshopt for faster GZ computation.
- Expose simplify and to_simplified methods to Python.
- Fix Rust clippy warnings and update documentation.
2026-01-26 21:31:06 +01:00
Antoine Anceau 9520100922 fix: pass Python linter. 2026-01-26 18:56:41 +01:00
Antoine Anceau fff928deb5 feat: implement interactive 3D visualization using Plotly and update documentation 2026-01-26 15:53:23 +01:00