@reekon-tools/boldr-cad 1.3.0 → 1.5.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 (252) hide show
  1. package/README.md +21 -4
  2. package/dist/app/edit.d.ts +3 -3
  3. package/dist/app/edit.js +26 -1
  4. package/dist/app/edit.js.map +1 -1
  5. package/dist/app/state.d.ts +3 -5
  6. package/dist/app/state.js +0 -1
  7. package/dist/app/state.js.map +1 -1
  8. package/dist/data/sync.d.ts +1 -1
  9. package/dist/data/sync.js +7 -2
  10. package/dist/data/sync.js.map +1 -1
  11. package/dist/editor/actions.d.ts +8 -0
  12. package/dist/editor/actions.js +149 -169
  13. package/dist/editor/actions.js.map +1 -1
  14. package/dist/editor/elevation.d.ts +4 -1
  15. package/dist/editor/elevation.js +16 -17
  16. package/dist/editor/elevation.js.map +1 -1
  17. package/dist/editor/gestures.d.ts +21 -0
  18. package/dist/editor/gestures.js +92 -14
  19. package/dist/editor/gestures.js.map +1 -1
  20. package/dist/editor/keys.js +2 -2
  21. package/dist/editor/keys.js.map +1 -1
  22. package/dist/editor/linkActions.d.ts +22 -3
  23. package/dist/editor/linkActions.js +95 -13
  24. package/dist/editor/linkActions.js.map +1 -1
  25. package/dist/editor/mode.js +4 -3
  26. package/dist/editor/mode.js.map +1 -1
  27. package/dist/editor/project.js +1 -2
  28. package/dist/editor/project.js.map +1 -1
  29. package/dist/editor/scaleGate.d.ts +13 -0
  30. package/dist/editor/scaleGate.js +27 -0
  31. package/dist/editor/scaleGate.js.map +1 -0
  32. package/dist/editor/selection.js +13 -9
  33. package/dist/editor/selection.js.map +1 -1
  34. package/dist/editor/tooltips.js +9 -0
  35. package/dist/editor/tooltips.js.map +1 -1
  36. package/dist/editor/view3d.d.ts +4 -1
  37. package/dist/editor/view3d.js +6 -2
  38. package/dist/editor/view3d.js.map +1 -1
  39. package/dist/export/pdf.d.ts +5 -2
  40. package/dist/export/pdf.js +12 -8
  41. package/dist/export/pdf.js.map +1 -1
  42. package/dist/export/plan.d.ts +1 -1
  43. package/dist/export/plan.js +14 -9
  44. package/dist/export/plan.js.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/model/demo.d.ts +1 -0
  49. package/dist/model/demo.js +2 -1
  50. package/dist/model/demo.js.map +1 -1
  51. package/dist/model/elevation.d.ts +1 -1
  52. package/dist/model/elevation.js +3 -3
  53. package/dist/model/elevation.js.map +1 -1
  54. package/dist/model/history.js +4 -1
  55. package/dist/model/history.js.map +1 -1
  56. package/dist/model/links.d.ts +4 -1
  57. package/dist/model/links.js +9 -2
  58. package/dist/model/links.js.map +1 -1
  59. package/dist/model/measurement.d.ts +2 -2
  60. package/dist/model/measurement.js +3 -3
  61. package/dist/model/measurement.js.map +1 -1
  62. package/dist/model/openings.d.ts +10 -0
  63. package/dist/model/openings.js +18 -0
  64. package/dist/model/openings.js.map +1 -1
  65. package/dist/model/planGeom.d.ts +37 -2
  66. package/dist/model/planGeom.js +72 -9
  67. package/dist/model/planGeom.js.map +1 -1
  68. package/dist/model/project.js +5 -2
  69. package/dist/model/project.js.map +1 -1
  70. package/dist/model/rooms.d.ts +18 -5
  71. package/dist/model/rooms.js +178 -73
  72. package/dist/model/rooms.js.map +1 -1
  73. package/dist/model/scale.d.ts +30 -0
  74. package/dist/model/scale.js +120 -0
  75. package/dist/model/scale.js.map +1 -0
  76. package/dist/model/settings.d.ts +0 -1
  77. package/dist/model/settings.js +1 -1
  78. package/dist/model/settings.js.map +1 -1
  79. package/dist/model/sketch.d.ts +21 -1
  80. package/dist/model/sketch.js +58 -4
  81. package/dist/model/sketch.js.map +1 -1
  82. package/dist/model/stroke.js +2 -2
  83. package/dist/model/types.d.ts +38 -7
  84. package/dist/react/BottomBar.d.ts +2 -1
  85. package/dist/react/BottomBar.js +94 -25
  86. package/dist/react/BottomBar.js.map +1 -1
  87. package/dist/react/Drawer.js +3 -2
  88. package/dist/react/Drawer.js.map +1 -1
  89. package/dist/react/Duck.js.map +1 -1
  90. package/dist/react/KeypadSheet.js.map +1 -1
  91. package/dist/react/MarkupPanel.js +1 -1
  92. package/dist/react/PlanCanvas.native.js +54 -7
  93. package/dist/react/PlanCanvas.native.js.map +1 -1
  94. package/dist/react/Popovers.js +14 -3
  95. package/dist/react/Popovers.js.map +1 -1
  96. package/dist/react/Rail.js +1 -1
  97. package/dist/react/Sheet.d.ts +2 -2
  98. package/dist/react/Sheet.js.map +1 -1
  99. package/dist/react/barScroll.d.ts +23 -0
  100. package/dist/react/barScroll.js +47 -0
  101. package/dist/react/barScroll.js.map +1 -0
  102. package/dist/react/corners.d.ts +6 -2
  103. package/dist/react/corners.js.map +1 -1
  104. package/dist/react/host.d.ts +7 -0
  105. package/dist/react/host.js +14 -1
  106. package/dist/react/host.js.map +1 -1
  107. package/dist/react/motion.d.ts +1 -1
  108. package/dist/react/motion.js +1 -1
  109. package/dist/react/motion.js.map +1 -1
  110. package/dist/render/draw.d.ts +21 -4
  111. package/dist/render/draw.js +184 -149
  112. package/dist/render/draw.js.map +1 -1
  113. package/dist/render/elevation.js +3 -3
  114. package/dist/render/elevation.js.map +1 -1
  115. package/dist/render/figmaIcons.d.ts +6 -0
  116. package/dist/render/figmaIcons.js +16 -1
  117. package/dist/render/figmaIcons.js.map +1 -1
  118. package/dist/render/hit.d.ts +8 -1
  119. package/dist/render/hit.js +23 -4
  120. package/dist/render/hit.js.map +1 -1
  121. package/dist/render/icons.js +27 -20
  122. package/dist/render/icons.js.map +1 -1
  123. package/dist/render/lens.d.ts +27 -0
  124. package/dist/render/lens.js +41 -0
  125. package/dist/render/lens.js.map +1 -0
  126. package/dist/render/linkTile.d.ts +20 -2
  127. package/dist/render/linkTile.js +476 -246
  128. package/dist/render/linkTile.js.map +1 -1
  129. package/dist/render/snap.d.ts +5 -1
  130. package/dist/render/snap.js +3 -1
  131. package/dist/render/snap.js.map +1 -1
  132. package/dist/render/svgPath.d.ts +29 -0
  133. package/dist/render/svgPath.js +114 -0
  134. package/dist/render/svgPath.js.map +1 -0
  135. package/dist/render/tileIcons.d.ts +18 -0
  136. package/dist/render/tileIcons.js +67 -0
  137. package/dist/render/tileIcons.js.map +1 -0
  138. package/dist/render/view.d.ts +18 -1
  139. package/dist/render/view.js +31 -4
  140. package/dist/render/view.js.map +1 -1
  141. package/dist/skia/SkiaDrawCtx.d.ts +8 -0
  142. package/dist/skia/SkiaDrawCtx.js +27 -5
  143. package/dist/skia/SkiaDrawCtx.js.map +1 -1
  144. package/dist/solver/equations.d.ts +6 -0
  145. package/dist/solver/equations.js +23 -6
  146. package/dist/solver/equations.js.map +1 -1
  147. package/dist/solver/gauss-newton.js +6 -1
  148. package/dist/solver/gauss-newton.js.map +1 -1
  149. package/dist/tools/annotate.d.ts +0 -2
  150. package/dist/tools/annotate.js +1 -22
  151. package/dist/tools/annotate.js.map +1 -1
  152. package/dist/tools/chamfer.js +4 -0
  153. package/dist/tools/chamfer.js.map +1 -1
  154. package/dist/tools/dim.d.ts +3 -3
  155. package/dist/tools/dim.js +26 -65
  156. package/dist/tools/dim.js.map +1 -1
  157. package/dist/tools/fillet.js +4 -0
  158. package/dist/tools/fillet.js.map +1 -1
  159. package/dist/tools/freehand.js +1 -4
  160. package/dist/tools/freehand.js.map +1 -1
  161. package/dist/tools/line.js +15 -11
  162. package/dist/tools/line.js.map +1 -1
  163. package/dist/tools/modify.js +6 -1
  164. package/dist/tools/modify.js.map +1 -1
  165. package/dist/tools/registry.d.ts +5 -0
  166. package/dist/tools/registry.js +6 -1
  167. package/dist/tools/registry.js.map +1 -1
  168. package/dist/tools/select.d.ts +19 -0
  169. package/dist/tools/select.js +116 -17
  170. package/dist/tools/select.js.map +1 -1
  171. package/dist/tools/shapes.d.ts +1 -1
  172. package/dist/tools/shapes.js +12 -5
  173. package/dist/tools/shapes.js.map +1 -1
  174. package/dist/tools/survey.d.ts +6 -0
  175. package/dist/tools/survey.js +28 -0
  176. package/dist/tools/survey.js.map +1 -1
  177. package/dist/view3d/build.js +9 -8
  178. package/dist/view3d/build.js.map +1 -1
  179. package/package.json +9 -9
  180. package/src/app/edit.ts +25 -1
  181. package/src/app/state.ts +3 -5
  182. package/src/data/sync.ts +7 -2
  183. package/src/editor/actions.ts +126 -112
  184. package/src/editor/elevation.ts +13 -16
  185. package/src/editor/gestures.ts +83 -13
  186. package/src/editor/keys.ts +2 -2
  187. package/src/editor/linkActions.ts +90 -13
  188. package/src/editor/mode.ts +4 -3
  189. package/src/editor/project.ts +1 -2
  190. package/src/editor/scaleGate.ts +32 -0
  191. package/src/editor/selection.ts +13 -7
  192. package/src/editor/tooltips.ts +8 -0
  193. package/src/editor/view3d.ts +6 -2
  194. package/src/export/pdf.ts +7 -4
  195. package/src/export/plan.ts +14 -10
  196. package/src/index.ts +1 -1
  197. package/src/model/demo.ts +2 -1
  198. package/src/model/elevation.ts +4 -4
  199. package/src/model/history.ts +4 -1
  200. package/src/model/links.ts +8 -2
  201. package/src/model/measurement.ts +3 -3
  202. package/src/model/openings.ts +18 -0
  203. package/src/model/planGeom.ts +70 -10
  204. package/src/model/project.ts +6 -2
  205. package/src/model/rooms.ts +151 -63
  206. package/src/model/scale.ts +105 -0
  207. package/src/model/settings.ts +1 -2
  208. package/src/model/sketch.ts +48 -4
  209. package/src/model/stroke.ts +2 -2
  210. package/src/model/types.ts +38 -7
  211. package/src/react/BottomBar.tsx +114 -29
  212. package/src/react/Drawer.tsx +14 -10
  213. package/src/react/Duck.tsx +3 -3
  214. package/src/react/KeypadSheet.tsx +2 -2
  215. package/src/react/MarkupPanel.tsx +1 -1
  216. package/src/react/PlanCanvas.native.tsx +60 -6
  217. package/src/react/Popovers.tsx +24 -9
  218. package/src/react/Rail.tsx +1 -1
  219. package/src/react/Sheet.tsx +3 -3
  220. package/src/react/barScroll.ts +57 -0
  221. package/src/react/corners.ts +6 -3
  222. package/src/react/host.ts +14 -1
  223. package/src/react/motion.tsx +6 -6
  224. package/src/render/draw.ts +156 -116
  225. package/src/render/elevation.ts +5 -4
  226. package/src/render/figmaIcons.ts +17 -1
  227. package/src/render/hit.ts +21 -4
  228. package/src/render/icons.ts +27 -20
  229. package/src/render/lens.ts +52 -0
  230. package/src/render/linkTile.ts +436 -190
  231. package/src/render/snap.ts +7 -2
  232. package/src/render/svgPath.ts +95 -0
  233. package/src/render/tileIcons.ts +75 -0
  234. package/src/render/view.ts +37 -5
  235. package/src/skia/SkiaDrawCtx.ts +26 -4
  236. package/src/solver/equations.ts +22 -6
  237. package/src/solver/gauss-newton.ts +4 -1
  238. package/src/styles.css +3 -2
  239. package/src/tools/annotate.ts +1 -18
  240. package/src/tools/chamfer.ts +3 -0
  241. package/src/tools/dim.ts +26 -52
  242. package/src/tools/fillet.ts +3 -0
  243. package/src/tools/freehand.ts +1 -3
  244. package/src/tools/line.ts +12 -11
  245. package/src/tools/modify.ts +5 -1
  246. package/src/tools/registry.ts +10 -1
  247. package/src/tools/select.ts +99 -18
  248. package/src/tools/shapes.ts +9 -4
  249. package/src/tools/survey.ts +21 -0
  250. package/src/ui/ctx.ts +4 -3
  251. package/src/ui/drawer.ts +8 -2
  252. package/src/view3d/build.ts +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"linkTile.js","sourceRoot":"","sources":["../../src/render/linkTile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linkTile.js","sourceRoot":"","sources":["../../src/render/linkTile.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  import { type Snap } from '../app/state';
2
2
  export interface SnapOpts {
3
3
  touch?: boolean;
4
- /** point ids to ignore (e.g. the point being dragged) */
4
+ /**
5
+ * point ids to ignore (e.g. the point being dragged) — and what moves with them: the lines they're an end of (their
6
+ * middles, where they cross others, a point on them) and the circles they're the centre of. Snapping to those would
7
+ * only hold a dragged point to its own line.
8
+ */
5
9
  exclude?: Set<string>;
6
10
  excludeLines?: Set<string>;
7
11
  /** start of the segment being drawn (enables H/V/perpendicular inference) */
@@ -86,7 +86,7 @@ function snapRaw(sx, sy, o) {
86
86
  if (o.excludeLines && o.excludeLines.has(id))
87
87
  continue;
88
88
  const l = sk.lines[id];
89
- if (ex.has(l.a) && ex.has(l.b))
89
+ if (ex.has(l.a) || ex.has(l.b))
90
90
  continue;
91
91
  const A = sk.points[l.a], B = sk.points[l.b];
92
92
  cand((A.x + B.x) / 2, (A.y + B.y) / 2, 'mid', id, 1, 'Midpoint');
@@ -202,6 +202,8 @@ function snapRaw(sx, sy, o) {
202
202
  if (!guides.length) {
203
203
  for (const id in sk.circles) {
204
204
  const ci = sk.circles[id], o2 = sk.points[ci.c];
205
+ if (ex.has(ci.c))
206
+ continue;
205
207
  const d = hyp(wx - o2.x, wy - o2.y);
206
208
  if (Math.abs(d - ci.r) * T.s < tol && d > 1e-6) {
207
209
  return finish({ x: o2.x + ((wx - o2.x) / d) * ci.r, y: o2.y + ((wy - o2.y) / d) * ci.r, kind: 'oncircle', ref: id, label: 'On circle', guides: [] });
@@ -1 +1 @@
1
- {"version":3,"file":"snap.js","sourceRoot":"","sources":["../../src/render/snap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snap.js","sourceRoot":"","sources":["../../src/render/snap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { DrawCtx } from './ctx';
2
+ export type PathOp = ['M' | 'L', number, number] | ['C', number, number, number, number, number, number] | ['Z'];
3
+ export interface SvgIcon {
4
+ /** the viewBox: its origin and size */
5
+ x: number;
6
+ y: number;
7
+ w: number;
8
+ h: number;
9
+ paths: {
10
+ ops: PathOp[];
11
+ fill: string;
12
+ stroke?: {
13
+ color: string;
14
+ width: number;
15
+ };
16
+ }[];
17
+ }
18
+ /** A path's `d` as moves, lines and cubic curves (H and V become lines). */
19
+ export declare function parsePath(d: string): PathOp[];
20
+ /** Trace parsed path ops on `c` (the caller begins the path, then fills it). */
21
+ export declare function tracePath(c: DrawCtx, ops: PathOp[]): void;
22
+ /** An exported SVG, read once: its viewBox and its filled paths (and their strokes), in order. */
23
+ export declare function svgIcon(svg: string): SvgIcon;
24
+ /**
25
+ * An icon `size` across (its longer side), its top left at x, y: each path filled (and stroked, where it is) in its own
26
+ * colour, or all in `color`. `key` names it where the engine keeps shapes (each path is described once, then moved into
27
+ * place): one key to an icon.
28
+ */
29
+ export declare function drawSvgIcon(c: DrawCtx, icon: SvgIcon, key: string, x: number, y: number, size: number, color?: string): void;
@@ -0,0 +1,114 @@
1
+ const TOKEN = /[A-Za-z]|-?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?/g;
2
+ const COMMANDS = new Set(['M', 'L', 'H', 'V', 'C', 'Z']);
3
+ /** A path's `d` as moves, lines and cubic curves (H and V become lines). */
4
+ export function parsePath(d) {
5
+ const tk = d.match(TOKEN) ?? [], out = [];
6
+ let i = 0, x = 0, y = 0, sx = 0, sy = 0;
7
+ const num = () => {
8
+ const n = Number(tk[i++]);
9
+ if (!Number.isFinite(n))
10
+ throw new Error('svgPath: a number expected in "' + d + '"');
11
+ return n;
12
+ };
13
+ while (i < tk.length) {
14
+ const cmd = tk[i++];
15
+ if (!COMMANDS.has(cmd))
16
+ throw new Error('svgPath: unsupported command ' + cmd);
17
+ if (cmd === 'Z') {
18
+ out.push(['Z']);
19
+ x = sx;
20
+ y = sy;
21
+ continue;
22
+ }
23
+ // (a command's numbers can repeat it: pairs after M's first are lines)
24
+ let first = true;
25
+ do {
26
+ if (cmd === 'M' || cmd === 'L') {
27
+ x = num();
28
+ y = num();
29
+ if (cmd === 'M' && first) {
30
+ out.push(['M', x, y]);
31
+ sx = x;
32
+ sy = y;
33
+ }
34
+ else
35
+ out.push(['L', x, y]);
36
+ }
37
+ else if (cmd === 'H') {
38
+ x = num();
39
+ out.push(['L', x, y]);
40
+ }
41
+ else if (cmd === 'V') {
42
+ y = num();
43
+ out.push(['L', x, y]);
44
+ }
45
+ else {
46
+ const a = num(), b = num(), c = num(), e = num();
47
+ x = num();
48
+ y = num();
49
+ out.push(['C', a, b, c, e, x, y]);
50
+ }
51
+ first = false;
52
+ } while (i < tk.length && !/^[A-Za-z]$/.test(tk[i]));
53
+ }
54
+ return out;
55
+ }
56
+ /** Trace parsed path ops on `c` (the caller begins the path, then fills it). */
57
+ export function tracePath(c, ops) {
58
+ for (const o of ops) {
59
+ if (o[0] === 'M')
60
+ c.moveTo(o[1], o[2]);
61
+ else if (o[0] === 'L')
62
+ c.lineTo(o[1], o[2]);
63
+ else if (o[0] === 'C')
64
+ c.bezierCurveTo(o[1], o[2], o[3], o[4], o[5], o[6]);
65
+ else
66
+ c.closePath();
67
+ }
68
+ }
69
+ /** An exported SVG, read once: its viewBox and its filled paths (and their strokes), in order. */
70
+ export function svgIcon(svg) {
71
+ const vb = /<svg\b[^>]*\sviewBox="([^"]*)"/.exec(svg)?.[1].trim().split(/[\s,]+/).map(Number);
72
+ if (!vb || vb.length !== 4 || vb.some(n => !Number.isFinite(n)))
73
+ throw new Error('svgPath: an SVG without a viewBox');
74
+ const paths = [...svg.matchAll(/<path\b([^>]*)>/g)].map(([, attrs]) => {
75
+ const d = /\sd="([^"]*)"/.exec(attrs)?.[1], fill = /\sfill="([^"]*)"/.exec(attrs)?.[1];
76
+ if (!d || !fill || fill === 'none')
77
+ throw new Error('svgPath: only filled paths are drawn');
78
+ const stroke = /\sstroke="([^"]*)"/.exec(attrs)?.[1], width = Number(/\sstroke-width="([^"]*)"/.exec(attrs)?.[1] ?? 1);
79
+ return { ops: parsePath(d), fill, ...(stroke && stroke !== 'none' ? { stroke: { color: stroke, width } } : {}) };
80
+ });
81
+ return { x: vb[0], y: vb[1], w: vb[2], h: vb[3], paths };
82
+ }
83
+ /**
84
+ * An icon `size` across (its longer side), its top left at x, y: each path filled (and stroked, where it is) in its own
85
+ * colour, or all in `color`. `key` names it where the engine keeps shapes (each path is described once, then moved into
86
+ * place): one key to an icon.
87
+ */
88
+ export function drawSvgIcon(c, icon, key, x, y, size, color) {
89
+ const u = size / Math.max(icon.w, icon.h);
90
+ c.save();
91
+ c.translate(x, y);
92
+ c.scale(u, u);
93
+ c.translate(-icon.x, -icon.y);
94
+ icon.paths.forEach(({ ops, fill, stroke }, i) => {
95
+ if (c.shape)
96
+ c.shape('svg ' + key + ' ' + i, 0, 0, cc => tracePath(cc, ops));
97
+ else {
98
+ c.beginPath();
99
+ tracePath(c, ops);
100
+ }
101
+ c.fillStyle = color ?? fill;
102
+ c.fill();
103
+ // (its width in the icon's own units: the context is scaled to it; SVG's own joins and caps)
104
+ if (stroke) {
105
+ c.lineWidth = stroke.width;
106
+ c.lineJoin = 'miter';
107
+ c.lineCap = 'butt';
108
+ c.strokeStyle = color ?? stroke.color;
109
+ c.stroke();
110
+ }
111
+ });
112
+ c.restore();
113
+ }
114
+ //# sourceMappingURL=svgPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgPath.js","sourceRoot":"","sources":["../../src/render/svgPath.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** File (a PDF or any other document): 2803:81886. */
2
+ export declare const BADGE_FILE_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"10\" height=\"12.7932\" viewBox=\"0 0 10 12.7932\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path id=\"Vector\" d=\"M9.58955 2.56397L8.15032 1.12473C7.6178 0.676972 7.3049 0 6.43923 0H1.40192C0.628998 0 0 0.628998 0 1.40192V11.3913C0 12.1642 0.628998 12.7932 1.40192 12.7932H8.59808C9.371 12.7932 10 12.1642 10 11.3913V3.56077C10 3.18763 9.85075 2.82516 9.58955 2.56397ZM4.06183 3.37953H5.93817C6.23134 3.37953 6.47122 3.6194 6.47122 3.91258C6.47122 4.21109 6.23134 4.44563 5.93817 4.44563H4.06183C3.76866 4.44563 3.52878 4.21109 3.52878 3.91258C3.52878 3.6194 3.76866 3.37953 4.06183 3.37953ZM7.60128 9.41365H2.39872C2.10554 9.41365 1.86567 9.17377 1.86567 8.8806C1.86567 8.58209 2.10554 8.34755 2.39872 8.34755H7.60128C7.89446 8.34755 8.13433 8.58209 8.13433 8.8806C8.13433 9.17377 7.89446 9.41365 7.60128 9.41365ZM7.60128 6.92964H2.39872C2.10554 6.92964 1.86567 6.68977 1.86567 6.39659C1.86567 6.10341 2.10554 5.86354 2.39872 5.86354H7.60128C7.89446 5.86354 8.13433 6.10341 8.13433 6.39659C8.13433 6.68977 7.89446 6.92964 7.60128 6.92964Z\" fill=\"white\"/>\n</svg>";
3
+ /** Construction calculator: 2803:81320. */
4
+ export declare const BADGE_CON_CALC_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"14.1429\" height=\"11\" viewBox=\"0 0 14.1429 11\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path id=\"Vector\" d=\"M0 8.80008C0.529231 8.80008 1.05846 8.80008 1.58769 8.80008C1.98819 8.80008 2.39346 8.80008 2.79396 8.80008C2.97991 8.80008 2.97991 8.80008 2.97991 8.62145C2.97991 7.74242 2.97991 6.8681 2.97991 5.98907C2.97991 5.89505 3.00851 5.88095 3.09433 5.88095C4.01453 5.88095 4.92996 5.88095 5.85015 5.88095C5.9312 5.88095 5.95981 5.85275 5.95981 5.77754C5.95981 5.68352 5.95981 5.58951 5.95981 5.49549C5.95981 4.66817 5.95981 3.84555 5.95981 3.01823C5.95981 2.94772 5.97888 2.93362 6.0504 2.93362C6.97536 2.93362 7.90033 2.93362 8.82529 2.93362C8.90634 2.93362 8.93018 2.91012 8.93018 2.83021C8.93018 1.91827 8.93018 1.01104 8.93018 0.0991062C8.93018 0.0238952 8.94448 0.000391724 9.02554 0.000391724C10.6895 0.000391724 12.3535 0.000391724 14.0175 0.000391724C14.1653 0.000391724 14.1414 -0.0137103 14.1414 0.12731C14.1414 0.790107 14.1414 1.4576 14.1414 2.1204C14.1414 2.19091 14.1128 2.20031 14.0556 2.20031C13.1497 2.20031 12.2486 2.20031 11.3427 2.20031C11.2251 2.20031 11.1663 2.25986 11.1663 2.37894C11.1663 3.25797 11.1663 4.1417 11.1663 5.02073C11.1663 5.10534 11.1425 5.11944 11.0614 5.11944C10.1412 5.11944 9.21625 5.11944 8.29606 5.11944C8.20547 5.11944 8.1864 5.14764 8.1864 5.22756C8.1864 6.05958 8.1864 6.8963 8.1864 7.72832C8.1864 7.78003 8.1864 7.83174 8.1864 7.88344C8.18957 7.99939 8.13395 8.05737 8.01952 8.05737C7.1184 8.05737 6.21727 8.05737 5.31615 8.05737C5.2351 8.05737 5.21126 8.08087 5.21126 8.16078C5.21126 9.04921 5.21126 9.93764 5.21126 10.8261C5.21126 10.8825 5.22079 10.9436 5.19695 11C3.49007 11 1.78318 11 0.0810534 11C0.0238392 11 0 10.9953 0 10.9248C0 10.215 0 9.50518 0 8.79068L0 8.80008Z\" fill=\"white\"/>\n</svg>";
5
+ /** Conversion: 704:23616. */
6
+ export declare const BADGE_CONVERSION_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"12\" height=\"10.5869\" viewBox=\"0 0 12 10.5869\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g id=\"Group\">\n<path id=\"Vector\" d=\"M11.1895 4.50438H0.336525C0.151436 4.50438 0 4.34136 0 4.14212V2.78363C0 2.58439 0.151436 2.42137 0.336525 2.42137H7.3497L7.34299 0.363716C7.34299 0.0413019 7.70307 -0.121716 7.91509 0.10651L11.425 3.88491C11.6371 4.11314 11.4856 4.50076 11.1895 4.50076V4.50438Z\" fill=\"white\"/>\n<path id=\"Vector_2\" d=\"M0.810528 6.08256H11.6635C11.8486 6.08256 12 6.24558 12 6.44483V7.80331C12 8.00256 11.8486 8.16557 11.6635 8.16557H4.65029L4.65701 10.2232C4.65701 10.5456 4.29695 10.7087 4.08493 10.4804L0.574976 6.70203C0.362965 6.47381 0.514385 6.08619 0.810528 6.08619V6.08256Z\" fill=\"white\"/>\n</g>\n</svg>";
7
+ /** Note: 2803:80267. */
8
+ export declare const BADGE_NOTE_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"13\" height=\"12\" viewBox=\"0 0 13 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g id=\"Group\">\n<path id=\"Vector\" d=\"M9.28791 4.67696C8.86519 4.67696 8.52701 4.31881 8.52701 3.8806V0H5.18546C4.64196 0 4.20312 0.459245 4.20312 1.02807V2.65871L7.7661 6.38763L7.9835 6.61515L7.99961 6.9396L8.0761 8.46488C8.0922 8.73876 7.99558 9.01264 7.81441 9.21489C7.63324 9.41714 7.37558 9.5309 7.1139 9.5309H7.08571H7.06558L5.60818 9.45085L5.29819 9.43398L5.08078 9.20646L4.20312 8.28792V10.9719C4.20312 11.5407 4.64196 12 5.18546 12H12.0175C12.561 12 12.9998 11.5407 12.9998 10.9719V4.68118H9.29194L9.28791 4.67696Z\" fill=\"white\"/>\n<path id=\"Vector_2\" d=\"M10.0246 3.59367H12.8468L9.55762 0.151263V3.10492C9.55762 3.37458 9.76697 3.59367 10.0246 3.59367Z\" fill=\"white\"/>\n<path id=\"Vector_3\" d=\"M1.36816 4.12827L4.19841 7.09034V3.84595L2.91816 2.50607L1.3883 4.10721L1.36816 4.12827Z\" fill=\"white\"/>\n<path id=\"Vector_4\" d=\"M5.64405 8.60391L7.10145 8.68396C7.10145 8.68396 7.10548 8.68396 7.1095 8.68396C7.2021 8.68396 7.27457 8.60389 7.27054 8.50698L7.19405 6.9817L4.19873 3.85108V7.09547L5.64405 8.60813V8.60391Z\" fill=\"white\"/>\n<path id=\"Vector_5\" d=\"M1.48558 1.04862C1.44934 1.04862 1.41311 1.06547 1.3809 1.09918L0.0442827 2.47698C-2.8256e-06 2.52332 0 2.56547 0 2.59075C0 2.61603 -2.8256e-06 2.65817 0.0442827 2.70452L0.797139 3.49244L2.327 1.89132L1.57415 1.1034C1.55402 1.06969 1.52181 1.05284 1.48558 1.05284V1.04862Z\" fill=\"white\"/>\n<path id=\"Vector_6\" d=\"M0.796875 3.48782L0.82103 3.5131L2.3509 1.91198L2.32674 1.8867L0.796875 3.48782Z\" fill=\"white\"/>\n</g>\n</svg>";
9
+ /** CAD drawing: 2803:81241 (filled, and stroked over its fill). */
10
+ export declare const BADGE_CAD_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"13.4887\" height=\"14.4887\" viewBox=\"0 0 13.4887 14.4887\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path id=\"Vector\" d=\"M11.6357 2.49703L8.21928 0.62548C7.76732 0.376265 7.25704 0.244328 6.7419 0.244328C6.22676 0.244328 5.71648 0.376265 5.26452 0.62548L1.85293 2.49703C0.856667 3.03944 0.244328 4.08517 0.244328 5.22373V9.26981C0.244328 10.4035 0.856667 11.4492 1.85293 11.9916L5.26452 13.8681C5.71648 14.1124 6.22676 14.2443 6.7419 14.2443C7.25704 14.2443 7.76732 14.1124 8.21928 13.8681L11.6357 11.9916C12.6271 11.4492 13.2443 10.4035 13.2443 9.26981V5.22373C13.2443 4.08517 12.6271 3.03944 11.6357 2.49703ZM6.2948 13.4136L2.28059 11.2049C1.57106 10.8188 1.13367 10.0761 1.13367 9.26981V4.28551L6.2948 7.48621V13.4136ZM1.71685 3.59162L5.69218 1.41222C6.01293 1.2363 6.37741 1.14346 6.7419 1.14346C7.10639 1.14346 7.46601 1.2363 7.78676 1.41222L11.7621 3.59162L6.7419 6.70925L1.71685 3.59162ZM12.3501 9.26981C12.3501 10.0761 11.9127 10.8188 11.2081 11.2049L7.189 13.4136V7.48621L12.3501 4.28551V9.26981Z\" fill=\"white\" stroke-width=\"0.488656\" stroke-miterlimit=\"10\" stroke=\"white\"/>\n</svg>";
11
+ /** Label printer: 2803:81633. */
12
+ export declare const BADGE_LABEL_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"13\" height=\"12.5\" viewBox=\"0 0 13 12.5\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g id=\"Group\">\n<path id=\"Vector\" d=\"M10.9488 0H2.06055V2.70494H10.9488V0Z\" fill=\"white\"/>\n<path id=\"Vector_2\" d=\"M12.1295 3.67403H0.870457C0.389299 3.67403 0 4.06232 0 4.54222V9.3326C0 9.81251 0.489906 10.2008 0.971064 10.2008H2.05585V12.5H10.9441V10.2008H12.1295C12.6063 10.2008 13 9.81251 13 9.3326V4.54222C13 4.06668 12.6107 3.67403 12.1295 3.67403ZM9.58378 11.1344H3.42497V7.9234H9.58378V11.1344ZM11.4166 5.74636C11.141 5.74636 10.9179 5.52385 10.9179 5.249C10.9179 4.97414 11.1454 4.75166 11.4166 4.75166C11.6878 4.75166 11.9152 4.97414 11.9152 5.249C11.9152 5.52385 11.6921 5.74636 11.4166 5.74636Z\" fill=\"white\"/>\n</g>\n</svg>";
13
+ /** The sheet's Sketch, on its 70 tile (the tile's rect is drawn apart). */
14
+ export declare const KEY_SKETCH_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"70\" height=\"70\" viewBox=\"0 0 70 70\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g id=\"Drawer Tiles\">\n<rect width=\"70\" height=\"70\" rx=\"10\" fill=\"#EFB107\"/>\n<path id=\"Vector\" d=\"M45.6741 49.9898L44.8257 46.0647L35.3709 49.3151C34.4203 49.6422 33.3777 49.356 32.7235 48.5894C32.0693 47.8228 31.9569 46.7393 32.4271 45.8603L35.1869 40.6576L27.0302 45.155C24.8019 46.3918 21.991 45.7581 20.4884 43.7036C18.9756 41.6286 19.3334 38.7053 21.2959 37.0494L41.5651 20L44.7031 23.7308L24.4339 40.7802L40.0114 32.4293C40.962 31.908 42.1273 32.0715 42.9041 32.8279C43.6707 33.5843 43.8547 34.7598 43.3436 35.7104L39.6332 42.6916L45.8377 40.5553C46.4918 40.3203 47.2176 40.3918 47.8308 40.7393C48.4441 41.0869 48.8734 41.6695 49.0165 42.3543L50.4475 48.9676L45.6741 50V49.9898Z\" fill=\"white\"/>\n</g>\n</svg>";
15
+ /** The sheet's Camera: black lens over a white body. */
16
+ export declare const KEY_CAMERA_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"36\" height=\"26.8881\" viewBox=\"0 0 36 26.8881\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g id=\"Group\">\n<path id=\"Vector\" d=\"M22.2038 14.9415C22.2038 17.2728 20.3321 19.1445 18.0008 19.1445C15.6696 19.1445 13.7866 17.2616 13.7978 14.9303C13.7978 12.6215 15.692 10.7497 18.0008 10.7497C20.3097 10.7497 22.215 12.6439 22.2038 14.9415Z\" fill=\"black\"/>\n<path id=\"Vector_2\" d=\"M33.6912 3.46344H29.3313C28.4682 3.46344 27.6949 2.98152 27.2914 2.21937L26.7758 1.24425C26.3836 0.48211 25.599 0.000183947 24.736 0.000183947H11.2304C10.3786 0.000183947 9.59402 0.482133 9.19054 1.23307L8.67497 2.23056C8.27148 2.98149 7.49813 3.45223 6.64633 3.46344H2.30884C1.03113 3.46344 0 4.50579 0 5.7835L0.0224159 24.5456C0.0224159 25.8345 1.07596 26.8881 2.36488 26.8881H33.6687C34.9577 26.8881 36 25.8345 36 24.5456V5.77228C36 4.49457 34.9689 3.46344 33.6912 3.46344ZM18 22.4385C13.8643 22.4385 10.5131 19.0874 10.5131 14.9516C10.5131 10.8159 13.8643 7.45348 18 7.45348C22.1357 7.45348 25.4869 10.8159 25.4869 14.9516C25.4869 19.0874 22.1357 22.4385 18 22.4385Z\" fill=\"white\"/>\n<path id=\"Vector_3\" d=\"M22.2038 14.9415C22.2038 17.2728 20.3321 19.1445 18.0008 19.1445C15.6696 19.1445 13.7866 17.2616 13.7978 14.9303C13.7978 12.6215 15.692 10.7497 18.0008 10.7497C20.3097 10.7497 22.215 12.6439 22.2038 14.9415Z\" fill=\"black\"/>\n<path id=\"Vector_4\" d=\"M22.2038 14.9415C22.2038 17.2728 20.3321 19.1445 18.0008 19.1445C15.6696 19.1445 13.7866 17.2616 13.7978 14.9303C13.7978 12.6215 15.692 10.7497 18.0008 10.7497C20.3097 10.7497 22.215 12.6439 22.2038 14.9415Z\" fill=\"black\"/>\n</g>\n</svg>";
17
+ /** The sheet's Measurement, on its 70 tile (the tile's rect is drawn apart). */
18
+ export declare const KEY_MEASUREMENT_SVG = "<svg preserveAspectRatio=\"none\" overflow=\"visible\" style=\"display: block;\" width=\"70\" height=\"70\" viewBox=\"0 0 70 70\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g id=\"Drawer Tiles\">\n<rect width=\"70\" height=\"70\" rx=\"10\" fill=\"#0066FF\"/>\n<path id=\"Vector\" d=\"M51.109 29.5365L29.5248 51.1207C28.3524 52.2931 26.4414 52.2931 25.2572 51.1207L18.8793 44.7428C17.7069 43.5703 17.7069 41.6593 18.8793 40.4752L19.7938 39.5607L25.1166 44.8834L26.6407 43.3593L21.3179 38.0365L24.3545 35L26.6407 37.2862L28.1648 35.7621L25.8786 33.4759L28.9152 30.4393L34.2379 35.7621L35.7621 34.2379L30.4393 28.9152L33.4759 25.8786L35.7621 28.1648L37.2862 26.6407L35 24.3545L38.0366 21.3179L43.3593 26.6407L44.8834 25.1165L39.5607 19.7938L40.4752 18.8793C41.6476 17.7069 43.5586 17.7069 44.7428 18.8793L51.1207 25.2572C52.2931 26.4297 52.2931 28.3407 51.1207 29.5248L51.109 29.5365Z\" fill=\"white\"/>\n</g>\n</svg>";
@@ -0,0 +1,67 @@
1
+ /*
2
+ The object tiles' icons, exactly as Figma exports them (render/svgPath.ts draws them from their own paths): the
3
+ badge glyphs of "Object Tile Icons" (Figma 704:23628, used by the tiles 657:8732) and, for kinds with no badge there,
4
+ the add-object sheet's own (1059:79267). Each badge is a coloured square with one of these in white; the hues are the
5
+ sheet's (the app's ActionBottomSheet ACTION map), so an object type's colour is the same everywhere.
6
+ */
7
+ /** File (a PDF or any other document): 2803:81886. */
8
+ export const BADGE_FILE_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="10" height="12.7932" viewBox="0 0 10 12.7932" fill="none" xmlns="http://www.w3.org/2000/svg">
9
+ <path id="Vector" d="M9.58955 2.56397L8.15032 1.12473C7.6178 0.676972 7.3049 0 6.43923 0H1.40192C0.628998 0 0 0.628998 0 1.40192V11.3913C0 12.1642 0.628998 12.7932 1.40192 12.7932H8.59808C9.371 12.7932 10 12.1642 10 11.3913V3.56077C10 3.18763 9.85075 2.82516 9.58955 2.56397ZM4.06183 3.37953H5.93817C6.23134 3.37953 6.47122 3.6194 6.47122 3.91258C6.47122 4.21109 6.23134 4.44563 5.93817 4.44563H4.06183C3.76866 4.44563 3.52878 4.21109 3.52878 3.91258C3.52878 3.6194 3.76866 3.37953 4.06183 3.37953ZM7.60128 9.41365H2.39872C2.10554 9.41365 1.86567 9.17377 1.86567 8.8806C1.86567 8.58209 2.10554 8.34755 2.39872 8.34755H7.60128C7.89446 8.34755 8.13433 8.58209 8.13433 8.8806C8.13433 9.17377 7.89446 9.41365 7.60128 9.41365ZM7.60128 6.92964H2.39872C2.10554 6.92964 1.86567 6.68977 1.86567 6.39659C1.86567 6.10341 2.10554 5.86354 2.39872 5.86354H7.60128C7.89446 5.86354 8.13433 6.10341 8.13433 6.39659C8.13433 6.68977 7.89446 6.92964 7.60128 6.92964Z" fill="white"/>
10
+ </svg>`;
11
+ /** Construction calculator: 2803:81320. */
12
+ export const BADGE_CON_CALC_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="14.1429" height="11" viewBox="0 0 14.1429 11" fill="none" xmlns="http://www.w3.org/2000/svg">
13
+ <path id="Vector" d="M0 8.80008C0.529231 8.80008 1.05846 8.80008 1.58769 8.80008C1.98819 8.80008 2.39346 8.80008 2.79396 8.80008C2.97991 8.80008 2.97991 8.80008 2.97991 8.62145C2.97991 7.74242 2.97991 6.8681 2.97991 5.98907C2.97991 5.89505 3.00851 5.88095 3.09433 5.88095C4.01453 5.88095 4.92996 5.88095 5.85015 5.88095C5.9312 5.88095 5.95981 5.85275 5.95981 5.77754C5.95981 5.68352 5.95981 5.58951 5.95981 5.49549C5.95981 4.66817 5.95981 3.84555 5.95981 3.01823C5.95981 2.94772 5.97888 2.93362 6.0504 2.93362C6.97536 2.93362 7.90033 2.93362 8.82529 2.93362C8.90634 2.93362 8.93018 2.91012 8.93018 2.83021C8.93018 1.91827 8.93018 1.01104 8.93018 0.0991062C8.93018 0.0238952 8.94448 0.000391724 9.02554 0.000391724C10.6895 0.000391724 12.3535 0.000391724 14.0175 0.000391724C14.1653 0.000391724 14.1414 -0.0137103 14.1414 0.12731C14.1414 0.790107 14.1414 1.4576 14.1414 2.1204C14.1414 2.19091 14.1128 2.20031 14.0556 2.20031C13.1497 2.20031 12.2486 2.20031 11.3427 2.20031C11.2251 2.20031 11.1663 2.25986 11.1663 2.37894C11.1663 3.25797 11.1663 4.1417 11.1663 5.02073C11.1663 5.10534 11.1425 5.11944 11.0614 5.11944C10.1412 5.11944 9.21625 5.11944 8.29606 5.11944C8.20547 5.11944 8.1864 5.14764 8.1864 5.22756C8.1864 6.05958 8.1864 6.8963 8.1864 7.72832C8.1864 7.78003 8.1864 7.83174 8.1864 7.88344C8.18957 7.99939 8.13395 8.05737 8.01952 8.05737C7.1184 8.05737 6.21727 8.05737 5.31615 8.05737C5.2351 8.05737 5.21126 8.08087 5.21126 8.16078C5.21126 9.04921 5.21126 9.93764 5.21126 10.8261C5.21126 10.8825 5.22079 10.9436 5.19695 11C3.49007 11 1.78318 11 0.0810534 11C0.0238392 11 0 10.9953 0 10.9248C0 10.215 0 9.50518 0 8.79068L0 8.80008Z" fill="white"/>
14
+ </svg>`;
15
+ /** Conversion: 704:23616. */
16
+ export const BADGE_CONVERSION_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="12" height="10.5869" viewBox="0 0 12 10.5869" fill="none" xmlns="http://www.w3.org/2000/svg">
17
+ <g id="Group">
18
+ <path id="Vector" d="M11.1895 4.50438H0.336525C0.151436 4.50438 0 4.34136 0 4.14212V2.78363C0 2.58439 0.151436 2.42137 0.336525 2.42137H7.3497L7.34299 0.363716C7.34299 0.0413019 7.70307 -0.121716 7.91509 0.10651L11.425 3.88491C11.6371 4.11314 11.4856 4.50076 11.1895 4.50076V4.50438Z" fill="white"/>
19
+ <path id="Vector_2" d="M0.810528 6.08256H11.6635C11.8486 6.08256 12 6.24558 12 6.44483V7.80331C12 8.00256 11.8486 8.16557 11.6635 8.16557H4.65029L4.65701 10.2232C4.65701 10.5456 4.29695 10.7087 4.08493 10.4804L0.574976 6.70203C0.362965 6.47381 0.514385 6.08619 0.810528 6.08619V6.08256Z" fill="white"/>
20
+ </g>
21
+ </svg>`;
22
+ /** Note: 2803:80267. */
23
+ export const BADGE_NOTE_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg">
24
+ <g id="Group">
25
+ <path id="Vector" d="M9.28791 4.67696C8.86519 4.67696 8.52701 4.31881 8.52701 3.8806V0H5.18546C4.64196 0 4.20312 0.459245 4.20312 1.02807V2.65871L7.7661 6.38763L7.9835 6.61515L7.99961 6.9396L8.0761 8.46488C8.0922 8.73876 7.99558 9.01264 7.81441 9.21489C7.63324 9.41714 7.37558 9.5309 7.1139 9.5309H7.08571H7.06558L5.60818 9.45085L5.29819 9.43398L5.08078 9.20646L4.20312 8.28792V10.9719C4.20312 11.5407 4.64196 12 5.18546 12H12.0175C12.561 12 12.9998 11.5407 12.9998 10.9719V4.68118H9.29194L9.28791 4.67696Z" fill="white"/>
26
+ <path id="Vector_2" d="M10.0246 3.59367H12.8468L9.55762 0.151263V3.10492C9.55762 3.37458 9.76697 3.59367 10.0246 3.59367Z" fill="white"/>
27
+ <path id="Vector_3" d="M1.36816 4.12827L4.19841 7.09034V3.84595L2.91816 2.50607L1.3883 4.10721L1.36816 4.12827Z" fill="white"/>
28
+ <path id="Vector_4" d="M5.64405 8.60391L7.10145 8.68396C7.10145 8.68396 7.10548 8.68396 7.1095 8.68396C7.2021 8.68396 7.27457 8.60389 7.27054 8.50698L7.19405 6.9817L4.19873 3.85108V7.09547L5.64405 8.60813V8.60391Z" fill="white"/>
29
+ <path id="Vector_5" d="M1.48558 1.04862C1.44934 1.04862 1.41311 1.06547 1.3809 1.09918L0.0442827 2.47698C-2.8256e-06 2.52332 0 2.56547 0 2.59075C0 2.61603 -2.8256e-06 2.65817 0.0442827 2.70452L0.797139 3.49244L2.327 1.89132L1.57415 1.1034C1.55402 1.06969 1.52181 1.05284 1.48558 1.05284V1.04862Z" fill="white"/>
30
+ <path id="Vector_6" d="M0.796875 3.48782L0.82103 3.5131L2.3509 1.91198L2.32674 1.8867L0.796875 3.48782Z" fill="white"/>
31
+ </g>
32
+ </svg>`;
33
+ /** CAD drawing: 2803:81241 (filled, and stroked over its fill). */
34
+ export const BADGE_CAD_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="13.4887" height="14.4887" viewBox="0 0 13.4887 14.4887" fill="none" xmlns="http://www.w3.org/2000/svg">
35
+ <path id="Vector" d="M11.6357 2.49703L8.21928 0.62548C7.76732 0.376265 7.25704 0.244328 6.7419 0.244328C6.22676 0.244328 5.71648 0.376265 5.26452 0.62548L1.85293 2.49703C0.856667 3.03944 0.244328 4.08517 0.244328 5.22373V9.26981C0.244328 10.4035 0.856667 11.4492 1.85293 11.9916L5.26452 13.8681C5.71648 14.1124 6.22676 14.2443 6.7419 14.2443C7.25704 14.2443 7.76732 14.1124 8.21928 13.8681L11.6357 11.9916C12.6271 11.4492 13.2443 10.4035 13.2443 9.26981V5.22373C13.2443 4.08517 12.6271 3.03944 11.6357 2.49703ZM6.2948 13.4136L2.28059 11.2049C1.57106 10.8188 1.13367 10.0761 1.13367 9.26981V4.28551L6.2948 7.48621V13.4136ZM1.71685 3.59162L5.69218 1.41222C6.01293 1.2363 6.37741 1.14346 6.7419 1.14346C7.10639 1.14346 7.46601 1.2363 7.78676 1.41222L11.7621 3.59162L6.7419 6.70925L1.71685 3.59162ZM12.3501 9.26981C12.3501 10.0761 11.9127 10.8188 11.2081 11.2049L7.189 13.4136V7.48621L12.3501 4.28551V9.26981Z" fill="white" stroke-width="0.488656" stroke-miterlimit="10" stroke="white"/>
36
+ </svg>`;
37
+ /** Label printer: 2803:81633. */
38
+ export const BADGE_LABEL_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="13" height="12.5" viewBox="0 0 13 12.5" fill="none" xmlns="http://www.w3.org/2000/svg">
39
+ <g id="Group">
40
+ <path id="Vector" d="M10.9488 0H2.06055V2.70494H10.9488V0Z" fill="white"/>
41
+ <path id="Vector_2" d="M12.1295 3.67403H0.870457C0.389299 3.67403 0 4.06232 0 4.54222V9.3326C0 9.81251 0.489906 10.2008 0.971064 10.2008H2.05585V12.5H10.9441V10.2008H12.1295C12.6063 10.2008 13 9.81251 13 9.3326V4.54222C13 4.06668 12.6107 3.67403 12.1295 3.67403ZM9.58378 11.1344H3.42497V7.9234H9.58378V11.1344ZM11.4166 5.74636C11.141 5.74636 10.9179 5.52385 10.9179 5.249C10.9179 4.97414 11.1454 4.75166 11.4166 4.75166C11.6878 4.75166 11.9152 4.97414 11.9152 5.249C11.9152 5.52385 11.6921 5.74636 11.4166 5.74636Z" fill="white"/>
42
+ </g>
43
+ </svg>`;
44
+ /** The sheet's Sketch, on its 70 tile (the tile's rect is drawn apart). */
45
+ export const KEY_SKETCH_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
46
+ <g id="Drawer Tiles">
47
+ <rect width="70" height="70" rx="10" fill="#EFB107"/>
48
+ <path id="Vector" d="M45.6741 49.9898L44.8257 46.0647L35.3709 49.3151C34.4203 49.6422 33.3777 49.356 32.7235 48.5894C32.0693 47.8228 31.9569 46.7393 32.4271 45.8603L35.1869 40.6576L27.0302 45.155C24.8019 46.3918 21.991 45.7581 20.4884 43.7036C18.9756 41.6286 19.3334 38.7053 21.2959 37.0494L41.5651 20L44.7031 23.7308L24.4339 40.7802L40.0114 32.4293C40.962 31.908 42.1273 32.0715 42.9041 32.8279C43.6707 33.5843 43.8547 34.7598 43.3436 35.7104L39.6332 42.6916L45.8377 40.5553C46.4918 40.3203 47.2176 40.3918 47.8308 40.7393C48.4441 41.0869 48.8734 41.6695 49.0165 42.3543L50.4475 48.9676L45.6741 50V49.9898Z" fill="white"/>
49
+ </g>
50
+ </svg>`;
51
+ /** The sheet's Camera: black lens over a white body. */
52
+ export const KEY_CAMERA_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="36" height="26.8881" viewBox="0 0 36 26.8881" fill="none" xmlns="http://www.w3.org/2000/svg">
53
+ <g id="Group">
54
+ <path id="Vector" d="M22.2038 14.9415C22.2038 17.2728 20.3321 19.1445 18.0008 19.1445C15.6696 19.1445 13.7866 17.2616 13.7978 14.9303C13.7978 12.6215 15.692 10.7497 18.0008 10.7497C20.3097 10.7497 22.215 12.6439 22.2038 14.9415Z" fill="black"/>
55
+ <path id="Vector_2" d="M33.6912 3.46344H29.3313C28.4682 3.46344 27.6949 2.98152 27.2914 2.21937L26.7758 1.24425C26.3836 0.48211 25.599 0.000183947 24.736 0.000183947H11.2304C10.3786 0.000183947 9.59402 0.482133 9.19054 1.23307L8.67497 2.23056C8.27148 2.98149 7.49813 3.45223 6.64633 3.46344H2.30884C1.03113 3.46344 0 4.50579 0 5.7835L0.0224159 24.5456C0.0224159 25.8345 1.07596 26.8881 2.36488 26.8881H33.6687C34.9577 26.8881 36 25.8345 36 24.5456V5.77228C36 4.49457 34.9689 3.46344 33.6912 3.46344ZM18 22.4385C13.8643 22.4385 10.5131 19.0874 10.5131 14.9516C10.5131 10.8159 13.8643 7.45348 18 7.45348C22.1357 7.45348 25.4869 10.8159 25.4869 14.9516C25.4869 19.0874 22.1357 22.4385 18 22.4385Z" fill="white"/>
56
+ <path id="Vector_3" d="M22.2038 14.9415C22.2038 17.2728 20.3321 19.1445 18.0008 19.1445C15.6696 19.1445 13.7866 17.2616 13.7978 14.9303C13.7978 12.6215 15.692 10.7497 18.0008 10.7497C20.3097 10.7497 22.215 12.6439 22.2038 14.9415Z" fill="black"/>
57
+ <path id="Vector_4" d="M22.2038 14.9415C22.2038 17.2728 20.3321 19.1445 18.0008 19.1445C15.6696 19.1445 13.7866 17.2616 13.7978 14.9303C13.7978 12.6215 15.692 10.7497 18.0008 10.7497C20.3097 10.7497 22.215 12.6439 22.2038 14.9415Z" fill="black"/>
58
+ </g>
59
+ </svg>`;
60
+ /** The sheet's Measurement, on its 70 tile (the tile's rect is drawn apart). */
61
+ export const KEY_MEASUREMENT_SVG = `<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
62
+ <g id="Drawer Tiles">
63
+ <rect width="70" height="70" rx="10" fill="#0066FF"/>
64
+ <path id="Vector" d="M51.109 29.5365L29.5248 51.1207C28.3524 52.2931 26.4414 52.2931 25.2572 51.1207L18.8793 44.7428C17.7069 43.5703 17.7069 41.6593 18.8793 40.4752L19.7938 39.5607L25.1166 44.8834L26.6407 43.3593L21.3179 38.0365L24.3545 35L26.6407 37.2862L28.1648 35.7621L25.8786 33.4759L28.9152 30.4393L34.2379 35.7621L35.7621 34.2379L30.4393 28.9152L33.4759 25.8786L35.7621 28.1648L37.2862 26.6407L35 24.3545L38.0366 21.3179L43.3593 26.6407L44.8834 25.1165L39.5607 19.7938L40.4752 18.8793C41.6476 17.7069 43.5586 17.7069 44.7428 18.8793L51.1207 25.2572C52.2931 26.4297 52.2931 28.3407 51.1207 29.5248L51.109 29.5365Z" fill="white"/>
65
+ </g>
66
+ </svg>`;
67
+ //# sourceMappingURL=tileIcons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tileIcons.js","sourceRoot":"","sources":["../../src/render/tileIcons.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG;;OAEvB,CAAC;AAER,2CAA2C;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;;OAE3B,CAAC;AAER,6BAA6B;AAC7B,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;OAK7B,CAAC;AAER,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;OASvB,CAAC;AAER,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG;;OAEtB,CAAC;AAER,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;OAKxB,CAAC;AAER,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;OAKvB,CAAC;AAER,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;OAOvB,CAAC;AAER,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;OAK5B,CAAC"}
@@ -37,6 +37,8 @@ export declare function setWallBox(fn: typeof wallBox): void;
37
37
  export declare function fitView(): void;
38
38
  /** Size of the wall view's key plan (top right), pixels. */
39
39
  export declare const keyPlanSize: (W: number) => number;
40
+ /** Where an image's picture is: its own, or a photo of the job's expanded from its tile, the one the host shows it as. */
41
+ export declare const underlaySrc: (u: Underlay) => string;
40
42
  /** Height of an image underlay in inches: its own, or from the picture's aspect ratio. */
41
43
  export declare function underlayH(u: Underlay): number;
42
44
  export type HandlePart = 'nw' | 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w';
@@ -70,6 +72,16 @@ export declare function underlayHandles(T: Xform, u: Underlay): {
70
72
  y: number;
71
73
  ang: number;
72
74
  }[];
75
+ /**
76
+ * An expanded photo's badge (its link icon, in a white disc, 2r in from its top-right corner, as Skia's): its middle
77
+ * and radius on the screen. One size at any zoom, as the editor's chrome is (the user's call, 2026-10-26), smaller on a
78
+ * photo too small for it, and none on one smaller still. Whole pixels, so a device keeps a few shapes, not one a step.
79
+ */
80
+ export declare function imageLinkBadge(T: Xform, u: Underlay): {
81
+ x: number;
82
+ y: number;
83
+ r: number;
84
+ } | null;
73
85
  /** A world-space box (y up: top > bottom). */
74
86
  export interface Box {
75
87
  left: number;
@@ -115,7 +127,12 @@ export declare function noteTextBox(T: Xform, n: Note, c?: TextMeasure): {
115
127
  k: number;
116
128
  size: number;
117
129
  };
118
- /** How much a link's tile shows on the screen: all of it, its picture or icon alone, or a pin. */
130
+ /**
131
+ * How much a link's tile shows on the screen: all of it — or, once its name won't fit (under LINK_FULL_PX), a file's
132
+ * goes straight to its icon alone, a pin (the user's call, 2026-10-29: "this middle stage is not needed for object
133
+ * tiles - it can just jump straight to icon only"); a photo's or a sketch's is its picture alone down to the pin's
134
+ * size (it has only its size to lose), then a pin.
135
+ */
119
136
  export type LinkLod = 'full' | 'compact' | 'pin';
120
137
  /** A tile on the screen: its square (top left, side), its middle, how much it shows, and its scale from the layout. */
121
138
  export interface LinkBox {