fiberpath 0.7.0__tar.gz → 0.7.1__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.
Files changed (357) hide show
  1. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/actions/setup-python/action.yml +1 -1
  2. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/ci-check.yml +7 -17
  3. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/dependency-audit.yml +3 -1
  4. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/docs-deploy.yml +1 -1
  5. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/gui-ci.yml +1 -1
  6. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/gui-packaging.yml +42 -7
  7. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/release.yml +2 -2
  8. {fiberpath-0.7.0 → fiberpath-0.7.1}/CHANGELOG.md +32 -0
  9. {fiberpath-0.7.0 → fiberpath-0.7.1}/PKG-INFO +1 -1
  10. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/development/dependency-policy.md +2 -2
  11. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/development/packaging.md +1 -1
  12. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/.gitignore +1 -0
  13. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/architecture/cli-integration.md +1 -1
  14. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/guides/performance.md +3 -3
  15. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/package-lock.json +172 -172
  16. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/package.json +9 -9
  17. fiberpath-0.7.1/fiberpath_gui/src/components/ErrorBoundary.test.tsx +74 -0
  18. fiberpath-0.7.1/fiberpath_gui/src/components/StatusBar.test.tsx +80 -0
  19. fiberpath-0.7.1/fiberpath_gui/src/components/StreamTab/ConnectionSection.test.tsx +112 -0
  20. fiberpath-0.7.1/fiberpath_gui/src/components/StreamTab/FileStreamingSection.test.tsx +130 -0
  21. fiberpath-0.7.1/fiberpath_gui/src/components/StreamTab/KeyboardShortcuts.test.tsx +52 -0
  22. fiberpath-0.7.1/fiberpath_gui/src/components/StreamTab/ManualControlSection.test.tsx +102 -0
  23. fiberpath-0.7.1/fiberpath_gui/src/components/StreamTab/StreamLog.test.tsx +85 -0
  24. fiberpath-0.7.1/fiberpath_gui/src/components/TabBar.test.tsx +44 -0
  25. fiberpath-0.7.1/fiberpath_gui/src/components/Toast/ToastContainer.test.tsx +65 -0
  26. fiberpath-0.7.1/fiberpath_gui/src/components/canvas/CanvasControls.test.tsx +82 -0
  27. fiberpath-0.7.1/fiberpath_gui/src/components/canvas/LayerScrubber.test.tsx +46 -0
  28. fiberpath-0.7.1/fiberpath_gui/src/components/dialogs/BaseDialog.test.tsx +83 -0
  29. fiberpath-0.7.1/fiberpath_gui/src/components/dialogs/DiagnosticsDialog.test.tsx +109 -0
  30. fiberpath-0.7.1/fiberpath_gui/src/components/editors/HelicalLayerEditor.test.tsx +69 -0
  31. fiberpath-0.7.1/fiberpath_gui/src/components/editors/HoopLayerEditor.test.tsx +58 -0
  32. fiberpath-0.7.1/fiberpath_gui/src/components/editors/SkipLayerEditor.test.tsx +59 -0
  33. fiberpath-0.7.1/fiberpath_gui/src/components/forms/MachineSettingsForm.test.tsx +43 -0
  34. fiberpath-0.7.1/fiberpath_gui/src/components/forms/MandrelForm.test.tsx +60 -0
  35. fiberpath-0.7.1/fiberpath_gui/src/components/forms/TowForm.test.tsx +60 -0
  36. fiberpath-0.7.1/fiberpath_gui/src/components/layers/LayerRow.test.tsx +110 -0
  37. fiberpath-0.7.1/fiberpath_gui/src/components/layers/LayerStack.test.tsx +143 -0
  38. fiberpath-0.7.1/fiberpath_gui/src/components/panels/panels.test.tsx +41 -0
  39. fiberpath-0.7.1/fiberpath_gui/src/components/tabs/MainTab.test.tsx +65 -0
  40. fiberpath-0.7.1/fiberpath_gui/src/contexts/CliHealthContext.test.tsx +36 -0
  41. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/contexts/CliHealthContext.tsx +2 -2
  42. fiberpath-0.7.1/fiberpath_gui/src/hooks/canvas/usePreviewGeneration.test.ts +169 -0
  43. fiberpath-0.7.1/fiberpath_gui/src/hooks/stream/useConnectionActions.test.ts +193 -0
  44. fiberpath-0.7.1/fiberpath_gui/src/hooks/stream/useManualCommandActions.test.ts +166 -0
  45. fiberpath-0.7.1/fiberpath_gui/src/hooks/stream/useStreamingActions.test.ts +318 -0
  46. fiberpath-0.7.1/fiberpath_gui/src/hooks/useCliHealth.test.ts +207 -0
  47. fiberpath-0.7.1/fiberpath_gui/src/hooks/useDebouncedValue.test.ts +106 -0
  48. fiberpath-0.7.1/fiberpath_gui/src/hooks/useFileOperations.test.tsx +77 -0
  49. fiberpath-0.7.1/fiberpath_gui/src/hooks/useKeyboardShortcuts.test.ts +163 -0
  50. fiberpath-0.7.1/fiberpath_gui/src/hooks/useMenubarInteractions.test.tsx +97 -0
  51. fiberpath-0.7.1/fiberpath_gui/src/layouts/MainLayout.test.tsx +75 -0
  52. fiberpath-0.7.1/fiberpath_gui/src/lib/commands.test.ts +202 -0
  53. fiberpath-0.7.1/fiberpath_gui/src/lib/fileOperations.test.ts +330 -0
  54. fiberpath-0.7.1/fiberpath_gui/src/lib/helicalValidation.test.ts +179 -0
  55. fiberpath-0.7.1/fiberpath_gui/src/lib/marlin-api.test.ts +188 -0
  56. fiberpath-0.7.1/fiberpath_gui/src/lib/menuConfig.test.ts +49 -0
  57. fiberpath-0.7.1/fiberpath_gui/src/lib/numericFields.test.ts +59 -0
  58. fiberpath-0.7.1/fiberpath_gui/src/lib/recentFiles.test.ts +142 -0
  59. fiberpath-0.7.1/fiberpath_gui/src/lib/retry.test.ts +114 -0
  60. fiberpath-0.7.1/fiberpath_gui/src/lib/streamFeedback.test.ts +352 -0
  61. fiberpath-0.7.1/fiberpath_gui/src/stores/toastStore.test.ts +87 -0
  62. fiberpath-0.7.1/fiberpath_gui/src/tests/renderWithProviders.tsx +73 -0
  63. fiberpath-0.7.1/fiberpath_gui/src/tests/storeUtils.ts +96 -0
  64. fiberpath-0.7.1/fiberpath_gui/src/tests/tauriMocks.ts +99 -0
  65. fiberpath-0.7.1/fiberpath_gui/src/types/project.test.ts +159 -0
  66. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/Cargo.lock +3 -3
  67. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/Cargo.toml +2 -2
  68. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/tauri.conf.json +1 -1
  69. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/tsconfig.json +1 -1
  70. fiberpath-0.7.1/fiberpath_gui/vite.config.ts +14 -0
  71. fiberpath-0.7.0/fiberpath_gui/vite.config.ts → fiberpath-0.7.1/fiberpath_gui/vitest.config.ts +16 -15
  72. {fiberpath-0.7.0 → fiberpath-0.7.1}/pyproject.toml +1 -1
  73. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/extract-package-runtime.ps1 +27 -0
  74. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/find-bundled-cli.ps1 +22 -2
  75. {fiberpath-0.7.0 → fiberpath-0.7.1}/uv.lock +87 -87
  76. fiberpath-0.7.0/fiberpath_gui/vitest.config.ts +0 -18
  77. {fiberpath-0.7.0 → fiberpath-0.7.1}/.gitattributes +0 -0
  78. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/actions/setup-node/action.yml +0 -0
  79. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/actions/setup-rust/action.yml +0 -0
  80. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/dependabot.yml +0 -0
  81. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/backend-ci.yml +0 -0
  82. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/docs-ci.yml +0 -0
  83. {fiberpath-0.7.0 → fiberpath-0.7.1}/.github/workflows/gui-e2e-smoke.yml +0 -0
  84. {fiberpath-0.7.0 → fiberpath-0.7.1}/.gitignore +0 -0
  85. {fiberpath-0.7.0 → fiberpath-0.7.1}/.pre-commit-config.yaml +0 -0
  86. {fiberpath-0.7.0 → fiberpath-0.7.1}/.vscode/extensions.json +0 -0
  87. {fiberpath-0.7.0 → fiberpath-0.7.1}/.vscode/launch.json +0 -0
  88. {fiberpath-0.7.0 → fiberpath-0.7.1}/.vscode/settings.json +0 -0
  89. {fiberpath-0.7.0 → fiberpath-0.7.1}/LICENSE +0 -0
  90. {fiberpath-0.7.0 → fiberpath-0.7.1}/README.md +0 -0
  91. {fiberpath-0.7.0 → fiberpath-0.7.1}/TODO.md +0 -0
  92. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/architecture/axis-system.md +0 -0
  93. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/architecture/overview.md +0 -0
  94. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/development/ci-cd.md +0 -0
  95. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/development/contributing.md +0 -0
  96. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/development/release-process.md +0 -0
  97. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/development/tooling.md +0 -0
  98. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/feature-backlog.md +0 -0
  99. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/getting-started.md +0 -0
  100. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/guides/axis-mapping.md +0 -0
  101. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/guides/marlin-streaming.md +0 -0
  102. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/guides/visualization.md +0 -0
  103. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/guides/wind-format.md +0 -0
  104. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/index.md +0 -0
  105. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/reference/api.md +0 -0
  106. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/reference/concepts.md +0 -0
  107. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/reference/planner-math.md +0 -0
  108. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/troubleshooting.md +0 -0
  109. {fiberpath-0.7.0 → fiberpath-0.7.1}/docs/vm-testing.md +0 -0
  110. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/README.md +0 -0
  111. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/complex_surface/README.md +0 -0
  112. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/multi_layer/README.md +0 -0
  113. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/multi_layer/input.wind +0 -0
  114. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/AvBay(470mm)single.wind +0 -0
  115. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/AvBay(470mm)triple.gcode +0 -0
  116. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/AvBay(470mm)triple.wind +0 -0
  117. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/CarbonMotorTube(1295mm).gcode +0 -0
  118. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/CarbonMotorTube(1295mm).wind +0 -0
  119. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/MainChute(585mm).gcode +0 -0
  120. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/rocketry/MainChute(585mm).wind +0 -0
  121. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/simple_cylinder/README.md +0 -0
  122. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/simple_cylinder/input.wind +0 -0
  123. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/sized_simple_cylinder/README.md +0 -0
  124. {fiberpath-0.7.0 → fiberpath-0.7.1}/examples/sized_simple_cylinder/input.wind +0 -0
  125. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/__init__.py +0 -0
  126. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/config/__init__.py +0 -0
  127. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/config/schemas.py +0 -0
  128. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/config/validator.py +0 -0
  129. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/execution/__init__.py +0 -0
  130. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/execution/marlin.py +0 -0
  131. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/gcode/__init__.py +0 -0
  132. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/gcode/dialects.py +0 -0
  133. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/gcode/generator.py +0 -0
  134. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/geometry/__init__.py +0 -0
  135. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/geometry/curves.py +0 -0
  136. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/geometry/intersections.py +0 -0
  137. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/geometry/surfaces.py +0 -0
  138. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/math_utils.py +0 -0
  139. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/__init__.py +0 -0
  140. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/calculations.py +0 -0
  141. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/exceptions.py +0 -0
  142. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/helpers.py +0 -0
  143. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/layer_strategies.py +0 -0
  144. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/machine.py +0 -0
  145. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/planner.py +0 -0
  146. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/planning/validators.py +0 -0
  147. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/simulation/__init__.py +0 -0
  148. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/simulation/simulator.py +0 -0
  149. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/visualization/__init__.py +0 -0
  150. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/visualization/export_json.py +0 -0
  151. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath/visualization/plotter.py +0 -0
  152. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/__init__.py +0 -0
  153. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/main.py +0 -0
  154. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/package-lock.json +0 -0
  155. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/path_policy.py +0 -0
  156. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/routes/__init__.py +0 -0
  157. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/routes/plan.py +0 -0
  158. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/routes/simulate.py +0 -0
  159. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/routes/stream.py +0 -0
  160. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/routes/validate.py +0 -0
  161. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_api/schemas.py +0 -0
  162. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/__init__.py +0 -0
  163. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/__main__.py +0 -0
  164. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/interactive.py +0 -0
  165. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/main.py +0 -0
  166. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/output.py +0 -0
  167. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/plan.py +0 -0
  168. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/plot.py +0 -0
  169. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/simulate.py +0 -0
  170. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/stream.py +0 -0
  171. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_cli/validate.py +0 -0
  172. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/.nvmrc +0 -0
  173. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/.stylelintrc.json +0 -0
  174. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/README.md +0 -0
  175. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/bundled-cli/.gitkeep +0 -0
  176. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/architecture/state-management.md +0 -0
  177. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/architecture/streaming-state.md +0 -0
  178. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/architecture/tech-stack.md +0 -0
  179. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/development.md +0 -0
  180. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/guides/schemas.md +0 -0
  181. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/guides/styling.md +0 -0
  182. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/overview.md +0 -0
  183. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/reference/type-safety.md +0 -0
  184. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/docs/testing.md +0 -0
  185. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/generate-types.json +0 -0
  186. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/index.html +0 -0
  187. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/perf/bundle-baseline.json +0 -0
  188. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/schemas/wind-schema.json +0 -0
  189. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/scripts/check-bundle-budget.mjs +0 -0
  190. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/scripts/check-css-vars.mjs +0 -0
  191. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/App.tsx +0 -0
  192. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/CliHealthWarning.tsx +0 -0
  193. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/ErrorBoundary.tsx +0 -0
  194. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/ErrorNotificationToast.tsx +0 -0
  195. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/MenuBar.tsx +0 -0
  196. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StatusBar.tsx +0 -0
  197. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/ConnectionSection.css +0 -0
  198. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/ConnectionSection.tsx +0 -0
  199. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/FileStreamingSection.css +0 -0
  200. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/FileStreamingSection.tsx +0 -0
  201. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/KeyboardShortcuts.css +0 -0
  202. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/KeyboardShortcuts.tsx +0 -0
  203. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/ManualControlSection.css +0 -0
  204. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/ManualControlSection.tsx +0 -0
  205. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/StreamControls.css +0 -0
  206. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/StreamControls.tsx +0 -0
  207. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/StreamLog.css +0 -0
  208. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/StreamLog.tsx +0 -0
  209. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/StreamTab.css +0 -0
  210. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/StreamTab/StreamTab.tsx +0 -0
  211. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/TabBar.tsx +0 -0
  212. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/Toast/ToastContainer.css +0 -0
  213. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/Toast/ToastContainer.tsx +0 -0
  214. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/canvas/CanvasControls.tsx +0 -0
  215. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/canvas/CenterCanvas.tsx +0 -0
  216. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/canvas/LayerScrubber.tsx +0 -0
  217. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/canvas/VisualizationCanvas.tsx +0 -0
  218. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/dialogs/AboutDialog.tsx +0 -0
  219. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/dialogs/BaseDialog.tsx +0 -0
  220. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/dialogs/CliUnavailableDialog.tsx +0 -0
  221. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/dialogs/DiagnosticsDialog.tsx +0 -0
  222. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/dialogs/ExportConfirmationDialog.tsx +0 -0
  223. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/editors/HelicalLayerEditor.tsx +0 -0
  224. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/editors/HoopLayerEditor.tsx +0 -0
  225. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/editors/LayerNumericField.tsx +0 -0
  226. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/editors/SkipLayerEditor.tsx +0 -0
  227. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/forms/MachineSettingsForm.tsx +0 -0
  228. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/forms/MandrelForm.tsx +0 -0
  229. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/forms/TowForm.tsx +0 -0
  230. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/layers/LayerRow.tsx +0 -0
  231. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/layers/LayerStack.tsx +0 -0
  232. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/panels/BottomPanel.tsx +0 -0
  233. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/panels/LeftPanel.tsx +0 -0
  234. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/panels/RightPanel.tsx +0 -0
  235. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/components/tabs/MainTab.tsx +0 -0
  236. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/contexts/ErrorNotificationContext.tsx +0 -0
  237. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/canvas/usePreviewGeneration.ts +0 -0
  238. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/stream/useConnectionActions.ts +0 -0
  239. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/stream/useManualCommandActions.ts +0 -0
  240. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/stream/useStreamingActions.ts +0 -0
  241. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useCliHealth.ts +0 -0
  242. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useDebouncedValue.ts +0 -0
  243. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useFileOperations.ts +0 -0
  244. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useKeyboardShortcuts.ts +0 -0
  245. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useMenubarInteractions.ts +0 -0
  246. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useStreamEvents.ts +0 -0
  247. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useTheme.test.ts +0 -0
  248. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/hooks/useTheme.ts +0 -0
  249. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/layouts/MainLayout.tsx +0 -0
  250. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/commands.ts +0 -0
  251. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/constants.ts +0 -0
  252. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/fileOperations.ts +0 -0
  253. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/helicalValidation.ts +0 -0
  254. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/marlin-api.ts +0 -0
  255. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/menuConfig.ts +0 -0
  256. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/numericFields.ts +0 -0
  257. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/recentFiles.ts +0 -0
  258. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/retry.ts +0 -0
  259. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/schemas.test.ts +0 -0
  260. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/schemas.ts +0 -0
  261. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/streamFeedback.ts +0 -0
  262. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/tauri-types.ts +0 -0
  263. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/toastMessages.ts +0 -0
  264. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/validation.test.ts +0 -0
  265. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/validation.ts +0 -0
  266. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/validationErrors.test.ts +0 -0
  267. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/lib/validationErrors.ts +0 -0
  268. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/main.tsx +0 -0
  269. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/stores/projectStore.test.ts +0 -0
  270. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/stores/projectStore.ts +0 -0
  271. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/stores/streamStore.ts +0 -0
  272. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/stores/toastStore.ts +0 -0
  273. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/buttons.css +0 -0
  274. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/canvas.css +0 -0
  275. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/dialogs.css +0 -0
  276. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/forms.css +0 -0
  277. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/index.css +0 -0
  278. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/layout.css +0 -0
  279. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/notifications.css +0 -0
  280. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/panels.css +0 -0
  281. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/reset.css +0 -0
  282. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/tabs.css +0 -0
  283. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/tokens.css +0 -0
  284. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/styles/typography.css +0 -0
  285. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/tests/integration/streamLifecycle.test.ts +0 -0
  286. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/tests/integration/workflows.test.ts +0 -0
  287. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/tests/setup.ts +0 -0
  288. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/types/components.ts +0 -0
  289. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/types/converters.test.ts +0 -0
  290. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/types/converters.ts +0 -0
  291. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/types/project.ts +0 -0
  292. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src/types/wind-schema.ts +0 -0
  293. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/build.rs +0 -0
  294. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/capabilities/default.json +0 -0
  295. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/icons/128x128.png +0 -0
  296. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/icons/256x256.png +0 -0
  297. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/icons/32x32.png +0 -0
  298. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/icons/512x512.png +0 -0
  299. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/icons/icon.ico +0 -0
  300. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/src/cli_path.rs +0 -0
  301. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/src/cli_process.rs +0 -0
  302. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/src/main.rs +0 -0
  303. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/src-tauri/src/marlin.rs +0 -0
  304. {fiberpath-0.7.0 → fiberpath-0.7.1}/fiberpath_gui/tsconfig.node.json +0 -0
  305. {fiberpath-0.7.0 → fiberpath-0.7.1}/mkdocs.yml +0 -0
  306. {fiberpath-0.7.0 → fiberpath-0.7.1}/package-lock.json +0 -0
  307. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/e2e-check-artifacts.ps1 +0 -0
  308. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/e2e-check-artifacts.sh +0 -0
  309. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/e2e-cli-smoke.ps1 +0 -0
  310. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/e2e-cli-smoke.sh +0 -0
  311. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/extract-package-runtime.sh +0 -0
  312. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/ci/find-bundled-cli.sh +0 -0
  313. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/export_schema.py +0 -0
  314. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/freeze_cli.py +0 -0
  315. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/generate_schema.py +0 -0
  316. {fiberpath-0.7.0 → fiberpath-0.7.1}/scripts/sync_gui_docs.py +0 -0
  317. {fiberpath-0.7.0 → fiberpath-0.7.1}/setup.cfg +0 -0
  318. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/api/test_plan_route.py +0 -0
  319. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/api/test_simulate_route.py +0 -0
  320. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/api/test_stream_route.py +0 -0
  321. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/api/test_stream_route_errors.py +0 -0
  322. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cli/test_axis_format.py +0 -0
  323. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cli/test_cli_json.py +0 -0
  324. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cli/test_cli_smoke.py +0 -0
  325. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cli/test_stream_command.py +0 -0
  326. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/config/__init__.py +0 -0
  327. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/config/test_validator.py +0 -0
  328. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/inputs/helical-balanced.wind +0 -0
  329. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/inputs/simple-hoop.wind +0 -0
  330. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/inputs/skip-bias.wind +0 -0
  331. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/outputs/helical-balanced/output.gcode +0 -0
  332. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/outputs/helical-balanced/preview.png +0 -0
  333. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/outputs/simple-hoop/output.gcode +0 -0
  334. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/outputs/simple-hoop/preview.png +0 -0
  335. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/outputs/skip-bias/output.gcode +0 -0
  336. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/cyclone_reference_runs/outputs/skip-bias/preview.png +0 -0
  337. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/execution/test_marlin_streamer.py +0 -0
  338. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/gcode/test_dialects.py +0 -0
  339. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/gcode/test_generator.py +0 -0
  340. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/geometry/test_surfaces.py +0 -0
  341. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/_generate_fixtures.py +0 -0
  342. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/fixtures/helical_layer.gcode +0 -0
  343. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/fixtures/hoop_layer.gcode +0 -0
  344. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/fixtures/hoop_only_program.gcode +0 -0
  345. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/fixtures/skip_layer.gcode +0 -0
  346. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/test_axis_mapping.py +0 -0
  347. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/test_helpers_machine.py +0 -0
  348. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/test_layer_strategies.py +0 -0
  349. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/test_planner_smoke.py +0 -0
  350. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/planning/test_validators.py +0 -0
  351. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/simulation/test_simulator.py +0 -0
  352. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/simulation/test_simulator_axis_detection.py +0 -0
  353. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/tauri/test_marlin_integration.py +0 -0
  354. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/tauri/test_port_discovery.py +0 -0
  355. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/visualization/test_export_json.py +0 -0
  356. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/visualization/test_plotter.py +0 -0
  357. {fiberpath-0.7.0 → fiberpath-0.7.1}/tests/visualization/test_plotter_axis_detection.py +0 -0
@@ -19,7 +19,7 @@ runs:
19
19
  using: composite
20
20
  steps:
21
21
  - name: Set up Python
22
- uses: actions/setup-python@v5
22
+ uses: actions/setup-python@v6
23
23
  with:
24
24
  python-version: ${{ inputs.python-version }}
25
25
 
@@ -15,14 +15,9 @@ on:
15
15
  - "setup.cfg"
16
16
  - "mkdocs.yml"
17
17
  - "README.md"
18
- - "scripts/sync_gui_docs.py"
19
- - ".github/workflows/ci-check.yml"
20
- - ".github/workflows/backend-ci.yml"
21
- - ".github/workflows/gui-ci.yml"
22
- - ".github/workflows/docs-ci.yml"
23
- - ".github/actions/setup-python/**"
24
- - ".github/actions/setup-node/**"
25
- - ".github/actions/setup-rust/**"
18
+ - "scripts/**"
19
+ - ".github/workflows/**"
20
+ - ".github/actions/**"
26
21
  pull_request:
27
22
  branches: [main]
28
23
  paths:
@@ -37,14 +32,9 @@ on:
37
32
  - "setup.cfg"
38
33
  - "mkdocs.yml"
39
34
  - "README.md"
40
- - "scripts/sync_gui_docs.py"
41
- - ".github/workflows/ci-check.yml"
42
- - ".github/workflows/backend-ci.yml"
43
- - ".github/workflows/gui-ci.yml"
44
- - ".github/workflows/docs-ci.yml"
45
- - ".github/actions/setup-python/**"
46
- - ".github/actions/setup-node/**"
47
- - ".github/actions/setup-rust/**"
35
+ - "scripts/**"
36
+ - ".github/workflows/**"
37
+ - ".github/actions/**"
48
38
  workflow_dispatch:
49
39
 
50
40
  permissions:
@@ -64,7 +54,7 @@ jobs:
64
54
 
65
55
  - name: Detect changed areas
66
56
  id: filter
67
- uses: dorny/paths-filter@v3
57
+ uses: dorny/paths-filter@v4
68
58
  with:
69
59
  filters: |
70
60
  backend:
@@ -3,6 +3,8 @@ name: Dependency Audit
3
3
  on:
4
4
  push:
5
5
  branches: [main]
6
+ pull_request:
7
+ branches: [main]
6
8
  schedule:
7
9
  - cron: "0 7 * * 1"
8
10
  workflow_dispatch:
@@ -75,7 +77,7 @@ jobs:
75
77
  install-linux-deps: "false"
76
78
 
77
79
  - name: Install cargo-audit
78
- run: cargo install cargo-audit --locked
80
+ run: cargo audit --version 2>/dev/null || cargo install cargo-audit --locked
79
81
 
80
82
  - name: Run cargo audit (JSON report)
81
83
  run: cargo audit --json > cargo-audit.json
@@ -47,7 +47,7 @@ jobs:
47
47
  run: uv run mkdocs build --strict --site-dir site
48
48
 
49
49
  - name: Upload Pages artifact
50
- uses: actions/upload-pages-artifact@v4
50
+ uses: actions/upload-pages-artifact@v5
51
51
  with:
52
52
  path: site
53
53
 
@@ -78,7 +78,7 @@ jobs:
78
78
  echo "Build successful - dist/ directory created"
79
79
 
80
80
  - name: Upload bundle metrics artifact
81
- uses: actions/upload-artifact@v4
81
+ uses: actions/upload-artifact@v7
82
82
  with:
83
83
  name: gui-bundle-metrics
84
84
  path: fiberpath_gui/perf/reports/bundle-metrics.json
@@ -13,6 +13,20 @@ on:
13
13
  - ".github/actions/setup-node/**"
14
14
  - ".github/actions/setup-rust/**"
15
15
  - ".github/actions/setup-python/**"
16
+ pull_request:
17
+ branches: [main]
18
+ paths:
19
+ - "fiberpath/**"
20
+ - "fiberpath_cli/**"
21
+ - "fiberpath_gui/**"
22
+ - "!fiberpath_gui/docs/**"
23
+ - "scripts/freeze_cli.py"
24
+ - "scripts/ci/**"
25
+ - ".github/workflows/gui-packaging.yml"
26
+ - ".github/workflows/gui-e2e-smoke.yml"
27
+ - ".github/actions/setup-node/**"
28
+ - ".github/actions/setup-rust/**"
29
+ - ".github/actions/setup-python/**"
16
30
  workflow_call:
17
31
  inputs:
18
32
  release_tag:
@@ -157,14 +171,11 @@ jobs:
157
171
  run: |
158
172
  echo "Checking if Tauri build succeeded with bundled CLI..."
159
173
  if [ "$RUNNER_OS" == "Windows" ]; then
160
- # Windows: Verify actual installer files were created
161
- MSI_COUNT=$(find src-tauri/target/release/bundle/msi -name "*.msi" 2>/dev/null | wc -l)
174
+ # Windows: Verify MSI was created and use 7-zip to confirm the CLI binary is embedded.
175
+ MSI_FILE=$(find src-tauri/target/release/bundle/msi -name "*.msi" 2>/dev/null | head -1)
162
176
  NSIS_COUNT=$(find src-tauri/target/release/bundle/nsis -name "*.exe" 2>/dev/null | wc -l)
163
177
 
164
- if [ "$MSI_COUNT" -gt 0 ] || [ "$NSIS_COUNT" -gt 0 ]; then
165
- echo "[OK] Windows installers created successfully:"
166
- find src-tauri/target/release/bundle -type f \( -name "*.msi" -o -name "*.exe" \) -exec ls -lh {} \;
167
- else
178
+ if [ -z "$MSI_FILE" ] && [ "$NSIS_COUNT" -eq 0 ]; then
168
179
  echo "ERROR: No Windows installer files (.msi or .exe) found!"
169
180
  echo "MSI directory contents:"
170
181
  ls -la src-tauri/target/release/bundle/msi/ 2>/dev/null || echo " Directory not found"
@@ -172,6 +183,30 @@ jobs:
172
183
  ls -la src-tauri/target/release/bundle/nsis/ 2>/dev/null || echo " Directory not found"
173
184
  exit 1
174
185
  fi
186
+
187
+ echo "[OK] Windows installers created:"
188
+ find src-tauri/target/release/bundle -type f \( -name "*.msi" -o -name "*.exe" \) -exec ls -lh {} \;
189
+
190
+ # Verify the CLI binary is embedded in the MSI using 7-zip.
191
+ if [ -n "$MSI_FILE" ]; then
192
+ SEVENZIP=""
193
+ if command -v 7z &>/dev/null; then SEVENZIP="7z"; fi
194
+ if [ -z "$SEVENZIP" ] && [ -f "C:/Program Files/7-Zip/7z.exe" ]; then SEVENZIP="C:/Program Files/7-Zip/7z.exe"; fi
195
+ if [ -n "$SEVENZIP" ]; then
196
+ echo "Inspecting MSI contents for fiberpath.exe..."
197
+ if "$SEVENZIP" l "$MSI_FILE" 2>/dev/null | grep -i "fiberpath.exe"; then
198
+ echo "[OK] fiberpath.exe found inside MSI"
199
+ else
200
+ echo "WARNING: fiberpath.exe not directly visible in MSI listing."
201
+ echo "This may occur when 7-zip shows only the embedded Cabinet stream;"
202
+ echo "the E2E smoke test performs a two-pass extraction to handle this case."
203
+ echo "MSI file listing (first 40 entries):"
204
+ "$SEVENZIP" l "$MSI_FILE" 2>/dev/null | head -40 || true
205
+ fi
206
+ else
207
+ echo "WARNING: 7-zip not found; skipping MSI content inspection."
208
+ fi
209
+ fi
175
210
  else
176
211
  # macOS/Linux: Search for bundled CLI file in app bundle
177
212
  if find src-tauri/target/release/bundle -name "fiberpath" -type f 2>/dev/null | grep -q .; then
@@ -195,7 +230,7 @@ jobs:
195
230
 
196
231
  - name: Upload release assets
197
232
  if: github.event_name == 'release' || inputs.release_tag != ''
198
- uses: softprops/action-gh-release@v2
233
+ uses: softprops/action-gh-release@v3
199
234
  with:
200
235
  tag_name: ${{ inputs.release_tag || github.ref }}
201
236
  fail_on_unmatched_files: false
@@ -134,7 +134,7 @@ jobs:
134
134
 
135
135
  - name: Generate release notes
136
136
  id: notes
137
- uses: actions/github-script@v8
137
+ uses: actions/github-script@v9
138
138
  with:
139
139
  script: |
140
140
  const prevTag = '${{ steps.previous-tag.outputs.previous }}';
@@ -226,7 +226,7 @@ jobs:
226
226
  echo "Assets will be uploaded by build-gui-installers workflow"
227
227
 
228
228
  - name: Create GitHub Release
229
- uses: softprops/action-gh-release@v2
229
+ uses: softprops/action-gh-release@v3
230
230
  with:
231
231
  tag_name: ${{ needs.validate.outputs.tag }}
232
232
  name: Release ${{ inputs.version }}
@@ -8,6 +8,38 @@ The format is based on Keep a Changelog, and this project follows semantic versi
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.7.1] - 2026-04-16
12
+
13
+ ### Added
14
+
15
+ - Expanded GUI test suite to 614 tests across 53 files via three RTL sprint phases covering pure components, store-coupled components, hooks, canvas rendering, CLI health, and stream branches (79.81% line / 91.17% branch / 87.73% function coverage).
16
+
17
+ ### Fixed
18
+
19
+ - Fixed Python audit CI failure caused by CVE-2025-71176 in `pytest 9.0.2`; bumped to `pytest 9.0.3`.
20
+ - Fixed Windows E2E smoke test failure caused by WiX MSI two-pass CAB extraction not being handled in `extract-package-runtime.ps1`.
21
+ - Fixed Windows E2E smoke test failure where accumulated MSI artifacts caused the oldest version to be selected instead of the newest; extraction now sorts by `LastWriteTime` descending.
22
+ - Fixed `cargo audit` CI failure when `cargo-audit` was already installed (`exit 101`); guarded install with a version check.
23
+ - Fixed `ci-check.yml` required-status gate never posting on `scripts/ci/**` and workflow changes; broadened path filter to `scripts/**` and `.github/workflows/**`.
24
+
25
+ ### Changed
26
+
27
+ - Extended `dependency-audit.yml` and `gui-packaging.yml` to trigger on pull requests, not only post-merge pushes.
28
+ - Improved `find-bundled-cli.ps1` with a wider path regex and full diagnostics output on failure.
29
+
30
+ ### Dependencies
31
+
32
+ - Bumped `pillow` (uv).
33
+ - Bumped `tokio` (Cargo, two patches).
34
+ - Bumped npm prod and dev minor-patch dependency groups.
35
+ - Bumped `react-zoom-pan-pinch` to 4.0.3.
36
+ - Bumped `actions/upload-pages-artifact` from 4 to 5.
37
+ - Bumped multiple Cargo minor-patch dependency groups.
38
+
39
+ ### Internal
40
+
41
+ - Synchronized release version metadata across Python (`pyproject.toml`, `uv.lock`), npm (`package.json`, `package-lock.json`), and Tauri (`Cargo.toml`, `Cargo.lock`, `tauri.conf.json`).
42
+
11
43
  ## [0.7.0] - 2026-04-08
12
44
 
13
45
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fiberpath
3
- Version: 0.7.0
3
+ Version: 0.7.1
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
@@ -21,7 +21,7 @@ Applies to:
21
21
 
22
22
  ## Ownership
23
23
 
24
- - Primary triage owner: maintainers responsible for the active release planning document in `planning/`
24
+ - Primary triage owner: maintainers responsible for the active release planning document in `docs/feature-backlog.md`
25
25
  - PR review owner: area maintainer for the affected ecosystem
26
26
  - Security escalation owner: release manager on current target milestone
27
27
 
@@ -62,6 +62,6 @@ When an update is deferred:
62
62
 
63
63
  ## Documentation and Traceability
64
64
 
65
- - Roadmap and release source of truth: `CHANGELOG.md` and current active planning documents in `planning/`.
65
+ - Roadmap and release source of truth: `CHANGELOG.md` and `docs/feature-backlog.md`.
66
66
  - Release-level summary: `CHANGELOG.md`.
67
67
  - CI architecture reference: `docs/development/ci-cd.md`.
@@ -43,7 +43,7 @@ freeze-cli:
43
43
  python-version: "3.11"
44
44
  - run: pip install . pyinstaller
45
45
  - run: python scripts/freeze_cli.py
46
- - uses: actions/upload-artifact@v4
46
+ - uses: actions/upload-artifact@v7
47
47
  with:
48
48
  name: fiberpath-cli-${{ matrix.os }}
49
49
  path: dist/fiberpath*
@@ -4,3 +4,4 @@ dist/
4
4
  src-tauri/gen/
5
5
  src-tauri/target/
6
6
  coverage/
7
+ perf/reports/
@@ -150,7 +150,7 @@ freeze-cli:
150
150
  - name: Freeze CLI
151
151
  run: uv run python scripts/freeze_cli.py
152
152
  - name: Upload artifact
153
- uses: actions/upload-artifact@v4
153
+ uses: actions/upload-artifact@v7
154
154
  with:
155
155
  name: frozen-cli-windows
156
156
  path: dist/fiberpath.exe
@@ -12,9 +12,9 @@ Baseline values are tracked in `fiberpath_gui/perf/bundle-baseline.json` and enf
12
12
 
13
13
  | Metric | Baseline | Source |
14
14
  | --- | --- | --- |
15
- | Total JS bundle | 598.96 kB | 2026-04-07 build snapshot (`planning/gui-framework-migration-evaluation-plan.md`) |
16
- | Total CSS bundle | 59.42 kB | 2026-04-07 build snapshot (`planning/gui-framework-migration-evaluation-plan.md`) |
17
- | Vite dev startup | 292 ms | 2026-04-07 `npm run dev` snapshot (`planning/gui-framework-migration-evaluation-plan.md`) |
15
+ | Total JS bundle | 598.96 kB | 2026-04-07 build snapshot |
16
+ | Total CSS bundle | 59.42 kB | 2026-04-07 build snapshot |
17
+ | Vite dev startup | 292 ms | 2026-04-07 `npm run dev` snapshot |
18
18
  | Common interaction render cost | Layer editing/profile pass tracked manually during v7 PR review | React DevTools Profiler capture on target hardware |
19
19
 
20
20
  Bundle guardrail policy: