Files
AR-Shipdesign/pyproject.toml
T
alro65 98ff57ed08 Módulo 1 fixes + Módulo 2 motor hidrostático (Tasks 13–13b)
Fixes Module 1 UI:
- wizard_cruiser/sailing/planing: perfiles sin^n calibrados por Cm, V-bottom
  con ángulo de astilla, corrección zona sobre chine planeador
- viewer_3d: buffer hull pendiente para eliminar race condition 500ms
- viewer_lines: reescritura completa — waterlines visibles, control points
  interactivos (drag DelftShip-style), señal offsets_edited
- main_window: conecta offsets_edited → slot _on_offsets_edited_from_viewer
  que propaga cambios a todos los visores, editor, 3D y barra hidrostática

Módulo 2 — motor HydrostaticCurves (Task 13):
- integrator.py: integrate() (Simpson+trapz), waterplane_strips(), section_areas()
- upright.py: UprightHydrostatics (19 campos), compute_upright() single-pass
- curves_of_form.py: HydrostaticCurves.compute(), at_draft(), to_csv_lines(), to_dict()
- tests/test_module2_hydrostatics.py: 83 tests — Wigley V&V, monotonicidad,
  CSV export, IACS Rec.34 §4.3–4.5; todos los 224 tests pasan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 09:11:58 -04:00

55 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.backends.legacy:build"
[project]
name = "arshipdesign"
version = "0.1.0"
description = "Software profesional de diseño naval — AR-ShipDesign"
authors = [{ name = "Álvaro Romero" }]
license = { file = "LICENSE.txt" }
readme = "README.md"
requires-python = ">=3.11"
keywords = ["naval", "ship design", "hydrostatics", "stability", "CAD"]
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering",
"Operating System :: Microsoft :: Windows",
]
dependencies = [
"PySide6>=6.6.0",
"pyvista>=0.43.0",
"pyvistaqt>=0.11.0",
"pyqtgraph>=0.13.0",
"geomdl>=5.3.1",
"numpy>=1.26.0",
"scipy>=1.11.0",
"pandas>=2.1.0",
"openpyxl>=3.1.0",
"ezdxf>=1.1.0",
"trimesh>=4.0.0",
"reportlab>=4.0.0",
"shapely>=2.0.0",
]
[project.scripts]
arshipdesign = "main:main"
[tool.setuptools.packages.find]
where = ["."]
include = ["arshipdesign*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "-v --tb=short"
[tool.mypy]
python_version = "3.11"
strict = false
ignore_missing_imports = true