@reekon-tools/boldr-utils 1.19.5 → 1.20.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.
Files changed (88) hide show
  1. package/dist/annotation/canvas/AnnotationCanvasInner.d.ts +2 -0
  2. package/dist/annotation/canvas/AnnotationCanvasInner.js +12 -1
  3. package/dist/annotation/canvas/AnnotationCanvasInner.native.d.ts +2 -0
  4. package/dist/annotation/canvas/AnnotationCanvasInner.native.js +329 -35
  5. package/dist/annotation/canvas/AnnotationCanvasSkia.d.ts +28 -1
  6. package/dist/annotation/canvas/AnnotationCanvasSkia.js +99 -14
  7. package/dist/annotation/canvas/Tool.d.ts +10 -1
  8. package/dist/annotation/canvas/backgroundLayers.d.ts +20 -1
  9. package/dist/annotation/canvas/backgroundLayers.js +94 -3
  10. package/dist/annotation/canvas/elements/BackgroundImageElement.d.ts +2 -1
  11. package/dist/annotation/canvas/elements/BackgroundImageElement.js +10 -2
  12. package/dist/annotation/canvas/fileTileSwap.d.ts +12 -0
  13. package/dist/annotation/canvas/fileTileSwap.js +87 -0
  14. package/dist/annotation/canvas/snapGeometry.d.ts +32 -0
  15. package/dist/annotation/canvas/snapGeometry.js +168 -0
  16. package/dist/annotation/canvas/stampLayout.d.ts +1 -1
  17. package/dist/annotation/canvas/stampLayout.js +10 -8
  18. package/dist/annotation/canvas/tools/measurementTool.js +38 -4
  19. package/dist/annotation/canvas/tools/selectTool.d.ts +18 -0
  20. package/dist/annotation/canvas/tools/selectTool.js +201 -43
  21. package/dist/annotation/canvas/tools/shapeTool.js +27 -5
  22. package/dist/annotation/canvas/useAnnotationCanvasState.d.ts +2 -0
  23. package/dist/annotation/canvas/useAnnotationCanvasState.js +19 -2
  24. package/dist/annotation/data/hooks/useAnnotationCanvasDoc.js +5 -1
  25. package/dist/exports.d.ts +3 -1
  26. package/dist/exports.js +2 -0
  27. package/dist/types/annotation.d.ts +10 -0
  28. package/package.json +1 -1
  29. package/dist/canvas/AnnotationCanvas.d.ts +0 -11
  30. package/dist/canvas/AnnotationCanvas.js +0 -10
  31. package/dist/canvas/AnnotationCanvas.native.d.ts +0 -8
  32. package/dist/canvas/AnnotationCanvas.native.js +0 -6
  33. package/dist/canvas/AnnotationCanvasInner.d.ts +0 -39
  34. package/dist/canvas/AnnotationCanvasInner.js +0 -219
  35. package/dist/canvas/AnnotationCanvasInner.native.d.ts +0 -35
  36. package/dist/canvas/AnnotationCanvasInner.native.js +0 -138
  37. package/dist/canvas/AnnotationCanvasSkia.d.ts +0 -27
  38. package/dist/canvas/AnnotationCanvasSkia.js +0 -20
  39. package/dist/canvas/Tool.d.ts +0 -38
  40. package/dist/canvas/Tool.js +0 -1
  41. package/dist/canvas/elements/BackgroundImageElement.d.ts +0 -9
  42. package/dist/canvas/elements/BackgroundImageElement.js +0 -37
  43. package/dist/canvas/elements/MeasurementStampElement.d.ts +0 -13
  44. package/dist/canvas/elements/MeasurementStampElement.js +0 -30
  45. package/dist/canvas/elements/ShapeElement.d.ts +0 -7
  46. package/dist/canvas/elements/ShapeElement.js +0 -62
  47. package/dist/canvas/elements/StrokeElement.d.ts +0 -7
  48. package/dist/canvas/elements/StrokeElement.js +0 -18
  49. package/dist/canvas/measurementPicker.d.ts +0 -10
  50. package/dist/canvas/measurementPicker.js +0 -1
  51. package/dist/canvas/measurementStampOverlay.d.ts +0 -11
  52. package/dist/canvas/measurementStampOverlay.js +0 -1
  53. package/dist/canvas/pointerAdapter.d.ts +0 -3
  54. package/dist/canvas/pointerAdapter.js +0 -19
  55. package/dist/canvas/stampLayout.d.ts +0 -5
  56. package/dist/canvas/stampLayout.js +0 -14
  57. package/dist/canvas/tools/measurementStampTool.d.ts +0 -9
  58. package/dist/canvas/tools/measurementStampTool.js +0 -37
  59. package/dist/canvas/tools/panTool.d.ts +0 -5
  60. package/dist/canvas/tools/panTool.js +0 -25
  61. package/dist/canvas/tools/penTool.d.ts +0 -13
  62. package/dist/canvas/tools/penTool.js +0 -68
  63. package/dist/canvas/tools/selectTool.d.ts +0 -2
  64. package/dist/canvas/tools/selectTool.js +0 -182
  65. package/dist/canvas/useAnnotationCanvasState.d.ts +0 -54
  66. package/dist/canvas/useAnnotationCanvasState.js +0 -210
  67. package/dist/canvas/viewport.d.ts +0 -16
  68. package/dist/canvas/viewport.js +0 -54
  69. package/dist/data/AnnotationDataContext.d.ts +0 -8
  70. package/dist/data/AnnotationDataContext.js +0 -11
  71. package/dist/data/AnnotationDataProvider.d.ts +0 -65
  72. package/dist/data/AnnotationDataProvider.js +0 -4
  73. package/dist/data/InMemoryAnnotationProvider.d.ts +0 -30
  74. package/dist/data/InMemoryAnnotationProvider.js +0 -197
  75. package/dist/data/canvasPersistence.d.ts +0 -3
  76. package/dist/data/canvasPersistence.js +0 -26
  77. package/dist/data/hooks/useAnnotationCanvasDoc.d.ts +0 -33
  78. package/dist/data/hooks/useAnnotationCanvasDoc.js +0 -314
  79. package/dist/data/hooks/useAnnotationDoc.d.ts +0 -7
  80. package/dist/data/hooks/useAnnotationDoc.js +0 -33
  81. package/dist/data/hooks/useAnnotationList.d.ts +0 -7
  82. package/dist/data/hooks/useAnnotationList.js +0 -26
  83. package/dist/data/hooks/useAnnotationMutations.d.ts +0 -9
  84. package/dist/data/hooks/useAnnotationMutations.js +0 -11
  85. package/dist/hooks/useParseMeasurement.d.ts +0 -4
  86. package/dist/hooks/useParseMeasurement.js +0 -14
  87. package/dist/utils/evaluateFormula.d.ts +0 -20
  88. package/dist/utils/evaluateFormula.js +0 -31
@@ -21,6 +21,8 @@ export interface AnnotationCanvasInnerProps {
21
21
  decimalTolerance?: DecimalTolerance;
22
22
  resolveImageUrl?: (storagePath: string) => Promise<string>;
23
23
  deferBackgroundToResolver?: boolean;
24
+ hideLinkBadges?: boolean;
25
+ snapToGeometry?: boolean;
24
26
  pickMeasurement?: () => Promise<MeasurementRef | null>;
25
27
  requestTextInput?: RequestTextInput;
26
28
  renderBackground?: RenderCanvasBackground;
@@ -6,6 +6,7 @@ import { TEXT_FONT_FAMILY } from './elements/ShapeElement.js';
6
6
  import { buildRemoveMeasurementOps, hitPlacedMeasurement, } from './measurementGeometry.js';
7
7
  import { useAnnotationCanvasState, } from './useAnnotationCanvasState.js';
8
8
  import { stampTileDims } from './stampLayout.js';
9
+ import { SNAP_RING_PX, SNAP_RING_WIDTH_PX } from './snapGeometry.js';
9
10
  // Screen-px radius of a measurement-annotation endpoint handle (matches the
10
11
  // native HANDLE_RADIUS_PX). Divided by zoom for a constant on-screen size.
11
12
  const HANDLE_PX = 7;
@@ -27,7 +28,7 @@ const DEFAULT_PAN_TRIGGERS = ['middleMouse', 'space'];
27
28
  // (SSR / the vitest environment), where 1 is the right answer.
28
29
  const devicePixelRatioOf = () => typeof window === 'undefined' ? 1 : window.devicePixelRatio || 1;
29
30
  export const AnnotationCanvasInner = (props) => {
30
- const { resolveImageUrl, deferBackgroundToResolver, stampFontSource, stampValueFontSize = 14, gestures, width, height, style, activeToolId, tools, snapshotRef, renderBackground, } = props;
31
+ const { resolveImageUrl, deferBackgroundToResolver, hideLinkBadges, stampFontSource, stampValueFontSize = 14, gestures, width, height, style, activeToolId, tools, snapshotRef, renderBackground, } = props;
31
32
  // Snapshot plumbing for thumbnail capture: hold the <Canvas> ref and publish
32
33
  // a capture fn on the consumer's snapshotRef. encodeToBytes() yields PNG.
33
34
  const canvasRef = useCanvasRef();
@@ -316,6 +317,7 @@ export const AnnotationCanvasInner = (props) => {
316
317
  viewport: state.viewport,
317
318
  resolveImageUrl,
318
319
  deferBackgroundToResolver,
320
+ hideLinkBadges,
319
321
  backgroundContent,
320
322
  canvasRef,
321
323
  valueFont,
@@ -337,6 +339,15 @@ export const AnnotationCanvasInner = (props) => {
337
339
  ? HANDLE_RING_PX / state.viewport.zoom
338
340
  : undefined,
339
341
  showPlaneHandles: activeTool?.planeEditing === true,
342
+ // Magnetic-snap ring for the JS-path drags (select / measurement /
343
+ // shape tools report the target through ctx.snap.setIndicator).
344
+ snapIndicator: state.snapIndicator
345
+ ? {
346
+ c: state.snapIndicator,
347
+ r: SNAP_RING_PX / state.viewport.zoom,
348
+ ringWidth: SNAP_RING_WIDTH_PX / state.viewport.zoom,
349
+ }
350
+ : null,
340
351
  customPreview,
341
352
  }), renderMeasurementStamp && (_jsx("div", { style: {
342
353
  position: 'absolute',
@@ -22,6 +22,8 @@ export interface AnnotationCanvasInnerProps {
22
22
  decimalTolerance?: DecimalTolerance;
23
23
  resolveImageUrl?: (storagePath: string) => Promise<string>;
24
24
  deferBackgroundToResolver?: boolean;
25
+ hideLinkBadges?: boolean;
26
+ snapToGeometry?: boolean;
25
27
  pickMeasurement?: () => Promise<MeasurementRef | null>;
26
28
  requestTextInput?: RequestTextInput;
27
29
  renderBackground?: RenderCanvasBackground;