From 0cb9009eaa8172dfb4c5e01cb616e0de3cb99a18 Mon Sep 17 00:00:00 2001 From: Samuel Prevost Date: Tue, 14 Apr 2026 23:19:25 +0200 Subject: [PATCH] feat(result): add measurement tools, grid overlay, and scale bar export - New CorrectedImageViewer component with dual-canvas (image + overlay) - Point-to-point measurement tool: click two points, see mm distance - Toggleable grid overlay with configurable spacing and major lines - Scale bar export: appends measurement bar to downloaded PNG - Progress bar with step labels during algorithm execution - Estimated output size shown before running, blocks if > 512MB - Actual output dimensions/filesize shown in diagnostics - Filename changed to originalname-skwik.png - Collapsible algorithm explanation with numbered steps - Process New Image button to reset and start over - Scale bar tooltip explaining the feature - Add shadcn-vue Checkbox component Co-Authored-By: Claude --- src/components/CorrectedImageViewer.vue | 638 ++++++++++++++++++++++++ src/components/ResultViewer.vue | 602 +++++++++++++++++++--- src/components/ui/checkbox/Checkbox.vue | 34 ++ src/components/ui/checkbox/index.ts | 1 + 4 files changed, 1198 insertions(+), 77 deletions(-) create mode 100644 src/components/CorrectedImageViewer.vue create mode 100644 src/components/ui/checkbox/Checkbox.vue create mode 100644 src/components/ui/checkbox/index.ts diff --git a/src/components/CorrectedImageViewer.vue b/src/components/CorrectedImageViewer.vue new file mode 100644 index 0000000..20114f8 --- /dev/null +++ b/src/components/CorrectedImageViewer.vue @@ -0,0 +1,638 @@ + + + diff --git a/src/components/ResultViewer.vue b/src/components/ResultViewer.vue index 113d354..f970c4d 100644 --- a/src/components/ResultViewer.vue +++ b/src/components/ResultViewer.vue @@ -1,10 +1,19 @@ + + diff --git a/src/components/ui/checkbox/index.ts b/src/components/ui/checkbox/index.ts new file mode 100644 index 0000000..8c28c28 --- /dev/null +++ b/src/components/ui/checkbox/index.ts @@ -0,0 +1 @@ +export { default as Checkbox } from './Checkbox.vue'