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
Antoine Anceau
60aeced43e
feat: implement from_drafts method and expose draft at AP/FP/MP.
2026-01-26 10:21:32 +01:00
Antoine Anceau
c423335804
docs: update documentation, examples and fix plotting mypy error
2026-01-26 09:23:13 +01:00
Antoine Anceau
ef5df70a2d
feat: add name parameter to DownfloodingOpening.from_file
2026-01-26 09:22:46 +01:00