Antoine Anceau
fec53f4012
refactor(rules): update criteria with <= operator where applicable
CI / Lint Rust (push) Canceled after 0s
CI / Lint Python (push) Canceled after 0s
CI / Test Rust (push) Canceled after 0s
CI / Build wheels (macos-latest) (push) Canceled after 0s
CI / Build wheels (ubuntu-latest) (push) Canceled after 0s
CI / Build wheels (windows-latest) (push) Canceled after 0s
CI / Test Python 3.10 (push) Canceled after 0s
CI / Test Python 3.11 (push) Canceled after 0s
CI / Test Python 3.12 (push) Canceled after 0s
CI / Test Python 3.13 (push) Canceled after 0s
CI / Test Python 3.9 (push) Canceled after 0s
CI / CI Success (push) Canceled after 0s
Documentation / Build documentation (push) Canceled after 0s
2026-07-07 06:56:58 +02:00
Antoine Anceau
11879f2992
chore(release): bump version to 0.9.3
2026-07-06 22:40:43 +02:00
Antoine Anceau
3340e30966
Merge branch 'feature/moulded-breadth' into main
2026-07-06 22:32:47 +02:00
Antoine Anceau
47791837a1
docs(api): add moulded_breadth property to CompleteStabilityResult
2026-07-06 22:32:40 +02:00
Antoine Anceau
09b9ee976a
fix(rules): use true moulded breadth instead of BWL in IS Code 2008
2026-07-06 22:32:36 +02:00
Antoine Anceau
2f036b4516
feat(bindings): expose moulded breadth to Rhai engine and Python bindings
2026-07-06 22:32:32 +02:00
Antoine Anceau
a1bb4d83ad
feat(stability): compute and store moulded breadth at amidships in CompleteStabilityResult
2026-07-06 22:32:27 +02:00
Antoine Anceau
b4a9b78af3
feat(hydrostatics): add calculate_section_breadth_range helper
2026-07-06 22:24:34 +02:00
Antoine Anceau
9436245cea
Merge branch 'feature/criterion-comparison-operators'
2026-07-06 21:58:03 +02:00
Antoine Anceau
d2364da8be
style: fix rustfmt issues
2026-07-06 21:53:28 +02:00
Antoine Anceau
2ea672c010
docs: Update scripting documentation with criterion comparison operators
2026-07-06 21:52:57 +02:00
Antoine Anceau
bb082ea5b5
test: Add tests for criterion with operators
2026-07-06 21:46:05 +02:00
Antoine Anceau
df7fbd3894
feat: Add explicit comparison operator support to criterion
2026-07-06 21:46:05 +02:00
Antoine Anceau
8d1375da3c
chore(release): bump version to 0.9.2
2026-06-29 22:02:29 +02:00
Antoine Anceau
a5cd1bd065
fix(viz): align Python visualization transforms with Rust core
2026-06-29 21:56:25 +02:00
Antoine Anceau
d88b86f689
Merge branch 'fix/submerged-centroid-windage'
2026-06-29 08:19:20 +02:00
Antoine Anceau
aba982fe62
style(test): fix python lint errors
2026-06-29 08:18:08 +02:00
Antoine Anceau
5e73eb443b
test(integration): add test for windage-only silhouette handling
2026-06-29 08:18:08 +02:00
Antoine Anceau
7619c01bd5
fix(stability): fallback to T/2 for submerged centroid with windage-only silhouettes
2026-06-29 08:16:26 +02:00
Antoine Anceau
ac59403bd8
fix(silhouette): correctly compute polygon centroid using signed area
2026-06-28 22:33:48 +02:00
Antoine Anceau
fca8c9ac42
ci: bump GitHub Actions to support Node.js 24
2026-06-22 22:29:54 +02:00
Antoine Anceau
1cb548ed6a
chore(release): bump version to 0.9.1
2026-06-22 22:25:33 +02:00
Antoine Anceau
176afe5b78
Merge branch 'feature/wind-lever-arm'
2026-06-22 22:13:04 +02:00
Antoine Anceau
3525f7320d
docs: fix pygments csv lexer warning in loading doc
2026-06-22 22:12:18 +02:00
Antoine Anceau
dae37fe6f0
style: fix linting and formatting issues
2026-06-22 22:09:59 +02:00
Antoine Anceau
6c8c79428a
docs: update stability and API documentation for exact wind lever arm
2026-06-22 22:04:29 +02:00
Antoine Anceau
9055d4cb94
feat(python): expose submerged centroid in wind heeling data bindings
2026-06-22 22:00:57 +02:00
Antoine Anceau
856319339e
feat(core): implement exact wind lever arm calculation using submerged and emerged centroids
2026-06-22 22:00:46 +02:00
Antoine Anceau
12637a8e86
chore(release): bump version to 0.9.0
2026-05-22 07:59:03 +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
1bb4ca374e
Merge branch 'feature/loading-condition'
2026-04-23 06:18:28 +02:00
Antoine Anceau
d95f327cd4
docs: add downloadable csv template for loading conditions
2026-04-22 22:25:43 +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
45d0993fb7
feat(python): add from_loading bindings to calculators
2026-04-22 21:35:09 +02:00
Antoine Anceau
089880a10d
feat(core): add from_loading convenience methods to calculators
2026-04-22 21:32:48 +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
eaaf934a2a
feat(loading): add item_displacement, item_cog and resolve_items
2026-04-19 22:28:37 +02:00
Antoine Anceau
d680b9d446
style(python): fix flake8 formatting in test_loading.py
2026-04-19 19:39:17 +02:00
Antoine Anceau
dc81cb4a83
fix(rust): fix clippy derivable_impls and reorder pub use imports
2026-04-19 19:13:17 +02:00
Antoine Anceau
ce1c6653da
style(rust): run cargo fmt on python bindings
2026-04-19 18:38:15 +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
718363a67a
feat(python): add PyO3 bindings for LoadingCondition
2026-04-19 18:31:02 +02:00
Antoine Anceau
df18e430d7
feat(rust): add LoadingCondition data structures
2026-04-19 18:13:36 +02:00
Antoine Anceau
ff4cd50561
chore(release): bump version to 0.8.0
2026-03-06 13:16:51 +01:00
Antoine Anceau
4381bd0050
Merge branch 'feature/precompute-contact-surfaces'
2026-03-02 21:52:32 +01:00
Antoine Anceau
14f892bc02
docs: add API reference for ContactSurface pre-computation
2026-03-02 21:50:47 +01: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
dbc41d8f27
feat(hydrostatics): utilize pre-computed contact surfaces for fast lookup
2026-03-01 15:25:35 +01:00
Antoine Anceau
276bac8685
feat(core): implement ContactSurface pre-computation with adaptive threshold
2026-03-01 15:25:23 +01:00
Antoine Anceau
7bd7c258d3
Merge branch 'fix/conventions-and-downflooding'
2026-02-28 21:54:43 +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
8344f02fe2
docs(hydrostatics): explicitly document trim, heel and COG sign conventions
2026-02-28 21:51:40 +01:00
Antoine Anceau
5d7b8690ea
feat(deckedge): add optional side parameter to from_file
2026-02-28 21:51:40 +01:00
Antoine Anceau
74f370f562
test(downflooding): correct starboard Y coordinate sign in test
2026-02-28 21:47:10 +01:00
Antoine Anceau
edc4e9bfae
Merge branch 'feature/hull-thickness-hydrostatics' into main
2026-02-26 22:46:21 +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
36bd2ffb92
docs: document hull thickness properties and multihull creation
2026-02-26 22:02:23 +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
8fe185e585
feat(core): implement hull plate thickness and contact area in hydrostatics
2026-02-26 22:02:23 +01:00
Antoine Anceau
dbc336c793
Merge branch 'feature/tank-permeability'
2026-02-25 22:20:39 +01:00
Antoine Anceau
d4fe7e1f04
feat(tanks): add 98% and 99% fill levels to max FSM calculation
2026-02-25 19:06:45 +01:00
Antoine Anceau
af010b012e
docs: document tank permeability parameter
2026-02-25 18:52:11 +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
f6c67d24d9
feat(tanks): add permeability parameter to Tank struct and calculations
2026-02-25 18:31:42 +01:00
Antoine Anceau
faf450d3f5
chore(release): bump version to 0.7.0
2026-02-25 07:31:41 +01:00
Antoine Anceau
6c7b0e2ffc
style: fix python lint errors
2026-02-25 07:16:41 +01:00
Antoine Anceau
3a5604a524
Merge branch 'feature/is-code-stability-tests' into main
2026-02-24 22:42:10 +01:00
Antoine Anceau
b30ba1d200
feat(rules): add HSC Code 2000 monohull intact stability script
2026-02-24 22:39:31 +01:00
Antoine Anceau
13166dbb73
feat(rules): add Division 222 French intact stability criteria script
2026-02-24 21:53:18 +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
5b47d493af
Merge branch 'feature/stability-options-freeboard' into main
2026-02-24 21:28:53 +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
66ea2f9eea
Merge branch 'feature/gz-curve-trim-options' (add fixed_trim option to stability calculations)
2026-02-24 18:04:39 +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
5a1187791b
chore(ci): remove windows-arm64 target due to linker issues
2026-02-13 15:02:14 +01:00
Antoine Anceau
2bea3925c5
fix(ci): use maturin-action for windows-arm64 cross-compilation
2026-02-13 14:54:15 +01:00
Antoine Anceau
8717005f51
fix(ci): fix YAML syntax error in publish workflow
2026-02-13 14:42:25 +01:00
Antoine Anceau
22f5f8d02b
chore(release): bump version to 0.6.4
2026-02-13 14:40:23 +01:00
Antoine Anceau
6dbdecb03d
chore(release): bump version to 0.6.3
2026-02-13 13:54:50 +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
5e659a18e2
chore(release): bump version to 0.6.2
2026-02-13 09:52:37 +01:00
Antoine Anceau
34e68de821
Merge branch 'fix/dxf-ocs-transform'
2026-02-13 09:44:56 +01:00
Antoine Anceau
6ba6312f6c
fix(dxf): handle OCS transformation for inverted extrusion directions
2026-02-13 09:43:02 +01:00
Antoine Anceau
a8ada09de4
Merge branch 'fix/gz-calculation-bug'
2026-02-13 09:20:21 +01:00
Antoine Anceau
c3e840e9fc
feat(python): expose vessel_cog/cog and update documentation
2026-02-13 09:13:14 +01:00