@things-factory/figure-ui 10.1.204 → 10.1.205

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 (86) hide show
  1. package/client/modeller/canvas.ts +91 -9
  2. package/client/modeller/editor-styles.ts +7 -22
  3. package/client/modeller/editor.ts +176 -145
  4. package/client/modeller/fasten-form.ts +85 -6
  5. package/client/modeller/figure-fasten-dialog.ts +42 -9
  6. package/client/modeller/figure-fasten-drawing.ts +233 -12
  7. package/client/modeller/figure-section-editor.ts +6 -6
  8. package/client/modeller/figure-slot-layout-panel.ts +1 -1
  9. package/client/modeller/gizmo.ts +12 -1
  10. package/client/modeller/links.ts +48 -6
  11. package/client/modeller/section-drawing.ts +7 -7
  12. package/client/modeller/size-drag.ts +112 -0
  13. package/client/modeller/slot-layout-host.ts +3 -3
  14. package/client/modeller/stage-model.ts +6 -9
  15. package/client/pages/figure-modeller-page.ts +1 -4
  16. package/dist-client/modeller/canvas.d.ts +24 -3
  17. package/dist-client/modeller/canvas.js +96 -11
  18. package/dist-client/modeller/canvas.js.map +1 -1
  19. package/dist-client/modeller/editor-styles.js +7 -22
  20. package/dist-client/modeller/editor-styles.js.map +1 -1
  21. package/dist-client/modeller/editor.d.ts +28 -32
  22. package/dist-client/modeller/editor.js +176 -153
  23. package/dist-client/modeller/editor.js.map +1 -1
  24. package/dist-client/modeller/fasten-form.d.ts +36 -3
  25. package/dist-client/modeller/fasten-form.js +80 -5
  26. package/dist-client/modeller/fasten-form.js.map +1 -1
  27. package/dist-client/modeller/figure-fasten-dialog.d.ts +17 -3
  28. package/dist-client/modeller/figure-fasten-dialog.js +47 -10
  29. package/dist-client/modeller/figure-fasten-dialog.js.map +1 -1
  30. package/dist-client/modeller/figure-fasten-drawing.d.ts +33 -1
  31. package/dist-client/modeller/figure-fasten-drawing.js +235 -11
  32. package/dist-client/modeller/figure-fasten-drawing.js.map +1 -1
  33. package/dist-client/modeller/figure-section-editor.d.ts +3 -3
  34. package/dist-client/modeller/figure-section-editor.js +4 -4
  35. package/dist-client/modeller/figure-section-editor.js.map +1 -1
  36. package/dist-client/modeller/figure-slot-layout-panel.js +1 -1
  37. package/dist-client/modeller/figure-slot-layout-panel.js.map +1 -1
  38. package/dist-client/modeller/gizmo.d.ts +12 -1
  39. package/dist-client/modeller/gizmo.js +8 -0
  40. package/dist-client/modeller/gizmo.js.map +1 -1
  41. package/dist-client/modeller/links.d.ts +14 -2
  42. package/dist-client/modeller/links.js +42 -4
  43. package/dist-client/modeller/links.js.map +1 -1
  44. package/dist-client/modeller/section-drawing.d.ts +3 -4
  45. package/dist-client/modeller/section-drawing.js +10 -9
  46. package/dist-client/modeller/section-drawing.js.map +1 -1
  47. package/dist-client/modeller/size-drag.d.ts +38 -0
  48. package/dist-client/modeller/size-drag.js +85 -0
  49. package/dist-client/modeller/size-drag.js.map +1 -0
  50. package/dist-client/modeller/slot-layout-host.d.ts +1 -3
  51. package/dist-client/modeller/slot-layout-host.js +3 -3
  52. package/dist-client/modeller/slot-layout-host.js.map +1 -1
  53. package/dist-client/modeller/stage-model.d.ts +5 -7
  54. package/dist-client/modeller/stage-model.js +6 -6
  55. package/dist-client/modeller/stage-model.js.map +1 -1
  56. package/dist-client/pages/figure-modeller-page.d.ts +0 -2
  57. package/dist-client/pages/figure-modeller-page.js +1 -6
  58. package/dist-client/pages/figure-modeller-page.js.map +1 -1
  59. package/dist-client/tsconfig.tsbuildinfo +1 -1
  60. package/dist-server/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +7 -7
  62. package/test/align.test.ts +7 -11
  63. package/test/browser/acceptance-page.js +10 -0
  64. package/test/browser/editing.check.mjs +17 -13
  65. package/test/browser/links-page.js +2 -2
  66. package/test/browser/links.check.mjs +94 -56
  67. package/test/browser/modeller-page.js +30 -18
  68. package/test/browser/modeller-revision.check.mjs +39 -0
  69. package/test/browser/modeller.check.mjs +32 -10
  70. package/test/browser/screen-page.js +0 -2
  71. package/test/browser/screen.check.mjs +11 -13
  72. package/test/browser/section.check.mjs +2 -2
  73. package/test/fasten-form.test.ts +62 -1
  74. package/test/gizmo.test.ts +13 -15
  75. package/test/links.test.ts +8 -3
  76. package/test/resize-with-placement.test.ts +14 -13
  77. package/test/revision.test.ts +3 -2
  78. package/test/section-editor.test.ts +9 -10
  79. package/test/size-drag.test.ts +114 -0
  80. package/test/slot-layout-host.test.ts +13 -8
  81. package/translations/en.json +25 -22
  82. package/translations/es.json +25 -22
  83. package/translations/ja.json +25 -22
  84. package/translations/ko.json +25 -22
  85. package/translations/ms.json +25 -22
  86. package/translations/zh.json +25 -22
@@ -45,8 +45,8 @@ export declare class FigureEditor extends LitElement {
45
45
  /** Why the last recipe was refused, in the kernel's words. */
46
46
  private recipeError;
47
47
  revision: number;
48
- /** The verdict's count, drawn on its tab so it stays in sight while another tab is open. */
49
- instances?: number;
48
+ /** The 「?」 beside a group's title and the sentence it opens. */
49
+ private readonly help;
50
50
  /** The cost line the parts list shows, from the maturity report. */
51
51
  budget?: FigureBudgetLine;
52
52
  /**
@@ -65,12 +65,14 @@ export declare class FigureEditor extends LitElement {
65
65
  /** The view settings or the release history, open over the work from the bar. */
66
66
  private overlay?;
67
67
  /**
68
- * The fastening window open for the selected part (user 2026-10-17): chosen there, applied once. It stands over the
69
- * side panel, not over the canvas, so what is chosen is seen in 3D as it is chosen (user 2026-10-19: the standard
70
- * popup, always modal, covered the preview). It closes with nothing written when the part, the tab, the middle or a
71
- * bar panel changes under it.
68
+ * The fastening window open for the selected part (user 2026-10-17), in the standard popup, moved by its head
69
+ * (2026-10-18; put back 2026-10-20 -- the side panel it was moved to could not be moved), with no backdrop, so the
70
+ * canvas can be pressed while it is open: chosen there, applied once. It closes with nothing written when the part,
71
+ * the tab or the middle changes under it.
72
72
  */
73
73
  private fastening;
74
+ private fastenPopup?;
75
+ private fastenWindow?;
74
76
  /** Why the window's 「적용」 was refused, said in it. */
75
77
  private fastenError;
76
78
  /** The face of the part a row of the window's list is on, lit on the canvas while the pointer or the arrows are there. */
@@ -103,6 +105,8 @@ export declare class FigureEditor extends LitElement {
103
105
  private hiddenParts;
104
106
  /** A value in hand -- typed, held on a spinner, scrubbed, dragged -- drawn at once and recorded on release. */
105
107
  private live;
108
+ /** A size drag in hand, drawn from figure-model each frame (ADR-0140 4.4); gone with the release. */
109
+ private sizing?;
106
110
  /** The part whose drawn section is open in the section editor (ADR-0100 §3.2), or null. */
107
111
  private sectionEditing;
108
112
  private lastContext;
@@ -184,23 +188,16 @@ export declare class FigureEditor extends LitElement {
184
188
  /** What the gizmo may write for the selected part — read off the asset being edited. */
185
189
  private reachOf;
186
190
  /**
187
- * Whether this part's size is its own to drag but the drag is withheld because it is turned: then the size fields are
188
- * the way, and the notice says so. A part whose size is worked out from another part or from the figure's size is not
189
- * its own to drag at all; it is not told it is attached turned, nor sent to fields it cannot type in (:3300,
190
- * 2026-10-19, the fan's blade-2). Its tool says it is placed by something else, as before.
191
+ * A size drag in hand, a frame of it: the sizes the handle comes to, through figure-model's size function and the
192
+ * evaluator stepped to them, drawn and written nowhere (ADR-0140 4.4). Begun at the first frame, from the figure as it
193
+ * is drawn and the handle the scene says was held; the release writes the last frame's changes.
191
194
  */
192
- private sizeDragTurned;
193
- /** Whether a size drag on this part could not show what is written: figure-model gives no face it keeps. */
194
- private sizeDragUnsure;
195
+ private resizing;
195
196
  /**
196
- * Why this part's size is not dragged, in one line (user 2026-10-19: the reason told the faces kept, and was not
197
- * understood): attached turned or twisted, or turned off its upright.
197
+ * A free part a size change takes past the mounting plane: said, with 「…에 붙이기」 to fasten it there (ADR-0140 5). The
198
+ * size rule is not changed for it: what the author picks is the fastening, one step of the history.
198
199
  */
199
- private sizeDragRefusalOf;
200
- /** The size drag refused, said as a notice with the way to the part's size fields. */
201
- private tellSizeByFields;
202
- /** To the part's first size field it takes typed, on the properties tab, ready to type over. */
203
- private toSizeFields;
200
+ private tellThroughPlane;
204
201
  /** A drag, written back as the part's own inputs — one step of the history, like typing the numbers. */
205
202
  private transformed;
206
203
  /** 맞추기 — one tool, one step of the history, through the same inputs as the gizmo. */
@@ -251,13 +248,6 @@ export declare class FigureEditor extends LitElement {
251
248
  * history keeps what it read, as the tabs kept it. Esc closes it.
252
249
  */
253
250
  private renderOverlay;
254
- /**
255
- * The face a size drag keeps for the selected part, figure-model's rule (`figureScaleAnchorOf`): the gizmo shows it
256
- * while dragging and the commit keeps it, so nothing jumps on release. A part whose fastening is turned has none the
257
- * rule can say, and the gizmo keeps its own (the face across from the handle).
258
- */
259
- private anchorsOf;
260
- private lastAnchors;
261
251
  /** Data tried in the data tab, given to the preview's figures as their `data`; null when none is (ADR-0051 §8). */
262
252
  private dataSample;
263
253
  /** The figure's controls: try a value, name it, set its range and travel time, keep the pose. */
@@ -270,6 +260,11 @@ export declare class FigureEditor extends LitElement {
270
260
  private changeField;
271
261
  /** Typing or a held spinner: each number on the way is drawn; the field's change records it. */
272
262
  private typing;
263
+ /**
264
+ * The values in hand for a number typed or scrubbed: what its release writes -- a size with the part's middle kept,
265
+ * or its fastening (figure-model's one size function, ADR-0140 4.1), so the figure does not jump on the release.
266
+ */
267
+ private heldOf;
273
268
  /**
274
269
  * Drag a field's label (or an axis letter) sideways to scrub its value, as vector tools do: the figure follows the
275
270
  * pointer, and the release records one step. The field's number follows too, so the value in hand is always read.
@@ -322,11 +317,10 @@ export declare class FigureEditor extends LitElement {
322
317
  private goFasten;
323
318
  private openFastening;
324
319
  private closeFastening;
325
- /**
326
- * The fastening window over the side panel, as the bar's panels stand there: the figure on screen, the part, and what
327
- * the preview and a refusal said are the editor's. Its own Esc and 「취소」 close it, as its X does.
328
- */
329
- private renderFastening;
320
+ private fastenClosed;
321
+ /** What the window shows is the editor's: the figure on screen, the part, and what the preview and a refusal said. */
322
+ private tellFastening;
323
+ disconnectedCallback(): void;
330
324
  /** 「적용」: the command, one step; refused, the window stays open and says why. */
331
325
  private applyFastening;
332
326
  /** A row of the window's list under the pointer or the arrows: the face of that part it would be fastened on, lit. */
@@ -394,6 +388,8 @@ export declare class FigureEditor extends LitElement {
394
388
  * rule" named nothing): a fastened part's place and turn are its fastening's; other numbers are worked out from
395
389
  * something else. A size that follows something is said at the panel's head, so not again here.
396
390
  */
391
+ /** What a size typed keeps, under the size fields: the part's middle, where it is fastened, or only its size (ADR-0140 4.1). */
392
+ private renderSizeKeeps;
397
393
  private renderHeldAxes;
398
394
  /**
399
395
  * A part's fields only the declared room still reads (ADR-0097, designer 2026-09-27): shown as what they are and not