fiberpath 0.7.2__tar.gz → 0.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/actions/setup-node/action.yml +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/actions/setup-python/action.yml +2 -2
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/actions/setup-rust/action.yml +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/backend-ci.yml +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/ci-check.yml +14 -22
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/gui-ci.yml +3 -5
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/gui-packaging.yml +9 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/release.yml +20 -69
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.gitignore +0 -6
- {fiberpath-0.7.2 → fiberpath-0.7.4}/CHANGELOG.md +44 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/PKG-INFO +23 -27
- {fiberpath-0.7.2 → fiberpath-0.7.4}/README.md +22 -22
- fiberpath-0.7.4/docs/.pages +13 -0
- fiberpath-0.7.4/docs/architecture/.pages +3 -0
- fiberpath-0.7.4/docs/development/.pages +8 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/development/ci-cd.md +14 -19
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/development/contributing.md +8 -5
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/development/dependency-policy.md +20 -3
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/development/release-process.md +2 -2
- fiberpath-0.7.4/docs/development/roadmap.md +154 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/getting-started.md +2 -2
- fiberpath-0.7.4/docs/guides/.pages +5 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/index.md +9 -9
- fiberpath-0.7.4/docs/reference/.pages +4 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/troubleshooting.md +3 -3
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/config/schemas.py +9 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/config/validator.py +9 -2
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/gcode/generator.py +2 -6
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/exceptions.py +0 -5
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/helpers.py +0 -6
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/validators.py +10 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/simulation/simulator.py +2 -2
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/visualization/plotter.py +4 -8
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/routes/simulate.py +8 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/routes/stream.py +6 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/plot.py +3 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/simulate.py +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/stream.py +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/README.md +1 -1
- fiberpath-0.7.4/fiberpath_gui/docs/.pages +7 -0
- fiberpath-0.7.4/fiberpath_gui/docs/architecture/.pages +5 -0
- fiberpath-0.7.4/fiberpath_gui/docs/guides/.pages +4 -0
- fiberpath-0.7.4/fiberpath_gui/docs/reference/.pages +2 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/package-lock.json +17 -17
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/package.json +2 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/MenuBar.tsx +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/canvas/VisualizationCanvas.tsx +3 -3
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/AboutDialog.tsx +2 -2
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/CliUnavailableDialog.tsx +8 -5
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/ExportConfirmationDialog.tsx +4 -4
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useFileOperations.test.tsx +1 -2
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useFileOperations.ts +5 -6
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/helicalValidation.test.ts +70 -4
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/helicalValidation.ts +21 -3
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/schemas.ts +8 -5
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/main.tsx +3 -8
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/tests/renderWithProviders.tsx +3 -6
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/types/components.ts +5 -4
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/types/converters.test.ts +17 -4
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/types/converters.ts +20 -17
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/types/project.ts +15 -9
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/Cargo.lock +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/Cargo.toml +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/src/main.rs +23 -2
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/src/marlin.rs +125 -55
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/tauri.conf.json +1 -1
- {fiberpath-0.7.2 → fiberpath-0.7.4}/pyproject.toml +1 -6
- fiberpath-0.7.4/renovate.json +4 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/api/test_simulate_route.py +28 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/api/test_stream_route_errors.py +11 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cli/test_cli_json.py +12 -0
- fiberpath-0.7.4/tests/config/test_validator.py +124 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/gcode/test_generator.py +11 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/test_validators.py +11 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/uv.lock +2 -376
- fiberpath-0.7.2/.github/dependabot.yml +0 -122
- fiberpath-0.7.2/.github/workflows/docs-ci.yml +0 -35
- fiberpath-0.7.2/.github/workflows/docs-deploy.yml +0 -64
- fiberpath-0.7.2/TODO.md +0 -23
- fiberpath-0.7.2/fiberpath_gui/src/components/ErrorNotificationToast.tsx +0 -39
- fiberpath-0.7.2/fiberpath_gui/src/contexts/ErrorNotificationContext.tsx +0 -102
- fiberpath-0.7.2/mkdocs.yml +0 -80
- fiberpath-0.7.2/scripts/sync_gui_docs.py +0 -91
- fiberpath-0.7.2/tests/config/test_validator.py +0 -55
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.gitattributes +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/dependency-audit.yml +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.github/workflows/gui-e2e-smoke.yml +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.pre-commit-config.yaml +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.vscode/extensions.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.vscode/launch.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/.vscode/settings.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/LICENSE +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/architecture/axis-system.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/architecture/overview.md +0 -0
- {fiberpath-0.7.2/docs → fiberpath-0.7.4/docs/development}/feature-backlog.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/development/packaging.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/development/tooling.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/guides/axis-mapping.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/guides/marlin-streaming.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/guides/visualization.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/guides/wind-format.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/reference/api.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/reference/concepts.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/reference/planner-math.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/docs/vm-testing.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/README.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/multi_layer/README.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/multi_layer/input.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/AvBay(470mm)single.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/AvBay(470mm)triple.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/AvBay(470mm)triple.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/CarbonMotorTube(1295mm).gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/CarbonMotorTube(1295mm).wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/MainChute(585mm).gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/rocketry/MainChute(585mm).wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/simple_cylinder/README.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/simple_cylinder/input.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/sized_simple_cylinder/README.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/examples/sized_simple_cylinder/input.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/config/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/execution/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/execution/marlin.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/gcode/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/gcode/dialects.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/math_utils.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/calculations.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/layer_strategies.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/machine.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/planning/planner.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/simulation/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/visualization/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath/visualization/export_json.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/main.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/package-lock.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/path_policy.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/routes/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/routes/plan.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/routes/validate.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_api/schemas.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/__main__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/interactive.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/main.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/output.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/plan.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_cli/validate.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/.gitignore +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/.nvmrc +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/.stylelintrc.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/bundled-cli/.gitkeep +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/architecture/cli-integration.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/architecture/state-management.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/architecture/streaming-state.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/architecture/tech-stack.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/development.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/guides/performance.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/guides/schemas.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/guides/styling.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/overview.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/reference/type-safety.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/docs/testing.md +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/generate-types.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/index.html +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/perf/bundle-baseline.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/schemas/wind-schema.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/scripts/check-bundle-budget.mjs +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/scripts/check-css-vars.mjs +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/App.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/CliHealthWarning.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/ErrorBoundary.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/ErrorBoundary.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StatusBar.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StatusBar.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/ConnectionSection.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/ConnectionSection.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/ConnectionSection.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/FileStreamingSection.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/FileStreamingSection.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/FileStreamingSection.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/KeyboardShortcuts.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/KeyboardShortcuts.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/KeyboardShortcuts.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/ManualControlSection.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/ManualControlSection.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/ManualControlSection.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamControls.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamControls.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamLog.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamLog.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamLog.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamTab.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/StreamTab/StreamTab.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/TabBar.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/TabBar.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/Toast/ToastContainer.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/Toast/ToastContainer.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/Toast/ToastContainer.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/canvas/CanvasControls.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/canvas/CanvasControls.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/canvas/CenterCanvas.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/canvas/LayerScrubber.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/canvas/LayerScrubber.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/BaseDialog.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/BaseDialog.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/DiagnosticsDialog.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/dialogs/DiagnosticsDialog.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/HelicalLayerEditor.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/HelicalLayerEditor.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/HoopLayerEditor.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/HoopLayerEditor.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/LayerNumericField.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/SkipLayerEditor.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/editors/SkipLayerEditor.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/forms/MachineSettingsForm.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/forms/MachineSettingsForm.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/forms/MandrelForm.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/forms/MandrelForm.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/forms/TowForm.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/forms/TowForm.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/layers/LayerRow.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/layers/LayerRow.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/layers/LayerStack.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/layers/LayerStack.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/panels/BottomPanel.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/panels/LeftPanel.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/panels/RightPanel.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/panels/panels.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/tabs/MainTab.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/components/tabs/MainTab.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/contexts/CliHealthContext.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/contexts/CliHealthContext.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/canvas/usePreviewGeneration.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/canvas/usePreviewGeneration.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/stream/useConnectionActions.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/stream/useConnectionActions.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/stream/useManualCommandActions.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/stream/useManualCommandActions.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/stream/useStreamingActions.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/stream/useStreamingActions.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useCliHealth.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useCliHealth.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useDebouncedValue.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useDebouncedValue.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useKeyboardShortcuts.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useKeyboardShortcuts.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useMenubarInteractions.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useMenubarInteractions.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useStreamEvents.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useTheme.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/hooks/useTheme.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/layouts/MainLayout.test.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/layouts/MainLayout.tsx +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/commands.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/commands.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/constants.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/fileOperations.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/fileOperations.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/marlin-api.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/marlin-api.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/menuConfig.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/menuConfig.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/numericFields.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/numericFields.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/recentFiles.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/recentFiles.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/retry.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/retry.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/schemas.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/streamFeedback.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/streamFeedback.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/tauri-types.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/toastMessages.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/validation.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/validation.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/validationErrors.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/lib/validationErrors.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/stores/projectStore.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/stores/projectStore.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/stores/streamStore.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/stores/toastStore.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/stores/toastStore.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/buttons.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/canvas.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/dialogs.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/forms.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/index.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/layout.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/notifications.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/panels.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/reset.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/tabs.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/tokens.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/styles/typography.css +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/tests/integration/streamLifecycle.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/tests/integration/workflows.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/tests/setup.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/tests/storeUtils.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/tests/tauriMocks.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/types/project.test.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src/types/wind-schema.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/build.rs +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/capabilities/default.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/icons/128x128.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/icons/256x256.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/icons/32x32.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/icons/512x512.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/icons/icon.ico +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/src/cli_path.rs +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/src-tauri/src/cli_process.rs +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/tsconfig.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/tsconfig.node.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/vite.config.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/fiberpath_gui/vitest.config.ts +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/package-lock.json +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/e2e-check-artifacts.ps1 +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/e2e-check-artifacts.sh +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/e2e-cli-smoke.ps1 +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/e2e-cli-smoke.sh +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/extract-package-runtime.ps1 +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/extract-package-runtime.sh +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/find-bundled-cli.ps1 +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/ci/find-bundled-cli.sh +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/export_schema.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/freeze_cli.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/scripts/generate_schema.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/setup.cfg +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/api/test_path_policy.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/api/test_plan_route.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/api/test_stream_route.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cli/test_axis_format.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cli/test_cli_smoke.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cli/test_stream_command.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/config/__init__.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/inputs/helical-balanced.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/inputs/simple-hoop.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/inputs/skip-bias.wind +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/outputs/helical-balanced/output.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/outputs/helical-balanced/preview.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/outputs/simple-hoop/output.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/outputs/simple-hoop/preview.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/outputs/skip-bias/output.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/cyclone_reference_runs/outputs/skip-bias/preview.png +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/execution/test_marlin_streamer.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/gcode/test_dialects.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/_generate_fixtures.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/fixtures/helical_layer.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/fixtures/hoop_layer.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/fixtures/hoop_only_program.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/fixtures/skip_layer.gcode +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/test_axis_mapping.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/test_helpers_machine.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/test_layer_strategies.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/planning/test_planner_smoke.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/simulation/test_simulator.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/simulation/test_simulator_axis_detection.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/tauri/test_marlin_integration.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/tauri/test_port_discovery.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/visualization/test_export_json.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/visualization/test_plotter.py +0 -0
- {fiberpath-0.7.2 → fiberpath-0.7.4}/tests/visualization/test_plotter_axis_detection.py +0 -0
|
@@ -9,7 +9,7 @@ inputs:
|
|
|
9
9
|
dependencies:
|
|
10
10
|
description: Dependency groups to install (e.g., ".[dev,api]")
|
|
11
11
|
required: false
|
|
12
|
-
default: ".[dev,api
|
|
12
|
+
default: ".[dev,api]"
|
|
13
13
|
cache-key-suffix:
|
|
14
14
|
description: Additional suffix for cache key
|
|
15
15
|
required: false
|
|
@@ -30,7 +30,7 @@ runs:
|
|
|
30
30
|
cache-dependency-glob: "pyproject.toml"
|
|
31
31
|
|
|
32
32
|
- name: Cache Python virtual environment
|
|
33
|
-
uses: actions/cache@
|
|
33
|
+
uses: actions/cache@v6
|
|
34
34
|
with:
|
|
35
35
|
path: .venv
|
|
36
36
|
key: venv-${{ runner.os }}-${{ inputs.python-version }}-${{ hashFiles('pyproject.toml') }}-${{ inputs.cache-key-suffix }}
|
|
@@ -13,30 +13,22 @@ on:
|
|
|
13
13
|
- "pyproject.toml"
|
|
14
14
|
- "uv.lock"
|
|
15
15
|
- "setup.cfg"
|
|
16
|
-
- "
|
|
16
|
+
- "renovate.json"
|
|
17
17
|
- "README.md"
|
|
18
18
|
- "CHANGELOG.md"
|
|
19
19
|
- "scripts/**"
|
|
20
20
|
- ".github/workflows/**"
|
|
21
21
|
- ".github/actions/**"
|
|
22
22
|
pull_request:
|
|
23
|
+
# No paths filter on purpose. "CI Check" is a required status check, so it
|
|
24
|
+
# must run on EVERY PR to main and always report a result. With a paths
|
|
25
|
+
# filter, a PR touching only unfiltered files (e.g. a Renovate-managed
|
|
26
|
+
# .pre-commit-config.yaml or renovate.json) would never trigger the
|
|
27
|
+
# workflow, leaving the required check stuck "Expected" and blocking merge.
|
|
28
|
+
# The `changes` job below still gates the heavy jobs by path, and the
|
|
29
|
+
# `ci-check` aggregator always posts — so cost stays low while every PR is
|
|
30
|
+
# mergeable.
|
|
23
31
|
branches: [main]
|
|
24
|
-
paths:
|
|
25
|
-
- "fiberpath/**"
|
|
26
|
-
- "fiberpath_api/**"
|
|
27
|
-
- "fiberpath_cli/**"
|
|
28
|
-
- "fiberpath_gui/**"
|
|
29
|
-
- "docs/**"
|
|
30
|
-
- "tests/**"
|
|
31
|
-
- "pyproject.toml"
|
|
32
|
-
- "uv.lock"
|
|
33
|
-
- "setup.cfg"
|
|
34
|
-
- "mkdocs.yml"
|
|
35
|
-
- "README.md"
|
|
36
|
-
- "CHANGELOG.md"
|
|
37
|
-
- "scripts/**"
|
|
38
|
-
- ".github/workflows/**"
|
|
39
|
-
- ".github/actions/**"
|
|
40
32
|
workflow_dispatch:
|
|
41
33
|
|
|
42
34
|
permissions:
|
|
@@ -78,11 +70,8 @@ jobs:
|
|
|
78
70
|
docs:
|
|
79
71
|
- "docs/**"
|
|
80
72
|
- "fiberpath_gui/docs/**"
|
|
81
|
-
- "mkdocs.yml"
|
|
82
|
-
- "scripts/sync_gui_docs.py"
|
|
83
73
|
- "README.md"
|
|
84
|
-
- ".github/workflows/
|
|
85
|
-
- ".github/actions/setup-python/**"
|
|
74
|
+
- ".github/workflows/ci-check.yml"
|
|
86
75
|
|
|
87
76
|
backend:
|
|
88
77
|
name: Backend
|
|
@@ -100,7 +89,10 @@ jobs:
|
|
|
100
89
|
name: Docs
|
|
101
90
|
needs: changes
|
|
102
91
|
if: needs.changes.outputs.docs == 'true'
|
|
103
|
-
uses:
|
|
92
|
+
uses: fiberpath/.github/.github/workflows/docs-validate.yml@main
|
|
93
|
+
with:
|
|
94
|
+
section: fiberpath
|
|
95
|
+
gui_docs_path: fiberpath_gui/docs
|
|
104
96
|
|
|
105
97
|
ci-check:
|
|
106
98
|
name: CI Check
|
|
@@ -21,11 +21,6 @@ jobs:
|
|
|
21
21
|
- name: Setup Node.js environment
|
|
22
22
|
uses: ./.github/actions/setup-node
|
|
23
23
|
|
|
24
|
-
- name: Setup Rust environment
|
|
25
|
-
uses: ./.github/actions/setup-rust
|
|
26
|
-
with:
|
|
27
|
-
install-linux-deps: "true"
|
|
28
|
-
|
|
29
24
|
- name: Run TypeScript type check
|
|
30
25
|
run: npm run lint
|
|
31
26
|
|
|
@@ -94,3 +89,6 @@ jobs:
|
|
|
94
89
|
|
|
95
90
|
- name: Run Clippy (Rust linter)
|
|
96
91
|
run: npm run clippy
|
|
92
|
+
|
|
93
|
+
- name: Run Rust tests
|
|
94
|
+
run: npm run test:rust
|
|
@@ -163,6 +163,15 @@ jobs:
|
|
|
163
163
|
with:
|
|
164
164
|
install-linux-deps: "true"
|
|
165
165
|
|
|
166
|
+
- name: Clean stale bundle output
|
|
167
|
+
shell: bash
|
|
168
|
+
run: |
|
|
169
|
+
# The setup-rust cache restores target/, which includes previously
|
|
170
|
+
# built, version-stamped installers under release/bundle/. Remove them
|
|
171
|
+
# before building so the version-agnostic upload globs only ever pick
|
|
172
|
+
# up the current build's artifacts (see #120).
|
|
173
|
+
rm -rf src-tauri/target/release/bundle
|
|
174
|
+
|
|
166
175
|
- name: Build Tauri bundles
|
|
167
176
|
run: npm run package
|
|
168
177
|
|
|
@@ -117,14 +117,6 @@ jobs:
|
|
|
117
117
|
name: sbom-artifacts
|
|
118
118
|
path: sbom
|
|
119
119
|
|
|
120
|
-
- name: Get previous tag
|
|
121
|
-
id: previous-tag
|
|
122
|
-
run: |
|
|
123
|
-
# Get previous tag BEFORE creating new one
|
|
124
|
-
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
|
|
125
|
-
echo "previous=$PREV_TAG" >> $GITHUB_OUTPUT
|
|
126
|
-
echo "Previous tag: ${PREV_TAG:-none}"
|
|
127
|
-
|
|
128
120
|
- name: Create release tag
|
|
129
121
|
run: |
|
|
130
122
|
git config user.name "github-actions[bot]"
|
|
@@ -137,25 +129,27 @@ jobs:
|
|
|
137
129
|
uses: actions/github-script@v9
|
|
138
130
|
with:
|
|
139
131
|
script: |
|
|
140
|
-
const prevTag = '${{ steps.previous-tag.outputs.previous }}';
|
|
141
132
|
const newTag = '${{ needs.validate.outputs.tag }}';
|
|
142
133
|
const version = '${{ inputs.version }}';
|
|
143
134
|
const repo = context.repo;
|
|
144
135
|
|
|
145
136
|
let notes = '';
|
|
146
137
|
|
|
147
|
-
// Desktop installers section
|
|
138
|
+
// Desktop installers section. Asset names match Tauri's bundle
|
|
139
|
+
// output: the productName "FiberPath GUI" yields a space that
|
|
140
|
+
// GitHub renders as `.` in the release asset filename, and the
|
|
141
|
+
// macOS dmg is built for Apple Silicon (aarch64) on macos-latest.
|
|
148
142
|
notes += `## Desktop Installers\n\n`;
|
|
149
143
|
notes += `**Windows:**\n`;
|
|
150
|
-
notes += `- \`
|
|
151
|
-
notes += `- \`
|
|
152
|
-
notes += `**macOS:**\n`;
|
|
153
|
-
notes += `- \`
|
|
144
|
+
notes += `- \`FiberPath.GUI_${version}_x64_en-US.msi\` (recommended)\n`;
|
|
145
|
+
notes += `- \`FiberPath.GUI_${version}_x64-setup.exe\`\n\n`;
|
|
146
|
+
notes += `**macOS (Apple Silicon):**\n`;
|
|
147
|
+
notes += `- \`FiberPath.GUI_${version}_aarch64.dmg\`\n\n`;
|
|
154
148
|
notes += `**Linux:**\n`;
|
|
155
|
-
notes += `- \`
|
|
156
|
-
notes += `- \`
|
|
157
|
-
notes += `📚 [Installation Guide](https://
|
|
158
|
-
notes += `🆘 [Troubleshooting](https://
|
|
149
|
+
notes += `- \`FiberPath.GUI_${version}_amd64.deb\`\n`;
|
|
150
|
+
notes += `- \`FiberPath.GUI_${version}_amd64.AppImage\`\n\n`;
|
|
151
|
+
notes += `📚 [Installation Guide](https://fiberpath.org/fiberpath/getting-started/) | `;
|
|
152
|
+
notes += `🆘 [Troubleshooting](https://fiberpath.org/fiberpath/troubleshooting/)\n\n`;
|
|
159
153
|
|
|
160
154
|
// Python package section
|
|
161
155
|
notes += `## Python Package\n\n`;
|
|
@@ -165,52 +159,8 @@ jobs:
|
|
|
165
159
|
notes += `[PyPI Package](https://pypi.org/project/fiberpath/${version}/) | `;
|
|
166
160
|
notes += `[Source Code](https://github.com/${repo.owner}/${repo.repo}/tree/${newTag})\n\n`;
|
|
167
161
|
|
|
168
|
-
// Changelog
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (prevTag) {
|
|
172
|
-
const { data: comparison } = await github.rest.repos.compareCommits({
|
|
173
|
-
owner: repo.owner,
|
|
174
|
-
repo: repo.repo,
|
|
175
|
-
base: prevTag,
|
|
176
|
-
head: newTag
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
// Categorize commits
|
|
180
|
-
const added = [];
|
|
181
|
-
const fixed = [];
|
|
182
|
-
const changed = [];
|
|
183
|
-
|
|
184
|
-
comparison.commits.forEach(commit => {
|
|
185
|
-
const msg = commit.commit.message.split('\n')[0];
|
|
186
|
-
const sha = commit.sha.substring(0, 7);
|
|
187
|
-
const entry = `- ${msg} (\`${sha}\`)`;
|
|
188
|
-
|
|
189
|
-
const lower = msg.toLowerCase();
|
|
190
|
-
if (lower.startsWith('add') || lower.startsWith('feat')) {
|
|
191
|
-
added.push(entry);
|
|
192
|
-
} else if (lower.startsWith('fix')) {
|
|
193
|
-
fixed.push(entry);
|
|
194
|
-
} else {
|
|
195
|
-
changed.push(entry);
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
if (added.length > 0) {
|
|
200
|
-
notes += `### Added\n${added.join('\n')}\n\n`;
|
|
201
|
-
}
|
|
202
|
-
if (fixed.length > 0) {
|
|
203
|
-
notes += `### Fixed\n${fixed.join('\n')}\n\n`;
|
|
204
|
-
}
|
|
205
|
-
if (changed.length > 0) {
|
|
206
|
-
notes += `### Changed\n${changed.join('\n')}\n\n`;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
notes += `**Full Changelog:** https://github.com/${repo.owner}/${repo.repo}/compare/${prevTag}...${newTag}\n`;
|
|
210
|
-
} else {
|
|
211
|
-
notes += `Initial release.\n`;
|
|
212
|
-
}
|
|
213
|
-
|
|
162
|
+
// The changelog (## What's Changed + Full Changelog compare link) is
|
|
163
|
+
// appended automatically by generate_release_notes on the release step.
|
|
214
164
|
return notes;
|
|
215
165
|
result-encoding: string
|
|
216
166
|
|
|
@@ -218,11 +168,11 @@ jobs:
|
|
|
218
168
|
run: |
|
|
219
169
|
VERSION="${{ inputs.version }}"
|
|
220
170
|
echo "Expected release assets for v$VERSION:"
|
|
221
|
-
echo " -
|
|
222
|
-
echo " -
|
|
223
|
-
echo " -
|
|
224
|
-
echo " -
|
|
225
|
-
echo " -
|
|
171
|
+
echo " - FiberPath.GUI_${VERSION}_x64_en-US.msi"
|
|
172
|
+
echo " - FiberPath.GUI_${VERSION}_x64-setup.exe"
|
|
173
|
+
echo " - FiberPath.GUI_${VERSION}_aarch64.dmg"
|
|
174
|
+
echo " - FiberPath.GUI_${VERSION}_amd64.deb"
|
|
175
|
+
echo " - FiberPath.GUI_${VERSION}_amd64.AppImage"
|
|
226
176
|
echo "Assets will be uploaded by build-gui-installers workflow"
|
|
227
177
|
|
|
228
178
|
- name: Create GitHub Release
|
|
@@ -231,6 +181,7 @@ jobs:
|
|
|
231
181
|
tag_name: ${{ needs.validate.outputs.tag }}
|
|
232
182
|
name: Release ${{ inputs.version }}
|
|
233
183
|
body: ${{ steps.notes.outputs.result }}
|
|
184
|
+
generate_release_notes: true
|
|
234
185
|
draft: false
|
|
235
186
|
prerelease: ${{ inputs.prerelease }}
|
|
236
187
|
files: |
|
|
@@ -8,6 +8,50 @@ The format is based on Keep a Changelog, and this project follows semantic versi
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [0.7.4] - 2026-06-25
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Marlin desktop commands no longer hang forever if the underlying CLI subprocess dies or emits a non-JSON line: when the response reader stops, in-flight requests are failed (the command returns an error) instead of leaving the UI spinner stuck permanently.
|
|
16
|
+
- Desktop preview/validate temp files now use process- and counter-unique names, fixing rare collisions when commands fired in the same millisecond could delete or clobber each other's temp file (intermittent "file not found" / corrupted preview).
|
|
17
|
+
- The Marlin desktop integration now recovers if its helper subprocess dies: a dead process is detected and respawned on the next command instead of reusing it forever, and the subprocess is killed on app shutdown so it no longer lingers as an orphan holding the serial port open.
|
|
18
|
+
- Helical layer editor and save-gate validation now match the planner's bounds, so the editor no longer accepts values the backend rejects with a 422: `lockDegrees`, `leadInMM`, and `leadOutDegrees` must be positive (were allowed to be `0`), `skipIndex` must be a positive integer (the save gate allowed `0`), and the wind angle is constrained to `[1°, 89°]` (was `(0°, 90°)`; the engine clamps to `[1, 89]` because `90°` gives `cos = 0`).
|
|
19
|
+
- Helical layer geometry hint no longer renders "not divisible by pattern number (NaN)" while the Pattern Number field is mid-edit (emptied to `NaN`); no hint is shown until the field holds a valid positive integer.
|
|
20
|
+
- The streaming API (`POST /stream/`) now returns 400 for empty/whitespace-only G-code instead of 502; an empty program is a client error, not an upstream device failure (502 is reserved for genuine transport errors).
|
|
21
|
+
- Simulating a G-code path that is a directory or non-UTF-8/binary file now returns a 4xx (API `/simulate/from-file`) or a clean usage error (CLI `simulate`/`plot`/`stream` reject directories) instead of an HTTP 500 / raw `IsADirectoryError`/`UnicodeDecodeError` traceback.
|
|
22
|
+
- Loading a wind definition that is a directory, an unreadable file, or non-UTF-8/binary content now reports a clean error instead of crashing. Previously these raised an unmapped `IsADirectoryError`/`UnicodeDecodeError`, surfacing as an HTTP 500 from the API (`/plan/from-file`, `/validate/from-file`) or a raw traceback from the CLI; they are now mapped to the standard `WindFileError` (4xx / clean CLI message).
|
|
23
|
+
- `fiberpath plan --output <dir>/<file>.gcode` into a directory that does not exist now creates the parent directories instead of crashing with a `FileNotFoundError` traceback (matching the existing `plot` behavior). `write_gcode` creates the destination's parent directory.
|
|
24
|
+
- A helical layer whose `leadInMM` is greater than or equal to the mandrel `windLength` is now rejected during planning. Previously it passed validation and generated G-code that drove the carriage off the end of the mandrel into negative coordinates (inverting the main-pass rotation), risking an end-stop collision.
|
|
25
|
+
- Non-finite numeric inputs (`NaN`, `Infinity`) in a `.wind` file are now rejected at load instead of being silently accepted. Previously a `NaN` value could be emitted into generated G-code as a literal `Anan` axis word, and an `Infinity` geometry value crashed the planner with an uncaught `OverflowError` (HTTP 500 / CLI traceback).
|
|
26
|
+
- Helical layer editor no longer crashes the app ("Maximum call stack size exceeded") when the Pattern Number or Skip Index field is emptied. The emptied field became `NaN`, and the cross-field coprime check recursed forever in `gcd()`; the check now skips non-integer values and the field reports its own validation error instead.
|
|
27
|
+
|
|
28
|
+
## [0.7.3] - 2026-06-25
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **Project moved to the [`fiberpath` GitHub organization](https://github.com/fiberpath).** The repository, issue tracker, and PyPI trusted publisher now live under `fiberpath/fiberpath`. `pip install fiberpath` is unchanged.
|
|
33
|
+
- Documentation now lives at **[fiberpath.org](https://fiberpath.org)** (FiberPath docs at `fiberpath.org/fiberpath`), built and published from the `fiberpath/fiberpath.github.io` hub. This repository now contains only docs content under `docs/`; the MkDocs configuration, site assembly, and publishing moved to the hub, and docs are validated on every PR via the org's shared `docs-validate` reusable workflow.
|
|
34
|
+
- The required `CI Check` status now runs on every pull request (no path filter) so it always reports and never leaves a PR stuck pending; an inner change-detection job still gates the heavy backend/GUI/docs jobs by path.
|
|
35
|
+
- Release notes are now produced by GitHub-native release-note generation instead of `git describe`, fixing the "Initial release." text that appeared on prior releases.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- Unified helical-layer defaults via a shared `HELICAL_DEFAULTS` constant so the CLI, API, and GUI agree on the same values.
|
|
40
|
+
|
|
41
|
+
### Removed
|
|
42
|
+
|
|
43
|
+
- Retired `TODO.md` in favor of tracked GitHub issues.
|
|
44
|
+
|
|
45
|
+
### Documentation
|
|
46
|
+
|
|
47
|
+
- Added a development roadmap and relocated the feature backlog under `docs/development/`.
|
|
48
|
+
|
|
49
|
+
### Dependencies
|
|
50
|
+
|
|
51
|
+
- Migrated dependency automation from Dependabot to org-shared **Renovate** (preset `github>fiberpath/renovate-config`); Dependabot security alerts/updates remain enabled.
|
|
52
|
+
- GitHub Actions: `actions/setup-node` v6, `actions/cache` v6.
|
|
53
|
+
- npm: `@types/node` 26.0.1, `stylelint` 17.14.0.
|
|
54
|
+
|
|
11
55
|
## [0.7.2] - 2026-06-24
|
|
12
56
|
|
|
13
57
|
### Security
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fiberpath
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
4
4
|
Summary: Modern filament winding planner, simulator, and G-code toolkit.
|
|
5
5
|
Author: Cameron K. Brooks
|
|
6
6
|
License: GNU AFFERO GENERAL PUBLIC LICENSE
|
|
@@ -694,10 +694,6 @@ Requires-Dist: pytest-cov>=4.1; extra == 'dev'
|
|
|
694
694
|
Requires-Dist: pytest>=8.2; extra == 'dev'
|
|
695
695
|
Requires-Dist: ruff>=0.7; extra == 'dev'
|
|
696
696
|
Requires-Dist: types-pyserial>=3.5; extra == 'dev'
|
|
697
|
-
Provides-Extra: docs
|
|
698
|
-
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
|
|
699
|
-
Requires-Dist: mkdocs>=1.5; extra == 'docs'
|
|
700
|
-
Requires-Dist: pymdown-extensions>=10.0; extra == 'docs'
|
|
701
697
|
Provides-Extra: plot
|
|
702
698
|
Requires-Dist: matplotlib>=3.8; extra == 'plot'
|
|
703
699
|
Requires-Dist: plotly>=5.22; extra == 'plot'
|
|
@@ -709,18 +705,18 @@ Description-Content-Type: text/markdown
|
|
|
709
705
|
|
|
710
706
|
**Plan, simulate, and manufacture composite parts with precision fiber winding.**
|
|
711
707
|
|
|
712
|
-
[](https://github.com/fiberpath/fiberpath/releases)
|
|
713
709
|
[](LICENSE)
|
|
714
|
-
[](https://github.com/fiberpath/fiberpath/actions/workflows/backend-ci.yml)
|
|
711
|
+
[](https://github.com/fiberpath/fiberpath/actions/workflows/gui-ci.yml)
|
|
712
|
+
[](https://fiberpath.org/fiberpath)
|
|
717
713
|
|
|
718
714
|

|
|
719
715
|

|
|
720
716
|

|
|
721
717
|

|
|
722
718
|
|
|
723
|
-
[Download](https://github.com/
|
|
719
|
+
[Download](https://github.com/fiberpath/fiberpath/releases/latest) · [Documentation](https://fiberpath.org/fiberpath) · [Examples](examples/)
|
|
724
720
|
|
|
725
721
|
</div>
|
|
726
722
|
|
|
@@ -749,7 +745,7 @@ Design multi-layer winding patterns in a visual interface, simulate the full man
|
|
|
749
745
|
|
|
750
746
|
### Option 1: Desktop GUI (Recommended)
|
|
751
747
|
|
|
752
|
-
Download the installer for your platform from the [latest release](https://github.com/
|
|
748
|
+
Download the installer for your platform from the [latest release](https://github.com/fiberpath/fiberpath/releases/latest):
|
|
753
749
|
|
|
754
750
|
- **Windows**: `.msi` or `.exe` installer
|
|
755
751
|
- **macOS**: `.dmg` disk image
|
|
@@ -780,7 +776,7 @@ The `plot` command creates a 2D unwrapped visualization of the toolpath for quic
|
|
|
780
776
|
|
|
781
777
|
### Desktop Application (Recommended)
|
|
782
778
|
|
|
783
|
-
📦 **Download:** [github.com/
|
|
779
|
+
📦 **Download:** [github.com/fiberpath/fiberpath/releases/latest](https://github.com/fiberpath/fiberpath/releases/latest)
|
|
784
780
|
|
|
785
781
|
**No Python installation required**—the GUI is a fully self-contained native application with the FiberPath backend bundled inside. Just download, install, and run.
|
|
786
782
|
|
|
@@ -807,7 +803,7 @@ pip install fiberpath[dev] # Development tools
|
|
|
807
803
|
**Development Install:**
|
|
808
804
|
|
|
809
805
|
```sh
|
|
810
|
-
git clone https://github.com/
|
|
806
|
+
git clone https://github.com/fiberpath/fiberpath.git
|
|
811
807
|
cd fiberpath
|
|
812
808
|
uv pip install -e .[dev,cli,api]
|
|
813
809
|
pytest
|
|
@@ -926,7 +922,7 @@ FiberPath consists of four coordinated components:
|
|
|
926
922
|
- **Core is deterministic** and thoroughly tested
|
|
927
923
|
- **Modular architecture** allows using components independently
|
|
928
924
|
|
|
929
|
-
See [Architecture Documentation](https://
|
|
925
|
+
See [Architecture Documentation](https://fiberpath.org/fiberpath/architecture/overview/) for detailed design rationale.
|
|
930
926
|
|
|
931
927
|
## Axis Configuration
|
|
932
928
|
|
|
@@ -940,14 +936,14 @@ Legacy XYZ programs should be re-generated under current versions. Simulation an
|
|
|
940
936
|
|
|
941
937
|
## Documentation
|
|
942
938
|
|
|
943
|
-
Comprehensive documentation is available at [
|
|
939
|
+
Comprehensive documentation is available at [fiberpath.org/fiberpath](https://fiberpath.org/fiberpath):
|
|
944
940
|
|
|
945
|
-
- **[Getting Started Guide](https://
|
|
946
|
-
- **[Architecture Overview](https://
|
|
947
|
-
- **[Usage Guides](https://
|
|
948
|
-
- **[API Reference](https://
|
|
949
|
-
- **[GUI Documentation](https://
|
|
950
|
-
- **[Development Guide](https://
|
|
941
|
+
- **[Getting Started Guide](https://fiberpath.org/fiberpath/getting-started/)** – Installation and first steps
|
|
942
|
+
- **[Architecture Overview](https://fiberpath.org/fiberpath/architecture/overview/)** – System design and components
|
|
943
|
+
- **[Usage Guides](https://fiberpath.org/fiberpath/guides/visualization/)** – Visualization, streaming, WIND format
|
|
944
|
+
- **[API Reference](https://fiberpath.org/fiberpath/reference/api/)** – Core functions and CLI commands
|
|
945
|
+
- **[GUI Documentation](https://fiberpath.org/fiberpath/gui/overview/)** – Desktop application architecture
|
|
946
|
+
- **[Development Guide](https://fiberpath.org/fiberpath/development/contributing/)** – Contributing, tooling, release process
|
|
951
947
|
|
|
952
948
|
## Contributing
|
|
953
949
|
|
|
@@ -955,14 +951,14 @@ Contributions are welcome! FiberPath is actively developed and maintained.
|
|
|
955
951
|
|
|
956
952
|
**Before contributing:**
|
|
957
953
|
|
|
958
|
-
1. Read the [Contributing Guide](https://
|
|
959
|
-
2. Check existing [issues](https://github.com/
|
|
954
|
+
1. Read the [Contributing Guide](https://fiberpath.org/fiberpath/development/contributing/)
|
|
955
|
+
2. Check existing [issues](https://github.com/fiberpath/fiberpath/issues) and [pull requests](https://github.com/fiberpath/fiberpath/pulls)
|
|
960
956
|
3. Open an issue to discuss major changes before implementing
|
|
961
957
|
|
|
962
958
|
**Development setup:**
|
|
963
959
|
|
|
964
960
|
```sh
|
|
965
|
-
git clone https://github.com/
|
|
961
|
+
git clone https://github.com/fiberpath/fiberpath.git
|
|
966
962
|
cd fiberpath
|
|
967
963
|
uv pip install -e .[dev,cli,api]
|
|
968
964
|
pytest
|
|
@@ -979,7 +975,7 @@ npm test
|
|
|
979
975
|
- All new features require tests and documentation
|
|
980
976
|
- Commit messages use conventional commits format
|
|
981
977
|
|
|
982
|
-
See [Development Documentation](https://
|
|
978
|
+
See [Development Documentation](https://fiberpath.org/fiberpath/development/) for tooling, CI/CD, and release process details.
|
|
983
979
|
|
|
984
980
|
## License
|
|
985
981
|
|
|
@@ -995,6 +991,6 @@ See [LICENSE](LICENSE) for full terms.
|
|
|
995
991
|
|
|
996
992
|
---
|
|
997
993
|
|
|
998
|
-
**Questions?** Open an [issue](https://github.com/
|
|
994
|
+
**Questions?** Open an [issue](https://github.com/fiberpath/fiberpath/issues) or check the [documentation](https://fiberpath.org/fiberpath).
|
|
999
995
|
|
|
1000
|
-
**Found a bug?** Report it on [GitHub Issues](https://github.com/
|
|
996
|
+
**Found a bug?** Report it on [GitHub Issues](https://github.com/fiberpath/fiberpath/issues/new) with steps to reproduce.
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
**Plan, simulate, and manufacture composite parts with precision fiber winding.**
|
|
6
6
|
|
|
7
|
-
[](https://github.com/fiberpath/fiberpath/releases)
|
|
8
8
|
[](LICENSE)
|
|
9
|
-
[](https://github.com/fiberpath/fiberpath/actions/workflows/backend-ci.yml)
|
|
10
|
+
[](https://github.com/fiberpath/fiberpath/actions/workflows/gui-ci.yml)
|
|
11
|
+
[](https://fiberpath.org/fiberpath)
|
|
12
12
|
|
|
13
13
|

|
|
14
14
|

|
|
15
15
|

|
|
16
16
|

|
|
17
17
|
|
|
18
|
-
[Download](https://github.com/
|
|
18
|
+
[Download](https://github.com/fiberpath/fiberpath/releases/latest) · [Documentation](https://fiberpath.org/fiberpath) · [Examples](examples/)
|
|
19
19
|
|
|
20
20
|
</div>
|
|
21
21
|
|
|
@@ -44,7 +44,7 @@ Design multi-layer winding patterns in a visual interface, simulate the full man
|
|
|
44
44
|
|
|
45
45
|
### Option 1: Desktop GUI (Recommended)
|
|
46
46
|
|
|
47
|
-
Download the installer for your platform from the [latest release](https://github.com/
|
|
47
|
+
Download the installer for your platform from the [latest release](https://github.com/fiberpath/fiberpath/releases/latest):
|
|
48
48
|
|
|
49
49
|
- **Windows**: `.msi` or `.exe` installer
|
|
50
50
|
- **macOS**: `.dmg` disk image
|
|
@@ -75,7 +75,7 @@ The `plot` command creates a 2D unwrapped visualization of the toolpath for quic
|
|
|
75
75
|
|
|
76
76
|
### Desktop Application (Recommended)
|
|
77
77
|
|
|
78
|
-
📦 **Download:** [github.com/
|
|
78
|
+
📦 **Download:** [github.com/fiberpath/fiberpath/releases/latest](https://github.com/fiberpath/fiberpath/releases/latest)
|
|
79
79
|
|
|
80
80
|
**No Python installation required**—the GUI is a fully self-contained native application with the FiberPath backend bundled inside. Just download, install, and run.
|
|
81
81
|
|
|
@@ -102,7 +102,7 @@ pip install fiberpath[dev] # Development tools
|
|
|
102
102
|
**Development Install:**
|
|
103
103
|
|
|
104
104
|
```sh
|
|
105
|
-
git clone https://github.com/
|
|
105
|
+
git clone https://github.com/fiberpath/fiberpath.git
|
|
106
106
|
cd fiberpath
|
|
107
107
|
uv pip install -e .[dev,cli,api]
|
|
108
108
|
pytest
|
|
@@ -221,7 +221,7 @@ FiberPath consists of four coordinated components:
|
|
|
221
221
|
- **Core is deterministic** and thoroughly tested
|
|
222
222
|
- **Modular architecture** allows using components independently
|
|
223
223
|
|
|
224
|
-
See [Architecture Documentation](https://
|
|
224
|
+
See [Architecture Documentation](https://fiberpath.org/fiberpath/architecture/overview/) for detailed design rationale.
|
|
225
225
|
|
|
226
226
|
## Axis Configuration
|
|
227
227
|
|
|
@@ -235,14 +235,14 @@ Legacy XYZ programs should be re-generated under current versions. Simulation an
|
|
|
235
235
|
|
|
236
236
|
## Documentation
|
|
237
237
|
|
|
238
|
-
Comprehensive documentation is available at [
|
|
238
|
+
Comprehensive documentation is available at [fiberpath.org/fiberpath](https://fiberpath.org/fiberpath):
|
|
239
239
|
|
|
240
|
-
- **[Getting Started Guide](https://
|
|
241
|
-
- **[Architecture Overview](https://
|
|
242
|
-
- **[Usage Guides](https://
|
|
243
|
-
- **[API Reference](https://
|
|
244
|
-
- **[GUI Documentation](https://
|
|
245
|
-
- **[Development Guide](https://
|
|
240
|
+
- **[Getting Started Guide](https://fiberpath.org/fiberpath/getting-started/)** – Installation and first steps
|
|
241
|
+
- **[Architecture Overview](https://fiberpath.org/fiberpath/architecture/overview/)** – System design and components
|
|
242
|
+
- **[Usage Guides](https://fiberpath.org/fiberpath/guides/visualization/)** – Visualization, streaming, WIND format
|
|
243
|
+
- **[API Reference](https://fiberpath.org/fiberpath/reference/api/)** – Core functions and CLI commands
|
|
244
|
+
- **[GUI Documentation](https://fiberpath.org/fiberpath/gui/overview/)** – Desktop application architecture
|
|
245
|
+
- **[Development Guide](https://fiberpath.org/fiberpath/development/contributing/)** – Contributing, tooling, release process
|
|
246
246
|
|
|
247
247
|
## Contributing
|
|
248
248
|
|
|
@@ -250,14 +250,14 @@ Contributions are welcome! FiberPath is actively developed and maintained.
|
|
|
250
250
|
|
|
251
251
|
**Before contributing:**
|
|
252
252
|
|
|
253
|
-
1. Read the [Contributing Guide](https://
|
|
254
|
-
2. Check existing [issues](https://github.com/
|
|
253
|
+
1. Read the [Contributing Guide](https://fiberpath.org/fiberpath/development/contributing/)
|
|
254
|
+
2. Check existing [issues](https://github.com/fiberpath/fiberpath/issues) and [pull requests](https://github.com/fiberpath/fiberpath/pulls)
|
|
255
255
|
3. Open an issue to discuss major changes before implementing
|
|
256
256
|
|
|
257
257
|
**Development setup:**
|
|
258
258
|
|
|
259
259
|
```sh
|
|
260
|
-
git clone https://github.com/
|
|
260
|
+
git clone https://github.com/fiberpath/fiberpath.git
|
|
261
261
|
cd fiberpath
|
|
262
262
|
uv pip install -e .[dev,cli,api]
|
|
263
263
|
pytest
|
|
@@ -274,7 +274,7 @@ npm test
|
|
|
274
274
|
- All new features require tests and documentation
|
|
275
275
|
- Commit messages use conventional commits format
|
|
276
276
|
|
|
277
|
-
See [Development Documentation](https://
|
|
277
|
+
See [Development Documentation](https://fiberpath.org/fiberpath/development/) for tooling, CI/CD, and release process details.
|
|
278
278
|
|
|
279
279
|
## License
|
|
280
280
|
|
|
@@ -290,6 +290,6 @@ See [LICENSE](LICENSE) for full terms.
|
|
|
290
290
|
|
|
291
291
|
---
|
|
292
292
|
|
|
293
|
-
**Questions?** Open an [issue](https://github.com/
|
|
293
|
+
**Questions?** Open an [issue](https://github.com/fiberpath/fiberpath/issues) or check the [documentation](https://fiberpath.org/fiberpath).
|
|
294
294
|
|
|
295
|
-
**Found a bug?** Report it on [GitHub Issues](https://github.com/
|
|
295
|
+
**Found a bug?** Report it on [GitHub Issues](https://github.com/fiberpath/fiberpath/issues/new) with steps to reproduce.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Nav for the FiberPath section. This file travels with the docs content; the
|
|
2
|
+
# site (fiberpath/fiberpath.github.io) builds the nav from it. This repo holds
|
|
3
|
+
# no MkDocs config of its own.
|
|
4
|
+
nav:
|
|
5
|
+
- index.md
|
|
6
|
+
- Getting Started: getting-started.md
|
|
7
|
+
- Troubleshooting: troubleshooting.md
|
|
8
|
+
- VM Testing: vm-testing.md
|
|
9
|
+
- User Guides: guides
|
|
10
|
+
- Reference: reference
|
|
11
|
+
- Architecture: architecture
|
|
12
|
+
- Development: development
|
|
13
|
+
- GUI: gui
|