@reekon-tools/boldr-cad 0.1.0 → 1.1.0
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.
- package/README.md +99 -16
- package/dist/app/edit.d.ts +12 -1
- package/dist/app/edit.js +96 -11
- package/dist/app/edit.js.map +1 -1
- package/dist/app/state.d.ts +31 -4
- package/dist/app/state.js +31 -2
- package/dist/app/state.js.map +1 -1
- package/dist/data/memory.d.ts +9 -1
- package/dist/data/memory.js +13 -8
- package/dist/data/memory.js.map +1 -1
- package/dist/data/provider.d.ts +30 -10
- package/dist/data/sync.d.ts +14 -3
- package/dist/data/sync.js +133 -66
- package/dist/data/sync.js.map +1 -1
- package/dist/editor/actions.d.ts +1 -2
- package/dist/editor/actions.js +391 -113
- package/dist/editor/actions.js.map +1 -1
- package/dist/editor/confirm.d.ts +23 -0
- package/dist/editor/confirm.js +35 -0
- package/dist/editor/confirm.js.map +1 -0
- package/dist/editor/elevation.d.ts +191 -90
- package/dist/editor/elevation.js +812 -616
- package/dist/editor/elevation.js.map +1 -1
- package/dist/editor/face.d.ts +73 -0
- package/dist/editor/face.js +269 -0
- package/dist/editor/face.js.map +1 -0
- package/dist/editor/files.d.ts +6 -0
- package/dist/editor/files.js +50 -4
- package/dist/editor/files.js.map +1 -1
- package/dist/editor/gestures.d.ts +18 -3
- package/dist/editor/gestures.js +145 -30
- package/dist/editor/gestures.js.map +1 -1
- package/dist/editor/keypad.d.ts +20 -5
- package/dist/editor/keypad.js +62 -15
- package/dist/editor/keypad.js.map +1 -1
- package/dist/editor/keys.js +36 -4
- package/dist/editor/keys.js.map +1 -1
- package/dist/editor/laser.d.ts +20 -4
- package/dist/editor/laser.js +104 -21
- package/dist/editor/laser.js.map +1 -1
- package/dist/editor/linkActions.d.ts +49 -0
- package/dist/editor/linkActions.js +210 -0
- package/dist/editor/linkActions.js.map +1 -0
- package/dist/editor/linkFollow.d.ts +2 -0
- package/dist/editor/linkFollow.js +53 -0
- package/dist/editor/linkFollow.js.map +1 -0
- package/dist/editor/linkWrite.d.ts +13 -0
- package/dist/editor/linkWrite.js +84 -0
- package/dist/editor/linkWrite.js.map +1 -0
- package/dist/editor/links.d.ts +84 -0
- package/dist/editor/links.js +130 -0
- package/dist/editor/links.js.map +1 -0
- package/dist/editor/markup.d.ts +29 -3
- package/dist/editor/markup.js +95 -10
- package/dist/editor/markup.js.map +1 -1
- package/dist/editor/mode.d.ts +40 -2
- package/dist/editor/mode.js +71 -4
- package/dist/editor/mode.js.map +1 -1
- package/dist/editor/ports.d.ts +38 -6
- package/dist/editor/ports.js +10 -1
- package/dist/editor/ports.js.map +1 -1
- package/dist/editor/project.d.ts +38 -6
- package/dist/editor/project.js +170 -27
- package/dist/editor/project.js.map +1 -1
- package/dist/editor/selection.d.ts +10 -0
- package/dist/editor/selection.js +62 -8
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/status.js +3 -0
- package/dist/editor/status.js.map +1 -1
- package/dist/editor/tooltips.d.ts +5 -0
- package/dist/editor/tooltips.js +48 -0
- package/dist/editor/tooltips.js.map +1 -0
- package/dist/editor/view3d.d.ts +17 -0
- package/dist/editor/view3d.js +135 -0
- package/dist/editor/view3d.js.map +1 -0
- package/dist/editor/view3dState.d.ts +39 -0
- package/dist/editor/view3dState.js +44 -0
- package/dist/editor/view3dState.js.map +1 -0
- package/dist/export/dxf.js +1 -1
- package/dist/export/dxf.js.map +1 -1
- package/dist/export/pdf.js +17 -12
- package/dist/export/pdf.js.map +1 -1
- package/dist/export/plan.d.ts +23 -6
- package/dist/export/plan.js +127 -44
- package/dist/export/plan.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model/constraints.js +15 -4
- package/dist/model/constraints.js.map +1 -1
- package/dist/model/demo.js +3 -3
- package/dist/model/demo.js.map +1 -1
- package/dist/model/elevation.d.ts +6 -9
- package/dist/model/elevation.js +5 -13
- package/dist/model/elevation.js.map +1 -1
- package/dist/model/faces.d.ts +58 -0
- package/dist/model/faces.js +197 -0
- package/dist/model/faces.js.map +1 -0
- package/dist/model/facesolve.d.ts +72 -0
- package/dist/model/facesolve.js +369 -0
- package/dist/model/facesolve.js.map +1 -0
- package/dist/model/history.d.ts +3 -2
- package/dist/model/history.js +17 -11
- package/dist/model/history.js.map +1 -1
- package/dist/model/images.d.ts +18 -0
- package/dist/model/images.js +26 -0
- package/dist/model/images.js.map +1 -0
- package/dist/model/links.d.ts +46 -0
- package/dist/model/links.js +73 -0
- package/dist/model/links.js.map +1 -0
- package/dist/model/markup.d.ts +46 -0
- package/dist/model/markup.js +71 -0
- package/dist/model/markup.js.map +1 -0
- package/dist/model/measurement.d.ts +11 -0
- package/dist/model/measurement.js +24 -0
- package/dist/model/measurement.js.map +1 -0
- package/dist/model/openings.d.ts +4 -0
- package/dist/model/openings.js +4 -0
- package/dist/model/openings.js.map +1 -1
- package/dist/model/planGeom.d.ts +72 -2
- package/dist/model/planGeom.js +184 -10
- package/dist/model/planGeom.js.map +1 -1
- package/dist/model/project.js +3 -2
- package/dist/model/project.js.map +1 -1
- package/dist/model/projectfile.js +2 -1
- package/dist/model/projectfile.js.map +1 -1
- package/dist/model/rooms.js +2 -2
- package/dist/model/rooms.js.map +1 -1
- package/dist/model/settings.d.ts +6 -0
- package/dist/model/settings.js +2 -2
- package/dist/model/settings.js.map +1 -1
- package/dist/model/sketch.d.ts +14 -0
- package/dist/model/sketch.js +143 -24
- package/dist/model/sketch.js.map +1 -1
- package/dist/model/smooth.d.ts +6 -0
- package/dist/model/smooth.js +52 -0
- package/dist/model/smooth.js.map +1 -0
- package/dist/model/store.d.ts +12 -0
- package/dist/model/store.js +35 -3
- package/dist/model/store.js.map +1 -1
- package/dist/model/types.d.ts +173 -8
- package/dist/model/wallfaces.d.ts +32 -0
- package/dist/model/wallfaces.js +133 -20
- package/dist/model/wallfaces.js.map +1 -1
- package/dist/model/wallshape.d.ts +15 -0
- package/dist/model/wallshape.js +89 -0
- package/dist/model/wallshape.js.map +1 -0
- package/dist/react/BottomBar.d.ts +9 -5
- package/dist/react/BottomBar.js +213 -24
- package/dist/react/BottomBar.js.map +1 -1
- package/dist/react/Buttons.d.ts +13 -2
- package/dist/react/Buttons.js +37 -5
- package/dist/react/Buttons.js.map +1 -1
- package/dist/react/CadEditor.d.ts +54 -4
- package/dist/react/CadEditor.js +79 -21
- package/dist/react/CadEditor.js.map +1 -1
- package/dist/react/ConfirmSheet.d.ts +4 -0
- package/dist/react/ConfirmSheet.js +31 -0
- package/dist/react/ConfirmSheet.js.map +1 -0
- package/dist/react/ConflictSheet.d.ts +2 -1
- package/dist/react/ConflictSheet.js +16 -8
- package/dist/react/ConflictSheet.js.map +1 -1
- package/dist/react/Drawer.d.ts +8 -2
- package/dist/react/Drawer.js +167 -38
- package/dist/react/Drawer.js.map +1 -1
- package/dist/react/Duck.d.ts +13 -0
- package/dist/react/Duck.js +45 -0
- package/dist/react/Duck.js.map +1 -0
- package/dist/react/Empty3D.d.ts +2 -0
- package/dist/react/Empty3D.js +39 -0
- package/dist/react/Empty3D.js.map +1 -0
- package/dist/react/FitScroll.d.ts +6 -0
- package/dist/react/FitScroll.js +14 -0
- package/dist/react/FitScroll.js.map +1 -0
- package/dist/react/Icon.native.d.ts +6 -0
- package/dist/react/Icon.native.js +4 -0
- package/dist/react/Icon.native.js.map +1 -1
- package/dist/react/Icon.web.d.ts +6 -0
- package/dist/react/Icon.web.js +4 -0
- package/dist/react/Icon.web.js.map +1 -1
- package/dist/react/KeypadSheet.d.ts +9 -2
- package/dist/react/KeypadSheet.js +174 -42
- package/dist/react/KeypadSheet.js.map +1 -1
- package/dist/react/LaserTray.js +8 -5
- package/dist/react/LaserTray.js.map +1 -1
- package/dist/react/MarkupPanel.d.ts +8 -0
- package/dist/react/MarkupPanel.js +67 -0
- package/dist/react/MarkupPanel.js.map +1 -0
- package/dist/react/PageThumb.native.d.ts +7 -2
- package/dist/react/PageThumb.native.js +19 -7
- package/dist/react/PageThumb.native.js.map +1 -1
- package/dist/react/PageThumb.web.d.ts +3 -2
- package/dist/react/PageThumb.web.js +4 -4
- package/dist/react/PageThumb.web.js.map +1 -1
- package/dist/react/PlanCanvas.native.d.ts +1 -1
- package/dist/react/PlanCanvas.native.js +134 -36
- package/dist/react/PlanCanvas.native.js.map +1 -1
- package/dist/react/PlanCanvas.web.js +16 -5
- package/dist/react/PlanCanvas.web.js.map +1 -1
- package/dist/react/Popovers.d.ts +12 -6
- package/dist/react/Popovers.js +53 -26
- package/dist/react/Popovers.js.map +1 -1
- package/dist/react/Rail.d.ts +24 -0
- package/dist/react/Rail.js +324 -34
- package/dist/react/Rail.js.map +1 -1
- package/dist/react/ShapeMenu.d.ts +7 -0
- package/dist/react/ShapeMenu.js +58 -0
- package/dist/react/ShapeMenu.js.map +1 -0
- package/dist/react/Sheet.d.ts +14 -4
- package/dist/react/Sheet.js +54 -9
- package/dist/react/Sheet.js.map +1 -1
- package/dist/react/Slider.d.ts +18 -0
- package/dist/react/Slider.js +27 -0
- package/dist/react/Slider.js.map +1 -0
- package/dist/react/Toast.js +14 -6
- package/dist/react/Toast.js.map +1 -1
- package/dist/react/ToolTip.d.ts +7 -0
- package/dist/react/ToolTip.js +43 -0
- package/dist/react/ToolTip.js.map +1 -0
- package/dist/react/TopBar.d.ts +6 -3
- package/dist/react/TopBar.js +48 -17
- package/dist/react/TopBar.js.map +1 -1
- package/dist/react/Tween.d.ts +7 -0
- package/dist/react/Tween.js +26 -0
- package/dist/react/Tween.js.map +1 -0
- package/dist/react/Tween.native.d.ts +6 -0
- package/dist/react/Tween.native.js +43 -0
- package/dist/react/Tween.native.js.map +1 -0
- package/dist/react/View3D.native.d.ts +4 -0
- package/dist/react/View3D.native.js +103 -0
- package/dist/react/View3D.native.js.map +1 -0
- package/dist/react/View3D.web.d.ts +4 -0
- package/dist/react/View3D.web.js +151 -0
- package/dist/react/View3D.web.js.map +1 -0
- package/dist/react/View3DHost.d.ts +143 -0
- package/dist/react/View3DHost.js +377 -0
- package/dist/react/View3DHost.js.map +1 -0
- package/dist/react/corners.d.ts +7 -0
- package/dist/react/corners.js +51 -0
- package/dist/react/corners.js.map +1 -0
- package/dist/react/easing.d.ts +15 -0
- package/dist/react/easing.js +10 -0
- package/dist/react/easing.js.map +1 -0
- package/dist/react/host.d.ts +7 -2
- package/dist/react/host.js +8 -3
- package/dist/react/host.js.map +1 -1
- package/dist/react/hostKeypad.d.ts +56 -0
- package/dist/react/hostKeypad.js +5 -0
- package/dist/react/hostKeypad.js.map +1 -0
- package/dist/react/motion.d.ts +77 -0
- package/dist/react/motion.js +173 -0
- package/dist/react/motion.js.map +1 -0
- package/dist/react/ports.js +90 -8
- package/dist/react/ports.js.map +1 -1
- package/dist/react/saving.d.ts +15 -0
- package/dist/react/saving.js +76 -0
- package/dist/react/saving.js.map +1 -0
- package/dist/react/store.d.ts +38 -1
- package/dist/react/store.js +31 -1
- package/dist/react/store.js.map +1 -1
- package/dist/react/theme.d.ts +10 -0
- package/dist/react/theme.js +8 -0
- package/dist/react/theme.js.map +1 -1
- package/dist/react/topRow.d.ts +22 -0
- package/dist/react/topRow.js +61 -0
- package/dist/react/topRow.js.map +1 -0
- package/dist/react/touch.d.ts +6 -0
- package/dist/react/touch.js +9 -0
- package/dist/react/touch.js.map +1 -0
- package/dist/render/ctx.d.ts +8 -0
- package/dist/render/draw.d.ts +33 -1
- package/dist/render/draw.js +593 -215
- package/dist/render/draw.js.map +1 -1
- package/dist/render/elevation.d.ts +65 -43
- package/dist/render/elevation.js +414 -140
- package/dist/render/elevation.js.map +1 -1
- package/dist/render/figmaIcons.d.ts +12 -0
- package/dist/render/figmaIcons.js +21 -0
- package/dist/render/figmaIcons.js.map +1 -0
- package/dist/render/hit.d.ts +22 -2
- package/dist/render/hit.js +168 -25
- package/dist/render/hit.js.map +1 -1
- package/dist/render/icons.js +69 -10
- package/dist/render/icons.js.map +1 -1
- package/dist/render/linkTile.d.ts +15 -0
- package/dist/render/linkTile.js +369 -0
- package/dist/render/linkTile.js.map +1 -0
- package/dist/render/markup.d.ts +11 -0
- package/dist/render/markup.js +112 -0
- package/dist/render/markup.js.map +1 -0
- package/dist/render/navigate.d.ts +88 -0
- package/dist/render/navigate.js +100 -0
- package/dist/render/navigate.js.map +1 -0
- package/dist/render/snap.d.ts +20 -1
- package/dist/render/snap.js +118 -25
- package/dist/render/snap.js.map +1 -1
- package/dist/render/squircle.d.ts +8 -0
- package/dist/render/squircle.js +71 -0
- package/dist/render/squircle.js.map +1 -0
- package/dist/render/view.d.ts +115 -2
- package/dist/render/view.js +244 -19
- package/dist/render/view.js.map +1 -1
- package/dist/skia/SkiaDrawCtx.d.ts +30 -2
- package/dist/skia/SkiaDrawCtx.js +198 -43
- package/dist/skia/SkiaDrawCtx.js.map +1 -1
- package/dist/skia/host.d.ts +18 -2
- package/dist/skia/host.js +46 -1
- package/dist/skia/host.js.map +1 -1
- package/dist/solver/equations.js +37 -2
- package/dist/solver/equations.js.map +1 -1
- package/dist/solver/gauss-newton.d.ts +17 -0
- package/dist/solver/gauss-newton.js +144 -36
- package/dist/solver/gauss-newton.js.map +1 -1
- package/dist/solver/linalg.d.ts +45 -2
- package/dist/solver/linalg.js +164 -10
- package/dist/solver/linalg.js.map +1 -1
- package/dist/solver/types.d.ts +5 -0
- package/dist/tools/annotate.d.ts +57 -1
- package/dist/tools/annotate.js +64 -43
- package/dist/tools/annotate.js.map +1 -1
- package/dist/tools/chamfer.d.ts +12 -0
- package/dist/tools/chamfer.js +114 -0
- package/dist/tools/chamfer.js.map +1 -0
- package/dist/tools/corner.d.ts +38 -0
- package/dist/tools/corner.js +99 -0
- package/dist/tools/corner.js.map +1 -0
- package/dist/tools/dim.d.ts +86 -9
- package/dist/tools/dim.js +582 -97
- package/dist/tools/dim.js.map +1 -1
- package/dist/tools/elevation.js +5 -5
- package/dist/tools/elevation.js.map +1 -1
- package/dist/tools/fillet.d.ts +9 -0
- package/dist/tools/fillet.js +86 -0
- package/dist/tools/fillet.js.map +1 -0
- package/dist/tools/freehand.d.ts +3 -2
- package/dist/tools/freehand.js +19 -12
- package/dist/tools/freehand.js.map +1 -1
- package/dist/tools/index.js +14 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/line.d.ts +8 -3
- package/dist/tools/line.js +66 -30
- package/dist/tools/line.js.map +1 -1
- package/dist/tools/modify.d.ts +13 -0
- package/dist/tools/modify.js +105 -25
- package/dist/tools/modify.js.map +1 -1
- package/dist/tools/openings.js +25 -18
- package/dist/tools/openings.js.map +1 -1
- package/dist/tools/registry.d.ts +8 -0
- package/dist/tools/registry.js +42 -2
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/select.d.ts +77 -3
- package/dist/tools/select.js +560 -74
- package/dist/tools/select.js.map +1 -1
- package/dist/tools/shapes.d.ts +14 -0
- package/dist/tools/shapes.js +154 -75
- package/dist/tools/shapes.js.map +1 -1
- package/dist/units/format.d.ts +11 -3
- package/dist/units/format.js +27 -6
- package/dist/units/format.js.map +1 -1
- package/dist/units/parse.d.ts +2 -1
- package/dist/units/parse.js +5 -4
- package/dist/units/parse.js.map +1 -1
- package/dist/units/prefs.d.ts +9 -1
- package/dist/units/prefs.js +6 -0
- package/dist/units/prefs.js.map +1 -1
- package/dist/view3d/build.d.ts +35 -0
- package/dist/view3d/build.js +630 -0
- package/dist/view3d/build.js.map +1 -0
- package/dist/view3d/camera.d.ts +60 -0
- package/dist/view3d/camera.js +84 -0
- package/dist/view3d/camera.js.map +1 -0
- package/dist/view3d/fatLines.d.ts +11 -0
- package/dist/view3d/fatLines.js +83 -0
- package/dist/view3d/fatLines.js.map +1 -0
- package/dist/view3d/lines.d.ts +17 -0
- package/dist/view3d/lines.js +271 -0
- package/dist/view3d/lines.js.map +1 -0
- package/dist/view3d/mesh.d.ts +51 -0
- package/dist/view3d/mesh.js +101 -0
- package/dist/view3d/mesh.js.map +1 -0
- package/dist/view3d/poly.d.ts +16 -0
- package/dist/view3d/poly.js +109 -0
- package/dist/view3d/poly.js.map +1 -0
- package/dist/view3d/viewer.d.ts +86 -0
- package/dist/view3d/viewer.js +350 -0
- package/dist/view3d/viewer.js.map +1 -0
- package/package.json +15 -2
- package/src/app/edit.ts +83 -12
- package/src/app/main.ts +11 -5
- package/src/app/state.ts +38 -5
- package/src/data/memory.ts +15 -10
- package/src/data/provider.ts +25 -10
- package/src/data/sync.ts +107 -53
- package/src/editor/actions.ts +292 -83
- package/src/editor/confirm.ts +58 -0
- package/src/editor/elevation.ts +698 -478
- package/src/editor/face.ts +227 -0
- package/src/editor/files.ts +40 -4
- package/src/editor/gestures.ts +147 -31
- package/src/editor/keypad.ts +67 -18
- package/src/editor/keys.ts +25 -5
- package/src/editor/laser.ts +98 -20
- package/src/editor/linkActions.ts +194 -0
- package/src/editor/linkFollow.ts +43 -0
- package/src/editor/linkWrite.ts +77 -0
- package/src/editor/links.ts +181 -0
- package/src/editor/markup.ts +92 -8
- package/src/editor/mode.ts +83 -7
- package/src/editor/ports.ts +39 -6
- package/src/editor/project.ts +157 -26
- package/src/editor/selection.ts +54 -8
- package/src/editor/status.ts +2 -0
- package/src/editor/tooltips.ts +47 -0
- package/src/editor/view3d.ts +119 -0
- package/src/editor/view3dState.ts +61 -0
- package/src/export/dxf.ts +1 -1
- package/src/export/pdf.ts +15 -7
- package/src/export/plan.ts +119 -35
- package/src/index.ts +7 -1
- package/src/input/keyboard.ts +2 -4
- package/src/model/constraints.ts +13 -4
- package/src/model/demo.ts +3 -3
- package/src/model/elevation.ts +6 -16
- package/src/model/faces.ts +153 -0
- package/src/model/facesolve.ts +322 -0
- package/src/model/history.ts +19 -11
- package/src/model/images.ts +35 -0
- package/src/model/links.ts +77 -0
- package/src/model/markup.ts +80 -0
- package/src/model/measurement.ts +26 -0
- package/src/model/openings.ts +6 -0
- package/src/model/planGeom.ts +174 -8
- package/src/model/project.ts +3 -2
- package/src/model/projectfile.ts +2 -1
- package/src/model/rooms.ts +1 -1
- package/src/model/settings.ts +8 -2
- package/src/model/sketch.ts +101 -14
- package/src/model/smooth.ts +51 -0
- package/src/model/store.ts +35 -4
- package/src/model/types.ts +170 -8
- package/src/model/wallfaces.ts +126 -17
- package/src/model/wallshape.ts +97 -0
- package/src/react/BottomBar.tsx +263 -46
- package/src/react/Buttons.tsx +50 -9
- package/src/react/CadEditor.tsx +142 -34
- package/src/react/ConfirmSheet.tsx +38 -0
- package/src/react/ConflictSheet.tsx +19 -12
- package/src/react/Drawer.tsx +213 -110
- package/src/react/Duck.tsx +50 -0
- package/src/react/Empty3D.tsx +32 -0
- package/src/react/FitScroll.tsx +19 -0
- package/src/react/Icon.native.tsx +5 -0
- package/src/react/Icon.web.tsx +5 -0
- package/src/react/KeypadSheet.tsx +253 -60
- package/src/react/LaserTray.tsx +12 -8
- package/src/react/MarkupPanel.tsx +150 -0
- package/src/react/PageThumb.native.tsx +18 -7
- package/src/react/PageThumb.web.tsx +4 -4
- package/src/react/PlanCanvas.native.tsx +151 -34
- package/src/react/PlanCanvas.web.tsx +15 -5
- package/src/react/Popovers.tsx +116 -51
- package/src/react/Rail.tsx +360 -27
- package/src/react/ShapeMenu.tsx +66 -0
- package/src/react/Sheet.tsx +56 -11
- package/src/react/Slider.tsx +48 -0
- package/src/react/Toast.tsx +16 -9
- package/src/react/ToolTip.tsx +49 -0
- package/src/react/TopBar.tsx +97 -39
- package/src/react/Tween.native.tsx +36 -0
- package/src/react/Tween.tsx +24 -0
- package/src/react/View3D.native.tsx +131 -0
- package/src/react/View3D.web.tsx +131 -0
- package/src/react/View3DHost.ts +367 -0
- package/src/react/corners.ts +52 -0
- package/src/react/easing.ts +14 -0
- package/src/react/host.ts +8 -3
- package/src/react/hostKeypad.ts +66 -0
- package/src/react/motion.tsx +239 -0
- package/src/react/ports.ts +78 -9
- package/src/react/saving.ts +80 -0
- package/src/react/store.ts +35 -3
- package/src/react/theme.ts +8 -0
- package/src/react/topRow.ts +71 -0
- package/src/react/touch.ts +10 -0
- package/src/render/ctx.ts +8 -0
- package/src/render/draw.ts +437 -175
- package/src/render/elevation.ts +349 -143
- package/src/render/figmaIcons.ts +22 -0
- package/src/render/hit.ts +140 -21
- package/src/render/icons.ts +69 -10
- package/src/render/linkTile.ts +297 -0
- package/src/render/markup.ts +91 -0
- package/src/render/navigate.ts +114 -0
- package/src/render/snap.ts +105 -22
- package/src/render/squircle.ts +73 -0
- package/src/render/view.ts +255 -19
- package/src/skia/SkiaDrawCtx.ts +163 -41
- package/src/skia/host.ts +46 -1
- package/src/solver/equations.ts +37 -2
- package/src/solver/gauss-newton.ts +125 -28
- package/src/solver/linalg.ts +141 -5
- package/src/solver/types.ts +5 -0
- package/src/styles.css +91 -42
- package/src/tools/annotate.ts +58 -29
- package/src/tools/chamfer.ts +103 -0
- package/src/tools/corner.ts +99 -0
- package/src/tools/dim.ts +525 -93
- package/src/tools/elevation.ts +5 -5
- package/src/tools/fillet.ts +82 -0
- package/src/tools/freehand.ts +20 -16
- package/src/tools/index.ts +17 -4
- package/src/tools/line.ts +59 -23
- package/src/tools/modify.ts +86 -24
- package/src/tools/openings.ts +11 -16
- package/src/tools/registry.ts +27 -2
- package/src/tools/select.ts +424 -75
- package/src/tools/shapes.ts +119 -58
- package/src/ui/ctx.ts +2 -1
- package/src/ui/domPorts.ts +23 -4
- package/src/ui/drawer.ts +6 -26
- package/src/ui/elevation.ts +10 -101
- package/src/ui/keypad.ts +8 -14
- package/src/ui/laser.ts +2 -2
- package/src/ui/menu.ts +63 -17
- package/src/ui/noteinput.ts +3 -3
- package/src/ui/opacity.ts +108 -0
- package/src/ui/palette.ts +67 -12
- package/src/ui/rail.ts +21 -7
- package/src/ui/topbar.ts +4 -14
- package/src/units/format.ts +24 -6
- package/src/units/parse.ts +4 -3
- package/src/units/prefs.ts +13 -1
- package/src/view3d/build.ts +607 -0
- package/src/view3d/camera.ts +113 -0
- package/src/view3d/fatLines.ts +83 -0
- package/src/view3d/lines.ts +258 -0
- package/src/view3d/mesh.ts +111 -0
- package/src/view3d/poly.ts +104 -0
- package/src/view3d/viewer.ts +348 -0
- package/dist/react/ElevCanvas.native.d.ts +0 -3
- package/dist/react/ElevCanvas.native.js +0 -58
- package/dist/react/ElevCanvas.native.js.map +0 -1
- package/dist/react/ElevCanvas.web.d.ts +0 -4
- package/dist/react/ElevCanvas.web.js +0 -44
- package/dist/react/ElevCanvas.web.js.map +0 -1
- package/dist/react/ElevationSheet.d.ts +0 -2
- package/dist/react/ElevationSheet.js +0 -38
- package/dist/react/ElevationSheet.js.map +0 -1
- package/dist/render/elevationView.d.ts +0 -3
- package/dist/render/elevationView.js +0 -100
- package/dist/render/elevationView.js.map +0 -1
- package/src/react/ElevCanvas.native.tsx +0 -68
- package/src/react/ElevCanvas.web.tsx +0 -42
- package/src/react/ElevationSheet.tsx +0 -88
- package/src/render/elevationView.ts +0 -73
package/dist/data/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/data/memory.ts"],"names":[],"mappings":"AAEA,2GAA2G;AAE3G,MAAM,IAAI,GAAG,CAAK,CAAI,EAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAM,CAAC;AAEjE,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,cAAc,EAAE,IAAI,GAAuB,IAAI,EAAE,KAAK,GAA+B,EAAE;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/data/memory.ts"],"names":[],"mappings":"AAEA,2GAA2G;AAE3G,MAAM,IAAI,GAAG,CAAK,CAAI,EAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAM,CAAC;AAEjE,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,cAAc,EAAE,IAAI,GAAuB,IAAI,EAAE,KAAK,GAA+B,EAAE,EAAE,IAAI,GAA4B,EAAE;IAC/J,kHAAkH;IAClH,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8F,CAAC;IACvH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuE,CAAC;IAChG,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,IAAqB,EAAE,KAAK,EAAE,EAA4B,EAAE,YAAY,EAAE,EAAyC,EAAE,MAAM,EAAE,EAAc,EAAE,YAAY,EAAE,EAA0D,EAAE,CAAC;IAC9T,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoD,CAAC;IAC7E,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAoB;QAChC,aAAa,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5K,cAAc,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7E,4GAA4G;QAC5G,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,aAAa,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAClK,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpI,KAAK,CAAC,eAAe,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;QAC7D,YAAY,EAAE;YACZ,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3I,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtG,SAAS,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9H,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACrG;KACF,CAAC;IACF,6CAA6C;IAC7C,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,CAAa,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,uFAAuF;IACvF,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACxI,2FAA2F;IAC3F,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;AACjE,CAAC"}
|
package/dist/data/provider.d.ts
CHANGED
|
@@ -12,25 +12,36 @@ export interface CadFileMeta {
|
|
|
12
12
|
layers?: Partial<Layers>;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
/** One page as stored.
|
|
15
|
+
/** One page as stored. Its images' src are uploaded images' addresses, never inline image data. */
|
|
16
16
|
export interface CadPageDoc {
|
|
17
17
|
name: string;
|
|
18
18
|
sk: Sketch;
|
|
19
|
-
|
|
19
|
+
/** the page's photos and plans, bottom first */
|
|
20
|
+
underlays: Underlay[];
|
|
21
|
+
/** pages written when a page held one image: read as `underlays` of that one, never written */
|
|
22
|
+
underlay?: Underlay | null;
|
|
20
23
|
/** the editing session that wrote it last, and its write count (to recognise our own writes coming back) */
|
|
21
24
|
rev?: {
|
|
22
25
|
clientId: string;
|
|
23
26
|
seq: number;
|
|
24
27
|
};
|
|
25
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Where a snapshot came from: the local cache, which may be stale and, offline, empty for what was never read on this
|
|
31
|
+
* device, or the server. Unset: the server. Firestore delivers the cache's answer first when it's offline; subscribe
|
|
32
|
+
* with metadata changes included, so the server's confirmation of an empty collection still arrives.
|
|
33
|
+
*/
|
|
34
|
+
export interface CadSnapshotMeta {
|
|
35
|
+
fromCache: boolean;
|
|
36
|
+
}
|
|
26
37
|
export interface CadDataProvider {
|
|
27
|
-
/** The file's name and drawing record (null record: not a drawing yet). Returns an unsubscribe function. */
|
|
38
|
+
/** The file's name and drawing record (null record: not a drawing yet; null file: no such file). Returns an unsubscribe function. */
|
|
28
39
|
subscribeFile(cb: (file: {
|
|
29
40
|
name: string;
|
|
30
41
|
meta: CadFileMeta | null;
|
|
31
|
-
} | null) => void): () => void;
|
|
42
|
+
} | null, meta?: CadSnapshotMeta) => void): () => void;
|
|
32
43
|
/** Every page of the drawing, by id. Returns an unsubscribe function. */
|
|
33
|
-
subscribePages(cb: (pages: Record<string, CadPageDoc
|
|
44
|
+
subscribePages(cb: (pages: Record<string, CadPageDoc>, meta?: CadSnapshotMeta) => void): () => void;
|
|
34
45
|
writeMeta(meta: CadFileMeta): Promise<void>;
|
|
35
46
|
writePage(id: string, page: CadPageDoc): Promise<void>;
|
|
36
47
|
deletePage(id: string): Promise<void>;
|
|
@@ -53,14 +64,23 @@ export interface CadMeasurementValue {
|
|
|
53
64
|
value: number;
|
|
54
65
|
}
|
|
55
66
|
/**
|
|
56
|
-
* The drawing's measurements in BOLDR
|
|
57
|
-
*
|
|
67
|
+
* The drawing's own measurements in BOLDR (scoped to the drawing's file): the ones an earlier version kept for each
|
|
68
|
+
* driving dimension. They still follow their dimensions, and changing one elsewhere changes its dimension; no new ones
|
|
69
|
+
* are made (a dimension is saved to the group through CadEditorProps.links instead).
|
|
58
70
|
*/
|
|
59
71
|
export interface CadMeasurements {
|
|
60
|
-
|
|
72
|
+
/** No longer called: kept so an older host still type-checks. */
|
|
73
|
+
create?(m: CadMeasurementValue): Promise<string>;
|
|
61
74
|
update(id: string, value: number): Promise<void>;
|
|
62
75
|
/** The drawing's measurements, by id. Returns an unsubscribe function. */
|
|
63
76
|
subscribe(cb: (values: Record<string, CadMeasurementValue>) => void): () => void;
|
|
64
|
-
/**
|
|
65
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Record which measurements the drawing shows (for "Associated Files"): its own (`ids`, in the drawing's group), and
|
|
79
|
+
* the job's it's linked to (`linked`, each in its own group; a form's with its column). All of them, every time.
|
|
80
|
+
*/
|
|
81
|
+
setPlaced?(ids: string[], linked?: {
|
|
82
|
+
groupId: string;
|
|
83
|
+
id: string;
|
|
84
|
+
columnId?: string;
|
|
85
|
+
}[]): Promise<void>;
|
|
66
86
|
}
|
package/dist/data/sync.d.ts
CHANGED
|
@@ -7,10 +7,16 @@ export declare class NotACadDrawing extends Error {
|
|
|
7
7
|
constructor(reason: 'missing' | 'legacy');
|
|
8
8
|
}
|
|
9
9
|
export interface CadSyncOptions {
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* The file was just created here: start its first page without waiting for the server's word on its pages (offline,
|
|
12
|
+
* the cache says there are none, as it says of any drawing never opened on this device). Also starts a new drawing
|
|
13
|
+
* when the file has no drawing record yet.
|
|
14
|
+
*/
|
|
11
15
|
initialize?: boolean;
|
|
12
16
|
/** a write or upload failed */
|
|
13
17
|
onError?: (e: unknown) => void;
|
|
18
|
+
/** closes the drawing while it's still opening (the person left): the promise rejects and nothing is written */
|
|
19
|
+
signal?: AbortSignal;
|
|
14
20
|
}
|
|
15
21
|
export interface CadSync {
|
|
16
22
|
/** where the editor keeps the project while this drawing is open (pass to setPersistence) */
|
|
@@ -23,10 +29,15 @@ export interface CadSync {
|
|
|
23
29
|
saveThumbnail(dataUrl: string): void;
|
|
24
30
|
/** the URL to draw a stored underlay from (`stored:` references; see CadDataProvider.uploadImage) */
|
|
25
31
|
imageUrl?(ref: string): Promise<string>;
|
|
32
|
+
/** whether the drawing open in the editor differs from what was last saved (or taken in) */
|
|
33
|
+
hasChanges(): boolean;
|
|
34
|
+
/** how many writes or uploads have failed so far (a save failed if this grew) */
|
|
35
|
+
failures(): number;
|
|
26
36
|
}
|
|
27
37
|
/**
|
|
28
|
-
* A driving dimension's value as BOLDR keeps it: lengths in micrometres, angles in degrees. Null for what isn't
|
|
29
|
-
*
|
|
38
|
+
* A driving dimension's value as BOLDR keeps it: lengths in micrometres, angles in degrees. Null for what isn't one of
|
|
39
|
+
* the drawing's own measurements: reference and print dimensions, constraints without a value, and dimensions linked
|
|
40
|
+
* to a measurement of the job (the job's, not the drawing's: see editor/links.ts).
|
|
30
41
|
*/
|
|
31
42
|
export declare function measurementOf(c: Constraint): CadMeasurementValue | null;
|
|
32
43
|
/** The id of a new drawing's first page. */
|
package/dist/data/sync.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { imagesOf } from '../model/images';
|
|
1
2
|
import { analyze } from '../app/edit';
|
|
2
3
|
import { ed } from '../app/state';
|
|
3
4
|
import { existsSel } from '../app/edit';
|
|
4
5
|
import { refreshDrawerSoon, renderElevation, updateCtx, updateStatus, updateTopBar } from '../editor/ports';
|
|
6
|
+
import { refreshLinks } from '../editor/links';
|
|
5
7
|
import { newPage } from '../model/demo';
|
|
6
|
-
import {
|
|
8
|
+
import { allCons } from '../model/faces';
|
|
9
|
+
import { syncFaces } from '../model/facesolve';
|
|
10
|
+
import { clearPageHistory, imageStored } from '../model/history';
|
|
7
11
|
import { defaultLayers, settings } from '../model/settings';
|
|
8
|
-
import {
|
|
12
|
+
import { store } from '../model/store';
|
|
13
|
+
import { dimMeasurement, dimValueOf } from '../model/measurement';
|
|
14
|
+
import { linkedMeasurements } from '../model/links';
|
|
9
15
|
import { setDimValue } from '../tools/dim';
|
|
10
16
|
import { aliasImage, requestDraw } from '../render/view';
|
|
11
17
|
/*
|
|
@@ -22,91 +28,78 @@ export class NotACadDrawing extends Error {
|
|
|
22
28
|
this.reason = reason;
|
|
23
29
|
}
|
|
24
30
|
}
|
|
25
|
-
const LENGTHS = new Set(['dist', 'pldist', 'diam']);
|
|
26
31
|
/**
|
|
27
|
-
* A driving dimension's value as BOLDR keeps it: lengths in micrometres, angles in degrees. Null for what isn't
|
|
28
|
-
*
|
|
32
|
+
* A driving dimension's value as BOLDR keeps it: lengths in micrometres, angles in degrees. Null for what isn't one of
|
|
33
|
+
* the drawing's own measurements: reference and print dimensions, constraints without a value, and dimensions linked
|
|
34
|
+
* to a measurement of the job (the job's, not the drawing's: see editor/links.ts).
|
|
29
35
|
*/
|
|
30
36
|
export function measurementOf(c) {
|
|
31
|
-
|
|
32
|
-
return null;
|
|
33
|
-
if (c.type === 'angle')
|
|
34
|
-
return { kind: 'angle', value: Math.round(c.value * 100) / 100 };
|
|
35
|
-
if (LENGTHS.has(c.type))
|
|
36
|
-
return { kind: 'length', value: Math.round(c.value * 25400) };
|
|
37
|
-
return null;
|
|
37
|
+
return c.measurementRef ? null : dimMeasurement(c);
|
|
38
38
|
}
|
|
39
|
-
const toInches = (m) => (m.kind === 'angle' ? m.value : m.value / 25400);
|
|
40
39
|
/** The id of a new drawing's first page. */
|
|
41
40
|
export const FIRST_PAGE_ID = 'page-1';
|
|
42
|
-
const pageJson = (p) => JSON.stringify({ name: p.name, sk: p.sk,
|
|
41
|
+
const pageJson = (p) => JSON.stringify({ name: p.name, sk: p.sk, underlays: imagesOf(p) });
|
|
43
42
|
const newClientId = () => Date.now().toString(36) + '-' + Math.floor(Math.random() * 0x100000000).toString(36);
|
|
44
43
|
export function openCadDrawing(provider, opts = {}) {
|
|
45
44
|
const clientId = newClientId();
|
|
46
45
|
let seq = 0, file, pages;
|
|
46
|
+
/** whether the latest file and pages snapshots are the cache's word rather than the server's */
|
|
47
|
+
let fileFromCache = false, pagesFromCache = false;
|
|
47
48
|
/** what each page looked like when last saved or taken in (to tell local edits from remote ones) */
|
|
48
49
|
const saved = new Map();
|
|
50
|
+
/** removed pages whose delete is queued or in flight */
|
|
51
|
+
const deleting = new Set();
|
|
49
52
|
/** pages with a write queued or in flight (count per page) */
|
|
50
53
|
const writing = new Map();
|
|
51
54
|
let savedMeta = '', project = null, chain = Promise.resolve(), stopped = false;
|
|
52
|
-
|
|
55
|
+
let failures = 0;
|
|
56
|
+
const fail = (e) => { failures++; opts.onError?.(e); };
|
|
53
57
|
const meas = provider.measurements;
|
|
54
58
|
/** each measurement's value as last written or seen (undefined: not heard from BOLDR yet) */
|
|
55
59
|
const known = new Map();
|
|
56
|
-
/** dimensions whose measurement is being created: "pageId|constraintId" */
|
|
57
|
-
const creating = new Set();
|
|
58
60
|
/** each dimension's measurement, so a dimension that undo brought back without its id gets the same one again */
|
|
59
61
|
const linked = new Map();
|
|
60
62
|
let placed = '', unsubMeas = null;
|
|
61
63
|
const pagesNow = () => (store.project === project ? store.project : project)?.pages ?? [];
|
|
62
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* The drawing's own measurements in BOLDR follow its dimensions: one a dimension already has (made by an earlier
|
|
66
|
+
* version, which kept every driving dimension as one) gets its new value. A new dimension stays the drawing's alone
|
|
67
|
+
* until the person saves it to the group (editor/linkActions.ts), when it's linked like any other measurement of the
|
|
68
|
+
* job — and those are the job's to keep (the host's `links`), never written here.
|
|
69
|
+
*/
|
|
63
70
|
function linkMeasurements(p) {
|
|
64
71
|
if (!meas)
|
|
65
72
|
return;
|
|
66
73
|
const ids = new Set();
|
|
67
74
|
for (const pg of p.pages)
|
|
68
|
-
for (const [cid, c] of
|
|
75
|
+
for (const [cid, c] of allCons(pg.sk)) {
|
|
69
76
|
const key = pg.id + '|' + cid;
|
|
77
|
+
// (linked to the job's: not the drawing's own, whatever it was before)
|
|
78
|
+
if (c.measurementRef) {
|
|
79
|
+
if (c.measurementId)
|
|
80
|
+
delete c.measurementId;
|
|
81
|
+
linked.delete(key);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
70
84
|
if (!c.measurementId && linked.has(key))
|
|
71
85
|
c.measurementId = linked.get(key);
|
|
72
|
-
if (c.measurementId)
|
|
73
|
-
ids.add(c.measurementId);
|
|
74
|
-
linked.set(key, c.measurementId);
|
|
75
|
-
}
|
|
76
|
-
const m = measurementOf(c);
|
|
77
|
-
if (!m)
|
|
86
|
+
if (!c.measurementId)
|
|
78
87
|
continue;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
queue(async () => {
|
|
84
|
-
try {
|
|
85
|
-
const id = await meas.create(m);
|
|
86
|
-
known.set(id, m.value);
|
|
87
|
-
linked.set(key, id);
|
|
88
|
-
// the page's sketch may have been replaced since (undo): stamp the dimension as it is now
|
|
89
|
-
const cur = pagesNow().find(x => x.id === pg.id)?.sk.cons[cid];
|
|
90
|
-
if (cur && !cur.measurementId) {
|
|
91
|
-
cur.measurementId = id;
|
|
92
|
-
saveSoon();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
finally {
|
|
96
|
-
creating.delete(key);
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
else if (known.has(c.measurementId) && known.get(c.measurementId) !== m.value) {
|
|
88
|
+
ids.add(c.measurementId);
|
|
89
|
+
linked.set(key, c.measurementId);
|
|
90
|
+
const m = measurementOf(c);
|
|
91
|
+
if (m && known.has(c.measurementId) && known.get(c.measurementId) !== m.value) {
|
|
101
92
|
const id = c.measurementId;
|
|
102
93
|
known.set(id, m.value);
|
|
103
94
|
queue(() => meas.update(id, m.value));
|
|
104
95
|
}
|
|
105
96
|
}
|
|
106
|
-
|
|
97
|
+
// where the drawing shows measurements: its own, and the job's it's linked to (each with its own group)
|
|
98
|
+
const job = linkedMeasurements(p), pj = JSON.stringify([[...ids].sort(), job.map(j => j.groupId + '|' + j.id + '|' + (j.columnId ?? '')).sort()]);
|
|
107
99
|
if (meas.setPlaced && pj !== placed) {
|
|
108
100
|
placed = pj;
|
|
109
|
-
|
|
101
|
+
const own = [...ids].sort();
|
|
102
|
+
queue(() => meas.setPlaced(own, job));
|
|
110
103
|
}
|
|
111
104
|
}
|
|
112
105
|
/** A measurement changed elsewhere (or while the drawing was closed): its dimension follows. */
|
|
@@ -117,17 +110,30 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
117
110
|
if (prev === mv.value)
|
|
118
111
|
continue;
|
|
119
112
|
for (const pg of pagesNow())
|
|
120
|
-
for (const [cid, c] of
|
|
113
|
+
for (const [cid, c] of allCons(pg.sk)) {
|
|
121
114
|
if (c.measurementId !== id)
|
|
122
115
|
continue;
|
|
123
116
|
const m = measurementOf(c);
|
|
124
117
|
if (!m || m.value === mv.value)
|
|
125
118
|
continue;
|
|
119
|
+
const editing = store.project === project && pg.id === store.curPageId;
|
|
120
|
+
const v = dimValueOf(c, mv); // (a fillet's radius is kept as its diameter)
|
|
121
|
+
if (!pg.sk.cons[cid]) {
|
|
122
|
+
// on a wall face: the face solves now on the page being edited (positions stay if it can't), elsewhere when next edited
|
|
123
|
+
c.value = v;
|
|
124
|
+
if (editing) {
|
|
125
|
+
ed.badFaceCons = syncFaces(pg.sk);
|
|
126
|
+
analyze();
|
|
127
|
+
requestDraw();
|
|
128
|
+
renderElevation();
|
|
129
|
+
}
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
126
132
|
// on the page being edited the drawing solves now (or explains why it can't); elsewhere when next edited
|
|
127
|
-
if (
|
|
128
|
-
setDimValue(cid,
|
|
133
|
+
if (editing)
|
|
134
|
+
setDimValue(cid, v);
|
|
129
135
|
else
|
|
130
|
-
c.value =
|
|
136
|
+
c.value = v;
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
139
|
}
|
|
@@ -136,7 +142,7 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
136
142
|
format: 'boldr-cad', version: 1, pageOrder: p.pages.map(pg => pg.id),
|
|
137
143
|
settings: { wallH: settings.wallH, layers: { ...settings.layers } },
|
|
138
144
|
});
|
|
139
|
-
const docOf = (pg) => ({ name: pg.name, sk: pg.sk,
|
|
145
|
+
const docOf = (pg) => ({ name: pg.name, sk: pg.sk, underlays: pg.underlays, rev: { clientId, seq: ++seq } });
|
|
140
146
|
/** Take in pages and the record someone else changed, where nothing local is unsaved. */
|
|
141
147
|
function takeIn() {
|
|
142
148
|
if (!project || !pages)
|
|
@@ -153,13 +159,15 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
153
159
|
continue; // edited here since, or nothing new
|
|
154
160
|
local.name = doc.name;
|
|
155
161
|
local.sk = doc.sk;
|
|
156
|
-
local.
|
|
162
|
+
local.underlays = imagesOf(doc);
|
|
157
163
|
clearPageHistory(id);
|
|
158
164
|
if (id === store.curPageId)
|
|
159
165
|
curChanged = true;
|
|
160
166
|
}
|
|
167
|
+
else if (saved.has(id))
|
|
168
|
+
continue; // removed here (not saved yet, or its delete is on the way)
|
|
161
169
|
else
|
|
162
|
-
project.pages.push({ id, name: doc.name, sk: doc.sk,
|
|
170
|
+
project.pages.push({ id, name: doc.name, sk: doc.sk, underlays: imagesOf(doc), view: null });
|
|
163
171
|
saved.set(id, json);
|
|
164
172
|
changed = true;
|
|
165
173
|
}
|
|
@@ -188,6 +196,7 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
188
196
|
refreshDrawerSoon();
|
|
189
197
|
renderElevation();
|
|
190
198
|
requestDraw();
|
|
199
|
+
refreshLinks();
|
|
191
200
|
}
|
|
192
201
|
const persistence = {
|
|
193
202
|
load() {
|
|
@@ -200,6 +209,9 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
200
209
|
settings.wallH = st.wallH;
|
|
201
210
|
if (st?.layers)
|
|
202
211
|
settings.layers = Object.assign(defaultLayers(), st.layers);
|
|
212
|
+
// the record as this editor would write it (a record missing newer settings isn't an unsaved change)
|
|
213
|
+
if (file?.meta)
|
|
214
|
+
savedMeta = JSON.stringify(metaOf(project));
|
|
203
215
|
},
|
|
204
216
|
save() {
|
|
205
217
|
const p = store.project;
|
|
@@ -219,30 +231,60 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
219
231
|
queue(async () => {
|
|
220
232
|
try {
|
|
221
233
|
// traced images are stored as files: upload, then keep the reference (the picture already shown stays)
|
|
222
|
-
|
|
223
|
-
|
|
234
|
+
for (const u of pg.underlays) {
|
|
235
|
+
if (!u.src.startsWith('data:'))
|
|
236
|
+
continue;
|
|
237
|
+
const local = u.src, ref = await provider.uploadImage(pg.id, local);
|
|
224
238
|
aliasImage(local, ref);
|
|
225
|
-
|
|
239
|
+
// the same picture wherever it's held: the page (if it's still there), and its undo steps
|
|
240
|
+
for (const v of pg.underlays)
|
|
241
|
+
if (v.src === local)
|
|
242
|
+
v.src = ref;
|
|
243
|
+
imageStored(pg.id, local, ref);
|
|
226
244
|
saved.set(pg.id, pageJson(pg));
|
|
227
245
|
requestDraw();
|
|
228
246
|
}
|
|
229
247
|
await provider.writePage(pg.id, docOf(pg));
|
|
230
248
|
}
|
|
249
|
+
catch (e) {
|
|
250
|
+
// not written: the page counts as changed again, so the next save retries it
|
|
251
|
+
if (saved.get(pg.id) === json || saved.get(pg.id) === pageJson(pg))
|
|
252
|
+
saved.delete(pg.id);
|
|
253
|
+
throw e;
|
|
254
|
+
}
|
|
231
255
|
finally {
|
|
232
256
|
done();
|
|
233
257
|
}
|
|
234
258
|
});
|
|
235
259
|
}
|
|
236
260
|
for (const id of [...saved.keys()]) {
|
|
237
|
-
if (p.pages.some(pg => pg.id === id))
|
|
261
|
+
if (p.pages.some(pg => pg.id === id) || deleting.has(id))
|
|
238
262
|
continue;
|
|
239
|
-
|
|
240
|
-
queue(() =>
|
|
263
|
+
deleting.add(id);
|
|
264
|
+
queue(async () => {
|
|
265
|
+
try {
|
|
266
|
+
await provider.deletePage(id);
|
|
267
|
+
saved.delete(id);
|
|
268
|
+
}
|
|
269
|
+
finally {
|
|
270
|
+
deleting.delete(id);
|
|
271
|
+
}
|
|
272
|
+
});
|
|
241
273
|
}
|
|
242
274
|
const meta = metaOf(p), mj = JSON.stringify(meta);
|
|
243
275
|
if (mj !== savedMeta) {
|
|
276
|
+
const was = savedMeta;
|
|
244
277
|
savedMeta = mj;
|
|
245
|
-
queue(() =>
|
|
278
|
+
queue(async () => {
|
|
279
|
+
try {
|
|
280
|
+
await provider.writeMeta(meta);
|
|
281
|
+
}
|
|
282
|
+
catch (e) {
|
|
283
|
+
if (savedMeta === mj)
|
|
284
|
+
savedMeta = was;
|
|
285
|
+
throw e;
|
|
286
|
+
}
|
|
287
|
+
});
|
|
246
288
|
}
|
|
247
289
|
return true;
|
|
248
290
|
},
|
|
@@ -252,6 +294,13 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
252
294
|
const tryOpen = () => {
|
|
253
295
|
if (ready || file === undefined || pages === undefined)
|
|
254
296
|
return;
|
|
297
|
+
// the cache's word isn't final: a file it hasn't got, or a drawing whose pages it hasn't got, may well be on the
|
|
298
|
+
// server — wait for its answer (a file just created here is fresh: its first page is made without waiting)
|
|
299
|
+
if (file === null && fileFromCache)
|
|
300
|
+
return;
|
|
301
|
+
const fresh = !!opts.initialize && !file?.meta?.pageOrder.length;
|
|
302
|
+
if (file && !Object.keys(pages).length && pagesFromCache && !fresh)
|
|
303
|
+
return;
|
|
255
304
|
ready = true;
|
|
256
305
|
if (file === null) {
|
|
257
306
|
stop();
|
|
@@ -265,7 +314,7 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
265
314
|
}
|
|
266
315
|
const order = file.meta?.pageOrder ?? [];
|
|
267
316
|
const ids = [...order.filter(id => pages[id]), ...Object.keys(pages).filter(id => !order.includes(id))];
|
|
268
|
-
project = { name: file.name, pages: ids.map(id => ({ id, name: pages[id].name, sk: pages[id].sk,
|
|
317
|
+
project = { name: file.name, pages: ids.map(id => ({ id, name: pages[id].name, sk: pages[id].sk, underlays: imagesOf(pages[id]), view: null })) };
|
|
269
318
|
for (const id of ids)
|
|
270
319
|
saved.set(id, pageJson(pages[id]));
|
|
271
320
|
if (file.meta)
|
|
@@ -285,18 +334,36 @@ export function openCadDrawing(provider, opts = {}) {
|
|
|
285
334
|
saveThumbnail: dataUrl => { if (provider.uploadThumbnail)
|
|
286
335
|
queue(() => provider.uploadThumbnail(dataUrl)); },
|
|
287
336
|
imageUrl: provider.imageUrl ? ref => provider.imageUrl(ref) : undefined,
|
|
337
|
+
hasChanges: () => {
|
|
338
|
+
const p = store.project === project ? store.project : project;
|
|
339
|
+
if (!p)
|
|
340
|
+
return false;
|
|
341
|
+
if (p.pages.some(pg => pageJson(pg) !== saved.get(pg.id)))
|
|
342
|
+
return true;
|
|
343
|
+
if ([...saved.keys()].some(id => !p.pages.some(pg => pg.id === id)))
|
|
344
|
+
return true;
|
|
345
|
+
return JSON.stringify(metaOf(p)) !== savedMeta;
|
|
346
|
+
},
|
|
347
|
+
failures: () => failures,
|
|
288
348
|
});
|
|
289
349
|
};
|
|
290
|
-
const unsubFile = provider.subscribeFile(f => { file = f; if (ready)
|
|
350
|
+
const unsubFile = provider.subscribeFile((f, m) => { file = f; fileFromCache = !!m?.fromCache; if (ready)
|
|
291
351
|
takeIn();
|
|
292
352
|
else
|
|
293
353
|
tryOpen(); });
|
|
294
|
-
const unsubPages = provider.subscribePages(p => { pages = p; if (ready)
|
|
354
|
+
const unsubPages = provider.subscribePages((p, m) => { pages = p; pagesFromCache = !!m?.fromCache; if (ready)
|
|
295
355
|
takeIn();
|
|
296
356
|
else
|
|
297
357
|
tryOpen(); });
|
|
298
358
|
unsubMeas = meas ? meas.subscribe(takeInMeasurements) : null;
|
|
299
359
|
function stop() { stopped = true; unsubFile(); unsubPages(); unsubMeas?.(); }
|
|
360
|
+
// left while still opening: let go of the drawing, nothing written
|
|
361
|
+
const abort = () => { if (ready)
|
|
362
|
+
return; ready = true; stop(); reject(new Error('closed')); };
|
|
363
|
+
if (opts.signal?.aborted)
|
|
364
|
+
abort();
|
|
365
|
+
else
|
|
366
|
+
opts.signal?.addEventListener('abort', abort, { once: true });
|
|
300
367
|
});
|
|
301
368
|
}
|
|
302
369
|
//# sourceMappingURL=sync.js.map
|
package/dist/data/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/data/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/data/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/editor/actions.d.ts
CHANGED
|
@@ -11,10 +11,9 @@ export type CtxEntry = CtxItem | 'sep' | {
|
|
|
11
11
|
};
|
|
12
12
|
/** Buttons for the bottom bar: they adapt to the tool and the selection (Lock first, when offered). */
|
|
13
13
|
export declare const barItems: () => CtxEntry[];
|
|
14
|
-
/** The yellow + only appears for something it can measure: not for constraint badges or spaces alone. */
|
|
15
14
|
export declare function plusVisible(): boolean;
|
|
16
15
|
export declare const plusLabel: () => string;
|
|
17
|
-
/** The yellow +:
|
|
16
|
+
/** The yellow +: the measurement that fits the selection (opens the keypad). */
|
|
18
17
|
export declare function plusAction(): void;
|
|
19
18
|
export declare function deleteSelection(): void;
|
|
20
19
|
/** Run a bottom-bar action. `anchor` is the button pressed, for actions that open a popover next to it. */
|