@reekon-tools/boldr-cad 1.6.0 → 1.8.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 (87) hide show
  1. package/README.md +12 -1
  2. package/dist/data/provider.d.ts +2 -1
  3. package/dist/data/sync.js +4 -1
  4. package/dist/data/sync.js.map +1 -1
  5. package/dist/editor/actions.js +26 -2
  6. package/dist/editor/actions.js.map +1 -1
  7. package/dist/editor/advance.d.ts +2 -0
  8. package/dist/editor/advance.js +23 -0
  9. package/dist/editor/advance.js.map +1 -0
  10. package/dist/editor/dimSize.d.ts +13 -0
  11. package/dist/editor/dimSize.js +50 -0
  12. package/dist/editor/dimSize.js.map +1 -0
  13. package/dist/editor/gestures.js +30 -7
  14. package/dist/editor/gestures.js.map +1 -1
  15. package/dist/editor/keypad.d.ts +8 -0
  16. package/dist/editor/keypad.js +15 -1
  17. package/dist/editor/keypad.js.map +1 -1
  18. package/dist/editor/laser.d.ts +9 -0
  19. package/dist/editor/laser.js +38 -12
  20. package/dist/editor/laser.js.map +1 -1
  21. package/dist/editor/linkActions.d.ts +5 -1
  22. package/dist/editor/linkActions.js +27 -5
  23. package/dist/editor/linkActions.js.map +1 -1
  24. package/dist/editor/ports.d.ts +9 -0
  25. package/dist/editor/ports.js +2 -0
  26. package/dist/editor/ports.js.map +1 -1
  27. package/dist/editor/refDim.d.ts +17 -0
  28. package/dist/editor/refDim.js +62 -0
  29. package/dist/editor/refDim.js.map +1 -0
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/model/clockwise.d.ts +11 -0
  34. package/dist/model/clockwise.js +123 -0
  35. package/dist/model/clockwise.js.map +1 -0
  36. package/dist/model/settings.d.ts +2 -0
  37. package/dist/model/settings.js +1 -1
  38. package/dist/model/settings.js.map +1 -1
  39. package/dist/model/types.d.ts +5 -0
  40. package/dist/react/BottomBar.js +43 -3
  41. package/dist/react/BottomBar.js.map +1 -1
  42. package/dist/react/PlanCanvas.native.js +15 -9
  43. package/dist/react/PlanCanvas.native.js.map +1 -1
  44. package/dist/react/host.d.ts +6 -0
  45. package/dist/react/host.js +11 -1
  46. package/dist/react/host.js.map +1 -1
  47. package/dist/react/ports.js +2 -1
  48. package/dist/react/ports.js.map +1 -1
  49. package/dist/react/store.d.ts +1 -1
  50. package/dist/react/store.js.map +1 -1
  51. package/dist/render/draw.d.ts +8 -0
  52. package/dist/render/draw.js +164 -92
  53. package/dist/render/draw.js.map +1 -1
  54. package/dist/render/navigate.d.ts +11 -6
  55. package/dist/render/navigate.js +34 -20
  56. package/dist/render/navigate.js.map +1 -1
  57. package/dist/tools/dim.d.ts +15 -0
  58. package/dist/tools/dim.js +171 -45
  59. package/dist/tools/dim.js.map +1 -1
  60. package/dist/tools/line.js +5 -0
  61. package/dist/tools/line.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/data/provider.ts +2 -2
  64. package/src/data/sync.ts +4 -1
  65. package/src/editor/actions.ts +20 -2
  66. package/src/editor/advance.ts +23 -0
  67. package/src/editor/dimSize.ts +53 -0
  68. package/src/editor/gestures.ts +31 -9
  69. package/src/editor/keypad.ts +17 -1
  70. package/src/editor/laser.ts +38 -10
  71. package/src/editor/linkActions.ts +25 -6
  72. package/src/editor/ports.ts +10 -0
  73. package/src/editor/refDim.ts +61 -0
  74. package/src/index.ts +1 -2
  75. package/src/model/clockwise.ts +121 -0
  76. package/src/model/settings.ts +3 -1
  77. package/src/model/types.ts +5 -0
  78. package/src/react/BottomBar.tsx +46 -2
  79. package/src/react/PlanCanvas.native.tsx +25 -12
  80. package/src/react/host.ts +11 -1
  81. package/src/react/ports.ts +3 -2
  82. package/src/react/store.ts +1 -1
  83. package/src/render/draw.ts +131 -71
  84. package/src/render/navigate.ts +31 -20
  85. package/src/tools/dim.ts +168 -35
  86. package/src/tools/line.ts +4 -0
  87. package/src/ui/domPorts.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PlanCanvas.native.js","sourceRoot":"","sources":["../../src/react/PlanCanvas.native.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanCanvas.native.js","sourceRoot":"","sources":["../../src/react/PlanCanvas.native.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare function setLaserConnected(on: boolean): void;
11
11
  * (CadLinks.update). A value typed over it isn't the reading's.
12
12
  */
13
13
  export declare function laserReading(inches: number, capture?: unknown): boolean;
14
+ /**
15
+ * Whether a reading of `inches`, passed to laserReading now, would replace a length or diameter already measured on
16
+ * the selected line, wall edge or curve (see readingOverwrites), for a host that warns first: hold the reading, ask,
17
+ * and pass it on only once the person agrees. Nothing changes by asking. False when no drawing is open to take it.
18
+ */
19
+ export declare function laserReadingOverwrites(inches: number): boolean;
14
20
  /**
15
21
  * A point measured by a templating device (BOLDR's T1R), in inches, on the plan's axes: x to the right, y UP. Turning
16
22
  * the device's own frame into that is the host's job, and it's where the handedness goes: a device whose angle turns
@@ -1,4 +1,4 @@
1
- import { applyReading, laser } from '../editor/laser';
1
+ import { applyReading, laser, readingOverwrites } from '../editor/laser';
2
2
  import { store } from '../model/store';
3
3
  import { closeSurveyRun, setSurveyCursor, takeSurveyPoint } from '../tools/survey';
4
4
  import { notify } from './store';
@@ -30,6 +30,16 @@ export function laserReading(inches, capture) {
30
30
  notify();
31
31
  return true;
32
32
  }
33
+ /**
34
+ * Whether a reading of `inches`, passed to laserReading now, would replace a length or diameter already measured on
35
+ * the selected line, wall edge or curve (see readingOverwrites), for a host that warns first: hold the reading, ask,
36
+ * and pass it on only once the person agrees. Nothing changes by asking. False when no drawing is open to take it.
37
+ */
38
+ export function laserReadingOverwrites(inches) {
39
+ if (!editorHost.open || !store.project || !Number.isFinite(inches) || inches <= 0)
40
+ return false;
41
+ return readingOverwrites(inches);
42
+ }
33
43
  /**
34
44
  * A point measured by a templating device (BOLDR's T1R), in inches, on the plan's axes: x to the right, y UP. Turning
35
45
  * the device's own frame into that is the host's job, and it's where the handedness goes: a device whose angle turns
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/react/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;EAIE;AAEF,qHAAqH;AACrH,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAE1C,yHAAyH;AACzH,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,OAAiB;IAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC;IACT,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,OAAiB;IACjE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnG,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsC;IACjE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/react/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;EAIE;AAEF,qHAAqH;AACrH,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAE1C,yHAAyH;AACzH,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,OAAiB;IAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC;IACT,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,OAAiB;IACjE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnG,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsC;IACjE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC"}
@@ -61,7 +61,7 @@ function hostRequest(spec) {
61
61
  } : {}),
62
62
  };
63
63
  }
64
- /** A slider above the bar (an image's opacity or rotation, the tiles' size): opened, swapped for another, or closed by its button again. */
64
+ /** A slider above the bar (an image's opacity or rotation, the tiles' or measurement tiles' size): opened, swapped for another, or closed by its button again. */
65
65
  function toggleImagePop(kind) {
66
66
  ui.imgPop = ui.imgPop === kind ? null : kind;
67
67
  ui.menu = false;
@@ -167,6 +167,7 @@ export const reactPorts = {
167
167
  toggleImageOpacity() { toggleImagePop('opacity'); },
168
168
  toggleImageRotation() { toggleImagePop('rotate'); },
169
169
  toggleTileSize() { toggleImagePop('tilesize'); },
170
+ toggleDimSize() { toggleImagePop('dimsize'); },
170
171
  editRoomName(roomId) { ui.drawer = 'rooms'; ui.renameRoom = roomId; notify(); },
171
172
  setCursor(cursor, where = 'plan') { cursorTargets[where]?.(cursor); },
172
173
  interacting: setInteracting,
@@ -1 +1 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/react/ports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3H,OAAO,EAAE,UAAU,EAA0B,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,mHAAmH;AAEnH,IAAI,UAAqD,EAAE,OAAO,GAAG,CAAC,CAAC;AACvE,cAAc,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AAE/C,oFAAoF;AACpF,MAAM,aAAa,GAAoE,EAAE,CAAC;AAC1F,MAAM,UAAU,eAAe,CAAC,KAA2B,EAAE,EAAqC;IAChG,IAAI,EAAE;QAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;;QAAM,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,WAAW,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE7D,iGAAiG;AACjG,IAAI,SAAS,GAAgE,IAAI,CAAC;AAClF,MAAM,UAAU,YAAY,CAAC,EAAoB,IAAU,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5E,SAAS,iBAAiB,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IACjE,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,2HAA2H;AAC3H,SAAS,WAAW,CAAC,IAAgB;IACnC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;QACvC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;QAClC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,EAAE,CAAC;YAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjL,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE;YAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACjD,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YACvC,eAAe,EAAE,CAAC,CAAa,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,EAAE,CAAC;YAAC,CAAC,CAAC,CAAC;SAC9F,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,4IAA4I;AAC5I,SAAS,cAAc,CAAC,IAAuC;IAC7D,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAChB,4EAA4E;IAC5E,IAAI,EAAE,CAAC,MAAM;QAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,SAAS,UAAU;IACjB,IAAI,aAAa;QAAE,OAAO;IAC1B,aAAa,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AACD,cAAc,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,OAAO,CAAC,IAAI;QACV,2GAA2G;QAC3G,IAAI,IAAI,KAAK,QAAQ;YAAE,kBAAkB,EAAE,CAAC;QAC5C,IAAI,IAAI,KAAK,WAAW;YAAE,aAAa,EAAE,CAAC,CAAC,oFAAoF;QAC/H,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;IACf,CAAC;IACD,8GAA8G;IAC9G,8EAA8E;IAC9E,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QACf,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,OAAO;QACpB,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAClE,YAAY,CAAC,UAAU,CAAC,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,EAAE,CAAC;IACX,CAAC;IACD,UAAU,CAAC,IAAI;QACb,UAAU,CAAC,eAAe,EAAE,CAAC;QAC7B,mHAAmH;QACnH,+CAA+C;QAC/C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,UAAU,EAAE;gBAAE,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3C,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,qHAAqH;QACrH,2GAA2G;QAC3G,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAmC,CAAC;YACvD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC;gBAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,CAAC;QACT,WAAW,EAAE,CAAC;IAChB,CAAC;IACD,WAAW;QACT,MAAM,MAAM,GAAG,YAAY,EAAE,EAAE,IAAI,GAAG,SAAS,EAAE,CAAC;QAClD,IAAI,MAAM;YAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;QAClB,MAAM,EAAE,CAAC;QACT,WAAW,EAAE,CAAC;QACd,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IACD,WAAW;IACX,YAAY,CAAC,IAAI;QACf,IAAI,UAAU,EAAE;YAAE,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3C,EAAE,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,CAAC;IACX,CAAC;IACD,eAAe;QACb,IAAI,CAAC,YAAY,EAAE;YAAE,OAAO,KAAK,CAAC;QAClC,WAAW,EAAE,CAAC;QACd,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/E,aAAa,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC;IAAC,CAAC,CAAC,CAAC;IAC9D,+BAA+B;IAC/B,WAAW,KAAK,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3F,kBAAkB,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,mBAAmB,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnD,cAAc,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChD,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/E,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrE,WAAW,EAAE,cAAc;IAC3B,eAAe;QACb,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACrE,IAAI,GAAG,EAAE,CAAC;YAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;YAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;YAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QAClG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI;QACF,IAAI,UAAU,EAAE,EAAE,CAAC;YAAC,KAAK,WAAW,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACjD,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACrB,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qDAAqD,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/react/ports.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ export declare const ui: {
51
51
  * what's open above the bar: the selected image's opacity or turn, or the link tiles' size (sliders), or Open's
52
52
  * question (here, or side by side)
53
53
  */
54
- imgPop: null | 'opacity' | 'rotate' | 'tilesize' | 'open';
54
+ imgPop: null | 'opacity' | 'rotate' | 'tilesize' | 'dimsize' | 'open';
55
55
  /** the tool each shared place on the rail draws with (the last picked; editor/mode.ts TOOL_GROUPS), and the menu of
56
56
  a group's tools, open beside its place at x, y */
57
57
  picked: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/react/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;EAGE;AAEF,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,2FAA2F;AAC3F,MAAM,UAAU,MAAM;IACpB,OAAO,EAAE,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAa,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;AAEjC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEtG,oGAAoG;AACpG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAKD,MAAM,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,IAAyB;IAChC,0EAA0E;IAC1E,MAAM,EAAE,KAAK;IACb,gEAAgE;IAChE,QAAQ,EAAE,IAA4E;IACtF,+CAA+C;IAC/C,MAAM,EAAE,IAAwB;IAChC,8DAA8D;IAC9D,UAAU,EAAE,IAAqB;IACjC,IAAI,EAAE,IAA6B;IACnC,OAAO,EAAE,KAAK;IACd,iIAAiI;IACjI,OAAO,EAAE,IAA4C;IACrD;;;OAGG;IACH,MAAM,EAAE,IAAyD;IACjE;yDACqD;IACrD,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAA4B;IACpE,SAAS,EAAE,IAAsD;IACjE,uFAAuF;IACvF,IAAI,EAAE,KAAkC;IACxC,+FAA+F;IAC/F,aAAa,EAAE,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,8GAA8G;IAC9G,OAAO,EAAE,KAAK;CACf,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/react/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;EAGE;AAEF,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,2FAA2F;AAC3F,MAAM,UAAU,MAAM;IACpB,OAAO,EAAE,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAa,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;AAEjC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEtG,oGAAoG;AACpG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAKD,MAAM,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,IAAyB;IAChC,0EAA0E;IAC1E,MAAM,EAAE,KAAK;IACb,gEAAgE;IAChE,QAAQ,EAAE,IAA4E;IACtF,+CAA+C;IAC/C,MAAM,EAAE,IAAwB;IAChC,8DAA8D;IAC9D,UAAU,EAAE,IAAqB;IACjC,IAAI,EAAE,IAA6B;IACnC,OAAO,EAAE,KAAK;IACd,iIAAiI;IACjI,OAAO,EAAE,IAA4C;IACrD;;;OAGG;IACH,MAAM,EAAE,IAAqE;IAC7E;yDACqD;IACrD,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAA4B;IACpE,SAAS,EAAE,IAAsD;IACjE,uFAAuF;IACvF,IAAI,EAAE,KAAkC;IACxC,+FAA+F;IAC/F,aAAa,EAAE,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,8GAA8G;IAC9G,OAAO,EAAE,KAAK;CACf,CAAC,CAAC,CAAC"}
@@ -6,6 +6,7 @@ type C2D = DrawCtx;
6
6
  /** A rounded rectangle's path, its corners smoothed as Figma's 60% ("iOS"): render/squircle.ts. */
7
7
  export declare function rr(c: C2D, x: number, y: number, w: number, h: number, r: number): void;
8
8
  export interface ChipOpts {
9
+ /** `r`: its corners' radius (5); `dash`: its border dashed so (a grey number nothing keeps yet: editor/refDim.ts) */
9
10
  bg: string;
10
11
  fg: string;
11
12
  border?: [string, number?] | null;
@@ -13,6 +14,8 @@ export interface ChipOpts {
13
14
  pad?: number;
14
15
  h?: number;
15
16
  minW?: number;
17
+ r?: number;
18
+ dash?: number[];
16
19
  kind?: HitChip['kind'];
17
20
  id?: string;
18
21
  rot?: number;
@@ -31,6 +34,11 @@ export declare function chipSize(c: C2D, text: string, { font, pad, h, minW, mar
31
34
  w: number;
32
35
  h: number;
33
36
  };
37
+ /**
38
+ * A measurement tile's size — a dimension's chip: its font, padding, height and corners — times the file's measurement
39
+ * tile size (settings.chipPct, editor/dimSize.ts). At 100%, chip()'s own: 12 px, 7, 22, 5.
40
+ */
41
+ export declare function dimChip(): Pick<ChipOpts, 'font' | 'pad' | 'h' | 'r'>;
34
42
  /** Rounded label on the canvas; registers a hit region when `kind` is given. */
35
43
  export declare function chip(c: C2D, text: string, cx: number, cy: number, opts: ChipOpts): number;
36
44
  /**
@@ -11,6 +11,7 @@ import { settings } from '../model/settings';
11
11
  import { curveInfo, frameMemo, lineBetween, roomValid, withLineIndex } from '../model/sketch';
12
12
  import { page, planSK, SK } from '../model/store';
13
13
  import { elev, elevOpen } from '../editor/elevation';
14
+ import { ghostDim } from '../editor/refDim';
14
15
  import { cabPoints } from '../model/faces';
15
16
  import { drawKeyPlan, drawWallBackdrop, drawWallChips, drawWallSelection } from './elevation';
16
17
  import { fmtAng, fmtArea, fmtLen } from '../units';
@@ -60,6 +61,14 @@ export function chipSize(c, text, { font = '600 12px', pad = 7, h = 22, minW = 0
60
61
  const room = mark ? (LINKED.pad * 2 + LINKED.badge + LINKED.gap) * (h / LINKED.h) : pad * 2;
61
62
  return { w: Math.max(minW, c.measureText(text).width + room), h };
62
63
  }
64
+ /**
65
+ * A measurement tile's size — a dimension's chip: its font, padding, height and corners — times the file's measurement
66
+ * tile size (settings.chipPct, editor/dimSize.ts). At 100%, chip()'s own: 12 px, 7, 22, 5.
67
+ */
68
+ export function dimChip() {
69
+ const k = settings.chipPct / 100;
70
+ return k === 1 ? {} : { font: '600 ' + 12 * k + 'px', pad: 7 * k, h: 22 * k, r: 5 * k };
71
+ }
63
72
  /** Rounded label on the canvas; registers a hit region when `kind` is given. */
64
73
  export function chip(c, text, cx, cy, opts) {
65
74
  const { bg, fg, border, kind, id, rot = 0, mark } = opts;
@@ -70,13 +79,16 @@ export function chip(c, text, cx, cy, opts) {
70
79
  c.rotate(rot);
71
80
  c.translate(-cx, -cy);
72
81
  }
73
- rr(c, x, y, w, h, 5);
82
+ rr(c, x, y, w, h, opts.r ?? 5);
74
83
  c.fillStyle = bg;
75
84
  c.fill();
76
85
  if (border) {
77
86
  c.lineWidth = border[1] || 1;
78
87
  c.strokeStyle = border[0];
88
+ if (opts.dash)
89
+ c.setLineDash(opts.dash);
79
90
  c.stroke();
91
+ c.setLineDash([]);
80
92
  }
81
93
  c.fillStyle = fg;
82
94
  c.textAlign = 'center';
@@ -777,8 +789,9 @@ function dimLive(sk, id, d) {
777
789
  }
778
790
  /**
779
791
  * Driving/reference dimension chips. (Lengths are added from the bottom bar's + / Length, not on-canvas prompts.) What's
780
- * been entered (blue, or red when it can't be met) always shows; a reference only while it or what it measures is
781
- * selected or hovered.
792
+ * been entered (blue, or red when it can't be met) always shows, and so does a reference kept by hand (Make reference:
793
+ * editor/refDim.ts); a reference the drawing set only while it or what it measures is selected or hovered. Then what the
794
+ * + would make for the selection, as it measures now: the ghost.
782
795
  */
783
796
  function drawDims(c, T, sk) {
784
797
  if (!settings.layers.dims)
@@ -787,95 +800,111 @@ function drawDims(c, T, sk) {
787
800
  const d = sk.cons[id];
788
801
  if (!isDim(d) || d.elev)
789
802
  continue; // the wall view's own dimensions are its chips
790
- const A = dimAnchor(sk, d);
791
- if (!A)
792
- continue;
793
- const ref = d.driving === false, val = ref ? measure(sk, d) : d.value;
794
- const selected = isSel('dim', id) || isSel('cons', id);
795
803
  const bad = ed.highlight.has(id) || ed.ana.bad.has(id);
796
- if (ref && !bad && !dimLive(sk, id, d))
797
- continue;
798
- // a measurement of the job sets it: the link badge before its value (chip()), on the chip's own colour — red once
799
- // the job's measurement is gone
800
- const linked = !!d.measurementRef && !ref && !bad, gone = linked && linkInfoOf(d.measurementRef)?.exists === false;
801
- let bg = ref ? TH.ref : TH.blue, fg = ref ? TH.reftext : '#fff';
802
- if (bad || gone) {
803
- bg = TH.red;
804
- fg = '#fff';
805
- }
806
- const border = selected ? [TH.yellow, 2.5] : null;
807
- const mark = linked ? 'link' : undefined;
808
- const wrap = (s) => (ref ? '(' : '') + s + (ref ? ')' : '');
809
- if (d.type === 'angle' && 'vtx' in A) {
810
- const [vx, vy] = S(T, A.vtx.x, A.vtx.y);
811
- // pulled off its corner: its arc out where the label is, the label riding on it; else a little arc at the
812
- // corner, the label out along the bisector
813
- const moved = angleLabel(sk, d), R = moved ? moved.r * T.s : 22;
814
- if (A.u1 && A.u2) {
815
- // arc between the two lines, so the angle reads as belonging to that corner
816
- const t1 = Math.atan2(-A.u1[1], A.u1[0]), t2 = Math.atan2(-A.u2[1], A.u2[0]);
817
- let sweep = t2 - t1;
818
- while (sweep > Math.PI)
819
- sweep -= 2 * Math.PI;
820
- while (sweep < -Math.PI)
821
- sweep += 2 * Math.PI;
822
- // (blue, as every other dimension is — the user's call, 2026-10-29; purple is the inference guides')
823
- c.save();
824
- c.strokeStyle = bad ? TH.red : ref ? TH.chipline : TH.blue;
825
- c.lineWidth = 1.2;
826
- if (ref)
827
- c.setLineDash([3, 3]);
828
- c.beginPath();
829
- c.arc(vx, vy, R, t1, t1 + sweep, sweep < 0);
830
- c.stroke();
831
- // (pulled out past where a line ends: an extension line along it, out to the arc)
832
- c.lineWidth = 1;
833
- for (const [u, len] of [[A.u1, A.len1], [A.u2, A.len2]]) {
834
- const from = (len ?? 0) * T.s;
835
- if (moved && R > from + 2) {
836
- c.beginPath();
837
- c.moveTo(vx + u[0] * from, vy - u[1] * from);
838
- c.lineTo(vx + u[0] * (R + 4), vy - u[1] * (R + 4));
839
- c.stroke();
840
- }
841
- }
842
- c.restore();
843
- }
844
- const text = wrap(fmtAng(val)), opts = { bg, fg, border, kind: 'dim', id, mark };
845
- // (left where it was drawn: 50 px out along the bisector, or as far as its corners stay clear of the corner — a
846
- // linked chip is wider)
847
- const sz = chipSize(c, text, opts), out = Math.max(50, Math.hypot(sz.w, sz.h) / 2 + 28);
848
- const [lx, ly] = moved ? [vx + Math.cos(moved.ang) * R, vy - Math.sin(moved.ang) * R] : [vx + A.bis[0] * out, vy - A.bis[1] * out];
849
- chip(c, text, lx, ly, opts);
850
- continue;
851
- }
852
- if (d.type === 'diam' && 'o' in A) {
853
- drawDiameter(c, T, A.o, A.r, d, d.rad ? 'R ' + wrap(fmtLen(val / 2)) : 'Ø ' + wrap(fmtLen(val)), bad ? TH.red : ref ? TH.chipline : TH.blue, { bg, fg, border, kind: 'dim', id, mark }, ref);
804
+ if (d.driving === false && !d.kept && !bad && !dimLive(sk, id, d))
854
805
  continue;
855
- }
856
- if (!('a' in A))
857
- continue;
858
- const [mx, my] = S(T, A.m.x, A.m.y);
859
- const lineColor = bad ? TH.red : ref ? TH.chipline : TH.blue;
860
- if ((d.type === 'dist' || d.type === 'pldist') && A.nx != null && Math.abs((d.off || 0) * T.s) > 10) {
861
- drawDimLeaders(c, T, A.a, A.b, A.nx, A.ny, d.off, lineColor, ref);
862
- }
863
- else if (d.type === 'pldist' || !d.line) {
864
- // (dashed only when it's a reference: a dashed line means the number holds nothing, wherever it's drawn)
865
- const [ax, ay] = S(T, A.a.x, A.a.y), [bx, by] = S(T, A.b.x, A.b.y);
806
+ drawDim(c, T, sk, d, id, bad);
807
+ }
808
+ const g = ghostDim();
809
+ if (g)
810
+ drawDim(c, T, sk, g, null, false);
811
+ }
812
+ /**
813
+ * One dimension: driving blue, a kept reference solid grey in brackets, red when it can't be met. Faded — the canvas's
814
+ * own colour inside a dashed grey outline, grey text, no brackets — when it shows only while it's selected: the ghost
815
+ * (`id` null) and a reference the drawing set. Its lines are dashed when it holds nothing.
816
+ */
817
+ function drawDim(c, T, sk, d, id, bad) {
818
+ const A = dimAnchor(sk, d);
819
+ if (!A)
820
+ return;
821
+ const ref = d.driving === false, val = ref ? measure(sk, d) : d.value;
822
+ const grey = ref || id === null, faded = !bad && (id === null || (ref && !d.kept));
823
+ const selected = id !== null && (isSel('dim', id) || isSel('cons', id));
824
+ // a measurement of the job sets it: the link badge before its value (chip()), on the chip's own colour — red once
825
+ // the job's measurement is gone
826
+ const linked = !!d.measurementRef && !ref && !bad, gone = linked && linkInfoOf(d.measurementRef)?.exists === false;
827
+ let bg = faded ? TH.bg : ref ? TH.ref : TH.blue, fg = faded ? TH.ink2 : ref ? TH.reftext : '#fff';
828
+ if (bad || gone) {
829
+ bg = TH.red;
830
+ fg = '#fff';
831
+ }
832
+ const border = selected ? [TH.yellow, 2.5] : faded ? [TH.chipline, 1.2] : null;
833
+ // (the ghost is a readout, never a tap target: it sits on what it measures, which a press there is for)
834
+ const opts = {
835
+ bg, fg, border, ...(id === null ? {} : { kind: 'dim', id }),
836
+ mark: linked ? 'link' : undefined, dash: faded && !selected ? [3, 2] : undefined, ...dimChip(),
837
+ };
838
+ const wrap = (s) => (ref && !faded ? '(' + s + ')' : s);
839
+ const lineColor = bad ? TH.red : grey ? TH.chipline : TH.blue;
840
+ if (d.type === 'angle' && 'vtx' in A) {
841
+ const [vx, vy] = S(T, A.vtx.x, A.vtx.y);
842
+ // pulled off its corner: its arc out where the label is, the label riding on it; else a little arc at the
843
+ // corner, the label out along the bisector
844
+ const moved = angleLabel(sk, d), R = moved ? moved.r * T.s : 22;
845
+ if (A.u1 && A.u2) {
846
+ // arc between the two lines, so the angle reads as belonging to that corner
847
+ const t1 = Math.atan2(-A.u1[1], A.u1[0]), t2 = Math.atan2(-A.u2[1], A.u2[0]);
848
+ let sweep = t2 - t1;
849
+ while (sweep > Math.PI)
850
+ sweep -= 2 * Math.PI;
851
+ while (sweep < -Math.PI)
852
+ sweep += 2 * Math.PI;
853
+ // (blue, as every other dimension is — the user's call, 2026-10-29; purple is the inference guides')
866
854
  c.save();
867
- if (ref)
868
- c.setLineDash([3, 3]);
869
- c.strokeStyle = bad ? TH.red : ref ? TH.chipline : TH.blue;
855
+ c.strokeStyle = lineColor;
870
856
  c.lineWidth = 1.2;
857
+ if (grey)
858
+ c.setLineDash([3, 3]);
871
859
  c.beginPath();
872
- c.moveTo(ax, ay);
873
- c.lineTo(bx, by);
860
+ c.arc(vx, vy, R, t1, t1 + sweep, sweep < 0);
874
861
  c.stroke();
862
+ // (pulled out past where a line ends: an extension line along it, out to the arc)
863
+ c.lineWidth = 1;
864
+ for (const [u, len] of [[A.u1, A.len1], [A.u2, A.len2]]) {
865
+ const from = (len ?? 0) * T.s;
866
+ if (moved && R > from + 2) {
867
+ c.beginPath();
868
+ c.moveTo(vx + u[0] * from, vy - u[1] * from);
869
+ c.lineTo(vx + u[0] * (R + 4), vy - u[1] * (R + 4));
870
+ c.stroke();
871
+ }
872
+ }
875
873
  c.restore();
876
874
  }
877
- chip(c, wrap(fmtLen(val)), mx, my, { bg, fg, border, kind: 'dim', id, mark });
875
+ const text = wrap(fmtAng(val));
876
+ // (left where it was drawn: 50 px out along the bisector, or as far as its corners stay clear of the corner — a
877
+ // linked chip is wider)
878
+ const sz = chipSize(c, text, opts), out = Math.max(50, Math.hypot(sz.w, sz.h) / 2 + 28);
879
+ const [lx, ly] = moved ? [vx + Math.cos(moved.ang) * R, vy - Math.sin(moved.ang) * R] : [vx + A.bis[0] * out, vy - A.bis[1] * out];
880
+ chip(c, text, lx, ly, opts);
881
+ return;
878
882
  }
883
+ if (d.type === 'diam' && 'o' in A) {
884
+ drawDiameter(c, T, A.o, A.r, d, d.rad ? 'R ' + wrap(fmtLen(val / 2)) : 'Ø ' + wrap(fmtLen(val)), lineColor, opts, grey);
885
+ return;
886
+ }
887
+ if (!('a' in A))
888
+ return;
889
+ const [mx, my] = S(T, A.m.x, A.m.y);
890
+ if ((d.type === 'dist' || d.type === 'pldist') && A.nx != null && Math.abs((d.off || 0) * T.s) > 10) {
891
+ drawDimLeaders(c, T, A.a, A.b, A.nx, A.ny, d.off, lineColor, grey);
892
+ }
893
+ else if (d.type === 'pldist' || !d.line) {
894
+ // (dashed only when it holds nothing: a dashed line means the number holds nothing, wherever it's drawn)
895
+ const [ax, ay] = S(T, A.a.x, A.a.y), [bx, by] = S(T, A.b.x, A.b.y);
896
+ c.save();
897
+ if (grey)
898
+ c.setLineDash([3, 3]);
899
+ c.strokeStyle = lineColor;
900
+ c.lineWidth = 1.2;
901
+ c.beginPath();
902
+ c.moveTo(ax, ay);
903
+ c.lineTo(bx, by);
904
+ c.stroke();
905
+ c.restore();
906
+ }
907
+ chip(c, wrap(fmtLen(val)), mx, my, opts);
879
908
  }
880
909
  /**
881
910
  * Door/window dimensions, on a line just outside the wall:
@@ -888,7 +917,8 @@ function drawDims(c, T, sk) {
888
917
  function drawOpeningDims(c, T, sk) {
889
918
  if (!settings.layers.dims || ed.mode !== 'draft')
890
919
  return;
891
- const ROW = 26 / T.s;
920
+ // (the rows, and how far apart along them, grow with the measurement tiles: editor/dimSize.ts)
921
+ const k = settings.chipPct / 100, ROW = (26 * k) / T.s;
892
922
  for (const id in sk.openings) {
893
923
  const o = sk.openings[id], g = openingFrame(sk, id);
894
924
  if (!g)
@@ -896,7 +926,7 @@ function drawOpeningDims(c, T, sk) {
896
926
  const l = sk.lines[o.line], L = hyp(sk.points[l.b].x - g.A.x, sk.points[l.b].y - g.A.y);
897
927
  const side = outsideSide(sk, o.line);
898
928
  // automatic rows start 34 px past the wall face (clear of the H/V badges); a dragged dimension keeps its own offset
899
- const k0 = g.t / 2 + 34 / T.s;
929
+ const k0 = g.t / 2 + (34 + 11 * (k - 1)) / T.s;
900
930
  const kRow = (row) => side * (k0 + row * ROW);
901
931
  /** screen point at `s` along the wall, `k` (signed, world) off its centerline */
902
932
  const P = (s, k) => S(T, g.A.x + g.ux * s + g.nx * k, g.A.y + g.uy * s + g.ny * k);
@@ -943,7 +973,7 @@ function drawOpeningDims(c, T, sk) {
943
973
  };
944
974
  const label = (s0, s1, part, text, k, bg = TH.blue, fg = '#fff', border = null) => {
945
975
  const [mx, my] = P((s0 + s1) / 2, k);
946
- chip(c, text, mx, my, { bg, fg, border: odimSel(part) ? [TH.yellow, 2] : border, kind: 'odim', id });
976
+ chip(c, text, mx, my, { bg, fg, border: odimSel(part) ? [TH.yellow, 2] : border, kind: 'odim', id, ...dimChip() });
947
977
  if (hits && hits.length)
948
978
  hits[hits.length - 1].part = part;
949
979
  };
@@ -951,7 +981,7 @@ function drawOpeningDims(c, T, sk) {
951
981
  // spans that only touch end to end share a row (a chained string)
952
982
  const rows = [o.wOff == null ? [[g.s0, g.s1]] : []];
953
983
  const place = (a, b) => {
954
- const lo = Math.min(a, b), hi = Math.max(a, b), gap = 64 / T.s;
984
+ const lo = Math.min(a, b), hi = Math.max(a, b), gap = (64 * k) / T.s;
955
985
  const clash = ([x, y]) => (lo < y - 1e-6 && hi > x + 1e-6) || Math.abs((lo + hi) / 2 - (x + y) / 2) < gap;
956
986
  for (let r = 0;; r++) {
957
987
  rows[r] = rows[r] || [];
@@ -1297,9 +1327,10 @@ function badgeSpots(T, sk, c) {
1297
1327
  if (lid)
1298
1328
  onLine(lid, 0.22, -1);
1299
1329
  else {
1330
+ // two points no line joins: on the dashed line drawn between them (pointPairLink), halfway
1300
1331
  const a = P(c.a), b = P(c.b);
1301
1332
  const [x1, y1] = S(T, a.x, a.y), [x2, y2] = S(T, b.x, b.y);
1302
- out.push([(x1 + x2) / 2 + 10, (y1 + y2) / 2 - 10]);
1333
+ out.push([(x1 + x2) / 2, (y1 + y2) / 2]);
1303
1334
  }
1304
1335
  }
1305
1336
  else if (['par', 'perp', 'col', 'eq', 'angle'].includes(c.type)) {
@@ -1333,19 +1364,60 @@ function badgeSpots(T, sk, c) {
1333
1364
  }
1334
1365
  return out;
1335
1366
  }
1367
+ /**
1368
+ * Horizontal or Vertical between two points no line joins: the two points it ties, for drawing a dashed line between
1369
+ * them that its badge sits on (the user's call, 2026-11-05: the badge "is floating so u have no idea what it is related
1370
+ * to"). Null for any other constraint.
1371
+ */
1372
+ function pointPairLink(sk, k) {
1373
+ if ((k.type !== 'h' && k.type !== 'v') || lineBetween(sk, k.a, k.b))
1374
+ return null;
1375
+ const a = sk.points[k.a], b = sk.points[k.b];
1376
+ return a && b ? [a, b] : null;
1377
+ }
1336
1378
  function drawBadges(c, T, sk) {
1337
1379
  const { W, H } = cvs;
1338
1380
  const selIds = new Set(ed.sel.map(s => s.id)), selPts = selPoints(sk);
1381
+ const shown = [];
1339
1382
  for (const id in sk.cons) {
1340
1383
  const k = sk.cons[id];
1341
- if (isDim(k) || k.elev)
1342
- continue;
1343
- const g = GLYPH[k.type];
1344
- if (!g)
1384
+ if (isDim(k) || k.elev || !GLYPH[k.type])
1345
1385
  continue;
1346
1386
  const related = selIds.has(id) || [k.l, k.l1, k.l2, k.c, k.c1, k.c2].some(x => x && selIds.has(x)) || [k.a, k.b, k.p].some(x => x && selPts.has(x));
1347
1387
  if (!settings.showCons && !related && !ed.highlight.has(id))
1348
1388
  continue;
1389
+ shown.push(id);
1390
+ }
1391
+ // first the lines between the points a two-point Horizontal or Vertical ties: faint and dashed, yellow with a ring
1392
+ // on each point while it's selected, red when it can't be met — under every badge
1393
+ for (const id of shown) {
1394
+ const ends = pointPairLink(sk, sk.cons[id]);
1395
+ if (!ends)
1396
+ continue;
1397
+ const [x1, y1] = S(T, ends[0].x, ends[0].y), [x2, y2] = S(T, ends[1].x, ends[1].y);
1398
+ if (hyp(x2 - x1, y2 - y1) < 24)
1399
+ continue;
1400
+ const selected = isSel('cons', id), bad = ed.highlight.has(id) || ed.ana.bad.has(id);
1401
+ c.save();
1402
+ c.strokeStyle = bad ? TH.red : selected ? TH.yellow : TH.badgeline;
1403
+ c.lineWidth = selected || bad ? 1.5 : 1;
1404
+ c.setLineDash([4, 4]);
1405
+ c.beginPath();
1406
+ c.moveTo(x1, y1);
1407
+ c.lineTo(x2, y2);
1408
+ c.stroke();
1409
+ c.setLineDash([]);
1410
+ if (selected)
1411
+ for (const [x, y] of [[x1, y1], [x2, y2]]) {
1412
+ c.beginPath();
1413
+ c.arc(x, y, 8, 0, Math.PI * 2);
1414
+ c.lineWidth = 2.5;
1415
+ c.stroke();
1416
+ }
1417
+ c.restore();
1418
+ }
1419
+ for (const id of shown) {
1420
+ const k = sk.cons[id], g = GLYPH[k.type];
1349
1421
  for (const [x, y] of badgeSpots(T, sk, k)) {
1350
1422
  if (x < -20 || y < -20 || x > W + 20 || y > H + 20)
1351
1423
  continue;