@things-factory/figure-ui 10.1.74 → 10.1.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/figure-assistant.ts +3 -3
- package/client/graphql/{v3-store.ts → store.ts} +6 -6
- package/client/modeller/{v3-ai-proposal.ts → ai-proposal.ts} +8 -8
- package/client/modeller/{v3-align.ts → align.ts} +14 -14
- package/client/modeller/{v3-canvas.ts → canvas.ts} +13 -13
- package/client/modeller/{v3-clips.ts → clips.ts} +5 -5
- package/client/modeller/{v3-controls.ts → controls.ts} +2 -2
- package/client/modeller/{v3-editor.ts → editor.ts} +137 -126
- package/client/modeller/{figure-v3-capability.ts → figure-capability-panel.ts} +7 -7
- package/client/modeller/{figure-v3-clips.ts → figure-clips.ts} +10 -10
- package/client/modeller/{figure-v3-controls.ts → figure-controls.ts} +9 -9
- package/client/modeller/{v3-figure-facts.ts → figure-facts.ts} +11 -11
- package/client/modeller/{figure-v3-first-save.ts → figure-first-save.ts} +3 -3
- package/client/modeller/figure-history-panel.ts +1 -1
- package/client/modeller/{figure-v3-links.ts → figure-links.ts} +35 -35
- package/client/modeller/{figure-v3-material.ts → figure-material-panel.ts} +20 -20
- package/client/modeller/{figure-v3-parts.ts → figure-parts.ts} +15 -15
- package/client/modeller/{figure-v3-preview.ts → figure-preview.ts} +14 -14
- package/client/modeller/{figure-v3-properties.ts → figure-properties.ts} +25 -25
- package/client/modeller/{figure-v3-recipe-catalog.ts → figure-recipe-catalog.ts} +10 -10
- package/client/modeller/{figure-v3-verdict.ts → figure-verdict.ts} +24 -24
- package/client/modeller/gate-findings.ts +2 -2
- package/client/modeller/{v3-gizmo.ts → gizmo.ts} +11 -11
- package/client/modeller/{v3-joint-drag.ts → joint-drag.ts} +11 -11
- package/client/modeller/{v3-joint-fan.ts → joint-fan.ts} +13 -13
- package/client/modeller/{v3-links.ts → links.ts} +59 -59
- package/client/modeller/{v3-live.ts → live.ts} +9 -9
- package/client/modeller/{v3-maturity.ts → maturity.ts} +65 -65
- package/client/modeller/modeller-route.ts +1 -1
- package/client/modeller/{v3-occupancy.ts → occupancy.ts} +6 -6
- package/client/modeller/{v3-palette.ts → palette.ts} +3 -3
- package/client/modeller/{v3-preview-model.ts → preview-model.ts} +8 -8
- package/client/modeller/{v3-product-session.ts → product-session.ts} +25 -25
- package/client/modeller/{v3-recipe-source.ts → recipe-source.ts} +2 -2
- package/client/modeller/{v3-recipes.ts → recipes.ts} +9 -9
- package/client/modeller/{v3-refusals.ts → refusals.ts} +62 -13
- package/client/modeller/{v3-renderer.ts → renderer.ts} +16 -16
- package/client/modeller/{v3-stage-model.ts → stage-model.ts} +15 -15
- package/client/modeller/{v3-thumbnail.ts → thumbnail.ts} +8 -8
- package/client/pages/figure-list-page.ts +4 -4
- package/client/pages/{figure-v3-modeller-page.ts → figure-modeller-page.ts} +37 -37
- package/client/route.ts +1 -5
- package/dist-client/figure-assistant.js +3 -3
- package/dist-client/figure-assistant.js.map +1 -1
- package/dist-client/graphql/store.d.ts +3 -0
- package/dist-client/graphql/store.js +39 -0
- package/dist-client/graphql/store.js.map +1 -0
- package/dist-client/modeller/ai-proposal.d.ts +51 -0
- package/dist-client/modeller/ai-proposal.js +64 -0
- package/dist-client/modeller/ai-proposal.js.map +1 -0
- package/dist-client/modeller/align.d.ts +30 -0
- package/dist-client/modeller/align.js +75 -0
- package/dist-client/modeller/align.js.map +1 -0
- package/dist-client/modeller/canvas.d.ts +72 -0
- package/dist-client/modeller/canvas.js +379 -0
- package/dist-client/modeller/canvas.js.map +1 -0
- package/dist-client/modeller/clips.d.ts +39 -0
- package/dist-client/modeller/clips.js +58 -0
- package/dist-client/modeller/clips.js.map +1 -0
- package/dist-client/modeller/controls.d.ts +28 -0
- package/dist-client/modeller/controls.js +28 -0
- package/dist-client/modeller/controls.js.map +1 -0
- package/dist-client/modeller/editor.d.ts +203 -0
- package/dist-client/modeller/editor.js +1526 -0
- package/dist-client/modeller/editor.js.map +1 -0
- package/dist-client/modeller/fields.d.ts +45 -0
- package/dist-client/modeller/fields.js +83 -0
- package/dist-client/modeller/fields.js.map +1 -0
- package/dist-client/modeller/figure-capability-panel.d.ts +22 -0
- package/dist-client/modeller/figure-capability-panel.js +141 -0
- package/dist-client/modeller/figure-capability-panel.js.map +1 -0
- package/dist-client/modeller/figure-clips.d.ts +31 -0
- package/dist-client/modeller/figure-clips.js +268 -0
- package/dist-client/modeller/figure-clips.js.map +1 -0
- package/dist-client/modeller/figure-controls.d.ts +36 -0
- package/dist-client/modeller/figure-controls.js +226 -0
- package/dist-client/modeller/figure-controls.js.map +1 -0
- package/dist-client/modeller/figure-facts.d.ts +35 -0
- package/dist-client/modeller/figure-facts.js +55 -0
- package/dist-client/modeller/figure-facts.js.map +1 -0
- package/dist-client/modeller/figure-first-save.d.ts +20 -0
- package/dist-client/modeller/figure-first-save.js +118 -0
- package/dist-client/modeller/figure-first-save.js.map +1 -0
- package/dist-client/modeller/figure-history-panel.d.ts +1 -1
- package/dist-client/modeller/figure-history-panel.js.map +1 -1
- package/dist-client/modeller/figure-links.d.ts +77 -0
- package/dist-client/modeller/figure-links.js +649 -0
- package/dist-client/modeller/figure-links.js.map +1 -0
- package/dist-client/modeller/figure-material-panel.d.ts +39 -0
- package/dist-client/modeller/figure-material-panel.js +323 -0
- package/dist-client/modeller/figure-material-panel.js.map +1 -0
- package/dist-client/modeller/figure-parts.d.ts +69 -0
- package/dist-client/modeller/figure-parts.js +559 -0
- package/dist-client/modeller/figure-parts.js.map +1 -0
- package/dist-client/modeller/figure-preview.d.ts +34 -0
- package/dist-client/modeller/figure-preview.js +346 -0
- package/dist-client/modeller/figure-preview.js.map +1 -0
- package/dist-client/modeller/figure-properties.d.ts +45 -0
- package/dist-client/modeller/figure-properties.js +239 -0
- package/dist-client/modeller/figure-properties.js.map +1 -0
- package/dist-client/modeller/figure-recipe-catalog.d.ts +38 -0
- package/dist-client/modeller/figure-recipe-catalog.js +399 -0
- package/dist-client/modeller/figure-recipe-catalog.js.map +1 -0
- package/dist-client/modeller/figure-verdict.d.ts +64 -0
- package/dist-client/modeller/figure-verdict.js +787 -0
- package/dist-client/modeller/figure-verdict.js.map +1 -0
- package/dist-client/modeller/first-save.d.ts +17 -0
- package/dist-client/modeller/first-save.js +26 -0
- package/dist-client/modeller/first-save.js.map +1 -0
- package/dist-client/modeller/gate-findings.d.ts +2 -2
- package/dist-client/modeller/gate-findings.js +2 -2
- package/dist-client/modeller/gate-findings.js.map +1 -1
- package/dist-client/modeller/gizmo.d.ts +72 -0
- package/dist-client/modeller/gizmo.js +111 -0
- package/dist-client/modeller/gizmo.js.map +1 -0
- package/dist-client/modeller/help.d.ts +18 -0
- package/dist-client/modeller/help.js +37 -0
- package/dist-client/modeller/help.js.map +1 -0
- package/dist-client/modeller/joint-drag.d.ts +19 -0
- package/dist-client/modeller/joint-drag.js +97 -0
- package/dist-client/modeller/joint-drag.js.map +1 -0
- package/dist-client/modeller/joint-fan.d.ts +9 -0
- package/dist-client/modeller/joint-fan.js +276 -0
- package/dist-client/modeller/joint-fan.js.map +1 -0
- package/dist-client/modeller/keys.d.ts +22 -0
- package/dist-client/modeller/keys.js +26 -0
- package/dist-client/modeller/keys.js.map +1 -0
- package/dist-client/modeller/links.d.ts +267 -0
- package/dist-client/modeller/links.js +480 -0
- package/dist-client/modeller/links.js.map +1 -0
- package/dist-client/modeller/live.d.ts +37 -0
- package/dist-client/modeller/live.js +68 -0
- package/dist-client/modeller/live.js.map +1 -0
- package/dist-client/modeller/maturity.d.ts +120 -0
- package/dist-client/modeller/maturity.js +313 -0
- package/dist-client/modeller/maturity.js.map +1 -0
- package/dist-client/modeller/modeller-route.d.ts +1 -1
- package/dist-client/modeller/modeller-route.js +1 -1
- package/dist-client/modeller/modeller-route.js.map +1 -1
- package/dist-client/modeller/occupancy.d.ts +18 -0
- package/dist-client/modeller/occupancy.js +24 -0
- package/dist-client/modeller/occupancy.js.map +1 -0
- package/dist-client/modeller/palette.d.ts +7 -0
- package/dist-client/modeller/palette.js +46 -0
- package/dist-client/modeller/palette.js.map +1 -0
- package/dist-client/modeller/preview-model.d.ts +47 -0
- package/dist-client/modeller/preview-model.js +68 -0
- package/dist-client/modeller/preview-model.js.map +1 -0
- package/dist-client/modeller/product-session.d.ts +510 -0
- package/dist-client/modeller/product-session.js +157 -0
- package/dist-client/modeller/product-session.js.map +1 -0
- package/dist-client/modeller/recipe-source.d.ts +8 -0
- package/dist-client/modeller/recipe-source.js +14 -0
- package/dist-client/modeller/recipe-source.js.map +1 -0
- package/dist-client/modeller/recipes.d.ts +37 -0
- package/dist-client/modeller/recipes.js +103 -0
- package/dist-client/modeller/recipes.js.map +1 -0
- package/dist-client/modeller/refusals.d.ts +68 -0
- package/dist-client/modeller/refusals.js +142 -0
- package/dist-client/modeller/refusals.js.map +1 -0
- package/dist-client/modeller/renderer.d.ts +40 -0
- package/dist-client/modeller/renderer.js +73 -0
- package/dist-client/modeller/renderer.js.map +1 -0
- package/dist-client/modeller/stage-model.d.ts +39 -0
- package/dist-client/modeller/stage-model.js +147 -0
- package/dist-client/modeller/stage-model.js.map +1 -0
- package/dist-client/modeller/thumbnail.d.ts +3 -0
- package/dist-client/modeller/thumbnail.js +75 -0
- package/dist-client/modeller/thumbnail.js.map +1 -0
- package/dist-client/modeller/v3-clips.d.ts +1 -1
- package/dist-client/modeller/v3-editor.d.ts +5 -0
- package/dist-client/modeller/v3-editor.js +21 -10
- package/dist-client/modeller/v3-editor.js.map +1 -1
- package/dist-client/modeller/v3-product-session.d.ts +31 -0
- package/dist-client/modeller/v3-refusals.d.ts +37 -5
- package/dist-client/modeller/v3-refusals.js +59 -16
- package/dist-client/modeller/v3-refusals.js.map +1 -1
- package/dist-client/pages/figure-list-page.d.ts +1 -1
- package/dist-client/pages/figure-list-page.js +4 -4
- package/dist-client/pages/figure-list-page.js.map +1 -1
- package/dist-client/pages/figure-modeller-page.d.ts +102 -0
- package/dist-client/pages/figure-modeller-page.js +548 -0
- package/dist-client/pages/figure-modeller-page.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +1 -5
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/docs/product-cutover.md +25 -0
- package/package.json +5 -5
- package/test/{v3-ai-proposal.test.ts → ai-proposal.test.ts} +6 -6
- package/test/{v3-align.test.ts → align.test.ts} +8 -8
- package/test/browser/modeller-page.js +30 -30
- package/test/browser/modeller.check.mjs +17 -16
- package/test/browser/serve.mjs +1 -1
- package/test/browser/thumbnail-page.js +6 -6
- package/test/{v3-clips.test.ts → clips.test.ts} +18 -18
- package/test/{v3-controls.test.ts → controls.test.ts} +15 -15
- package/test/{v3-fields.test.ts → fields.test.ts} +13 -13
- package/test/figure-assistant-surface.test.ts +3 -3
- package/test/{v3-first-save.test.ts → first-save.test.ts} +10 -10
- package/test/fixtures/joint-column.json +2 -2
- package/test/fixtures/joint-roller.json +2 -2
- package/test/fixtures/robot-arm-6dof.json +2 -2
- package/test/{v3-gizmo.test.ts → gizmo.test.ts} +33 -33
- package/test/{v3-joint-drag.test.ts → joint-drag.test.ts} +17 -17
- package/test/{v3-joint-fan.test.ts → joint-fan.test.ts} +18 -18
- package/test/joints.ts +6 -6
- package/test/{v3-keys.test.ts → keys.test.ts} +2 -2
- package/test/{v3-layout.test.ts → layout.test.ts} +8 -8
- package/test/{v3-links.test.ts → links.test.ts} +201 -201
- package/test/{v3-live.test.ts → live.test.ts} +18 -18
- package/test/{v3-material.test.ts → material.test.ts} +12 -12
- package/test/{v3-maturity.test.ts → maturity.test.ts} +74 -74
- package/test/modeller-route.test.ts +5 -6
- package/test/{v3-palette-icons.test.ts → palette-icons.test.ts} +1 -1
- package/test/{v3-parts-wiring.test.ts → parts-wiring.test.ts} +11 -7
- package/test/{v3-preview.test.ts → preview.test.ts} +12 -12
- package/test/{v3-product-session.test.ts → product-session.test.ts} +17 -17
- package/test/{v3-product-write.test.ts → product-write.test.ts} +20 -20
- package/test/{v3-properties.test.ts → properties.test.ts} +24 -24
- package/test/{v3-recipes.test.ts → recipes.test.ts} +10 -10
- package/test/refusals.test.ts +166 -0
- package/test/{v3-release-panel.test.ts → release-panel.test.ts} +21 -21
- package/test/renderer.test.ts +24 -0
- package/test/resolve-ts-siblings.mjs +1 -1
- package/test/{v3-scene-canvas.test.ts → scene-canvas.test.ts} +6 -6
- package/test/{v3-stage-model.test.ts → stage-model.test.ts} +5 -5
- package/test/{v3-theme.test.ts → theme.test.ts} +4 -4
- package/test/{v3-thumbnail.test.ts → thumbnail.test.ts} +4 -4
- package/test/{v3-verdict.test.ts → verdict.test.ts} +17 -17
- package/test/{v3-view.test.ts → view.test.ts} +2 -2
- package/things-factory.config.js +2 -3
- package/translations/en.json +15 -7
- package/translations/ja.json +15 -7
- package/translations/ko.json +15 -7
- package/translations/ms.json +15 -7
- package/translations/zh.json +15 -7
- package/docs/v3-product-cutover.md +0 -25
- package/test/v3-refusals.test.ts +0 -136
- package/test/v3-renderer.test.ts +0 -24
- /package/client/modeller/{v3-fields.ts → fields.ts} +0 -0
- /package/client/modeller/{v3-first-save.ts → first-save.ts} +0 -0
- /package/client/modeller/{v3-help.ts → help.ts} +0 -0
- /package/client/modeller/{v3-keys.ts → keys.ts} +0 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { LitElement, type PropertyValues } from 'lit';
|
|
2
|
+
import '@operato/layout';
|
|
3
|
+
import type { RecipeTemplate } from './recipes.js';
|
|
4
|
+
import './figure-recipe-catalog.js';
|
|
5
|
+
import type { FigureProductSession } from './product-session.js';
|
|
6
|
+
import './canvas.js';
|
|
7
|
+
import './figure-parts.js';
|
|
8
|
+
import './figure-material-panel.js';
|
|
9
|
+
import './figure-links.js';
|
|
10
|
+
import './figure-controls.js';
|
|
11
|
+
import './figure-clips.js';
|
|
12
|
+
import './figure-preview.js';
|
|
13
|
+
import './figure-settings.js';
|
|
14
|
+
import './figure-capability-panel.js';
|
|
15
|
+
import type { FigureBudgetLine } from './maturity.js';
|
|
16
|
+
import type { FirstSave } from './first-save.js';
|
|
17
|
+
/** Product editor surface. The injected session is shared by page persistence and AI commands. */
|
|
18
|
+
export declare class FigureEditor extends LitElement {
|
|
19
|
+
static styles: import("lit").CSSResult[];
|
|
20
|
+
session?: FigureProductSession;
|
|
21
|
+
/** The recipe templates (ADR-0095), read by the page from the server. */
|
|
22
|
+
templates: RecipeTemplate[];
|
|
23
|
+
/** Reads a template's guide; given by the page. */
|
|
24
|
+
guideOf?: (name: string) => Promise<string>;
|
|
25
|
+
thumbnailOf?: (name: string) => string;
|
|
26
|
+
/** The 「보드에서 바꿀 수 있음」 form being filled for a row, before it is published (ADR-0096). */
|
|
27
|
+
private publishing?;
|
|
28
|
+
private catalogOpen;
|
|
29
|
+
/** Why the last recipe was refused, in the kernel's words. */
|
|
30
|
+
private recipeError;
|
|
31
|
+
revision: number;
|
|
32
|
+
/** The verdict's count, drawn on its tab so it stays in sight while another tab is open. */
|
|
33
|
+
instances?: number;
|
|
34
|
+
/** The cost line the parts list shows, from the maturity report. */
|
|
35
|
+
budget?: FigureBudgetLine;
|
|
36
|
+
/**
|
|
37
|
+
* Asks the type and name of a figure saved for the first time (the host has the catalogue's names); undefined
|
|
38
|
+
* when the author cancels, and then nothing is saved. Without it a new figure is saved under a temporary type.
|
|
39
|
+
*/
|
|
40
|
+
firstSave?: (name: string) => Promise<FirstSave | undefined>;
|
|
41
|
+
private selected;
|
|
42
|
+
private error;
|
|
43
|
+
/** The same link offered again with the size range narrowed, after a link the declared range could not hold. */
|
|
44
|
+
private retry?;
|
|
45
|
+
private tab;
|
|
46
|
+
/** The frame the bar folds - found after the first render, since the bar is drawn before it. */
|
|
47
|
+
private panes?;
|
|
48
|
+
/** What the middle shows: the parts being edited, or the figure placed on a board at eight sizes. */
|
|
49
|
+
private middle;
|
|
50
|
+
/** The gizmo shown on the selected part, as the tools in the bar and W · E · R choose it; none once the part changes. */
|
|
51
|
+
private gizmoMode?;
|
|
52
|
+
/** A line saying what a command did besides what was asked; gone at the next command. */
|
|
53
|
+
private notice;
|
|
54
|
+
/**
|
|
55
|
+
* How the workbench shows the figure, in the board's own state names. The viewer's, kept in
|
|
56
|
+
* their browser, never in the figure.
|
|
57
|
+
*/
|
|
58
|
+
private view;
|
|
59
|
+
private static storedView;
|
|
60
|
+
private setView;
|
|
61
|
+
/**
|
|
62
|
+
* Parts hidden on the workbench — the author's view while working, not the asset's visibility. Not saved: a part
|
|
63
|
+
* hidden here is still in the figure, still checked, still drawn on a board.
|
|
64
|
+
*/
|
|
65
|
+
private hiddenParts;
|
|
66
|
+
/** A value in hand -- typed, held on a spinner, scrubbed, dragged -- drawn at once and recorded on release. */
|
|
67
|
+
private live;
|
|
68
|
+
private lastContext;
|
|
69
|
+
/**
|
|
70
|
+
* Move, turn and size on the canvas, in the bar's tools: the gizmo the W · E · R keys give, found without knowing the
|
|
71
|
+
* keys (2026-09-26 -- a person dragging the part turned the camera). Each is offered only where the part's own
|
|
72
|
+
* numbers can take it (`gizmoReachOf`).
|
|
73
|
+
*/
|
|
74
|
+
private renderGizmoTools;
|
|
75
|
+
/** The modeller's keys (`keys.ts`): undo, redo, duplicate, remove, back to the whole figure, the gizmo's modes. */
|
|
76
|
+
private onKey;
|
|
77
|
+
connectedCallback(): void;
|
|
78
|
+
disconnectedCallback(): void;
|
|
79
|
+
protected willUpdate(_changed: PropertyValues): void;
|
|
80
|
+
/** The scene toggles: the mode already shown takes the gizmo away. */
|
|
81
|
+
private useGizmo;
|
|
82
|
+
/**
|
|
83
|
+
* A refusal no particular sentence knows: figure-model's code said as a refusal, never its English; any other error
|
|
84
|
+
* (the network, the server) as it came.
|
|
85
|
+
*/
|
|
86
|
+
private said;
|
|
87
|
+
private run;
|
|
88
|
+
/** What the canvas draws: the figure with the value in hand when there is one, and without the parts hidden on the workbench. */
|
|
89
|
+
private drawnParts;
|
|
90
|
+
/**
|
|
91
|
+
* Where the selected part turns and how far, with the pose as it is drawn now -- a value in hand included, so the
|
|
92
|
+
* fan follows the arm while a control is dragged. Its size comes from what the joint turns (`joint-fan`).
|
|
93
|
+
*/
|
|
94
|
+
private fanOf;
|
|
95
|
+
/**
|
|
96
|
+
* Every input as the session holds it now -- the pose the author has set with the controls, and design values. The
|
|
97
|
+
* asset's source carries only the saved defaults, so drawing a value in hand over it put every other joint back to its
|
|
98
|
+
* saved angle while one slider moved, and the arm jumped when released (user, 2026-09-24).
|
|
99
|
+
*/
|
|
100
|
+
private currentInputs;
|
|
101
|
+
/** A value in hand: an input's value (design or pose) or a part edit. Nothing is recorded. */
|
|
102
|
+
private hold;
|
|
103
|
+
private changed;
|
|
104
|
+
private save;
|
|
105
|
+
private add;
|
|
106
|
+
/**
|
|
107
|
+
* The list's own operations, as part edits — each one step of the session's history. The copy and the moved
|
|
108
|
+
* part stay selected.
|
|
109
|
+
*/
|
|
110
|
+
private duplicatePart;
|
|
111
|
+
private movePart;
|
|
112
|
+
private removePart;
|
|
113
|
+
private toggleHiddenPart;
|
|
114
|
+
/** Whether the figure declares its size (the three size inputs). */
|
|
115
|
+
private hasSize;
|
|
116
|
+
/**
|
|
117
|
+
* A recipe put in (ADR-0095): resolved on the figure as it stands -- its parts take the next free name, onto the part
|
|
118
|
+
* chosen -- and applied as one step. Refused, the kernel's sentence goes to the form as it is (condition 3).
|
|
119
|
+
*/
|
|
120
|
+
private insertRecipe;
|
|
121
|
+
/** The design values of the asset being edited. */
|
|
122
|
+
private designValues;
|
|
123
|
+
/** What the gizmo may write for the selected part — read off the asset being edited. */
|
|
124
|
+
private reachOf;
|
|
125
|
+
/** A drag, written back as the part's own inputs — one step of the history, like typing the numbers. */
|
|
126
|
+
private transformed;
|
|
127
|
+
/** 맞추기 — one tool, one step of the history, through the same inputs as the gizmo. */
|
|
128
|
+
private align;
|
|
129
|
+
/** A mirrored copy: duplicate, then place the copy on the other side — two steps. */
|
|
130
|
+
private mirror;
|
|
131
|
+
private renderTools;
|
|
132
|
+
/**
|
|
133
|
+
* A part's name. It renames every value the part owns, and what refers to them follows
|
|
134
|
+
* (figure-model's rename-part), as one step of the history.
|
|
135
|
+
*/
|
|
136
|
+
/**
|
|
137
|
+
* A repeated body is one of its repeat's copies and is named after it -- the list and this field read `roller 15`, not
|
|
138
|
+
* its path through the repeat (user, 2026-09-24: 「부품 이름 ???」). A copy has no name of its own to change.
|
|
139
|
+
*/
|
|
140
|
+
private renderRepeatNote;
|
|
141
|
+
private renamePart;
|
|
142
|
+
/** Size response, fastening and motion for the selected part, as authoring commands. */
|
|
143
|
+
private renderLinks;
|
|
144
|
+
/** The figure's controls: try a value, name it, set its range and travel time, keep the pose. */
|
|
145
|
+
private renderControls;
|
|
146
|
+
/** One command, one step of the history. A refusal a person can meet here is said in their words. */
|
|
147
|
+
private linkCommand;
|
|
148
|
+
private changeField;
|
|
149
|
+
/** Typing or a held spinner: each number on the way is drawn; the field's change records it. */
|
|
150
|
+
private typing;
|
|
151
|
+
/**
|
|
152
|
+
* Drag a field's label (or an axis letter) sideways to scrub its value, as vector tools do: the figure follows the
|
|
153
|
+
* pointer, and the release records one step. The field's number follows too, so the value in hand is always read.
|
|
154
|
+
*/
|
|
155
|
+
private scrub;
|
|
156
|
+
/** The measured range, kept for the revision it was measured at: measuring evaluates the figure at its edges. */
|
|
157
|
+
private range?;
|
|
158
|
+
/** The sizes a board may give the figure, and the way to measure them again after its parts changed. */
|
|
159
|
+
private renderInstanceRange;
|
|
160
|
+
/**
|
|
161
|
+
* How the figure grows. One ratio (`sizing: 'uniform'`) is said as it is; a figure with joints that has not declared
|
|
162
|
+
* it is offered it -- a mechanism does not shear -- and the author decides (chief architect's ruling 2026-09-24).
|
|
163
|
+
*/
|
|
164
|
+
private renderSizingRule;
|
|
165
|
+
/**
|
|
166
|
+
* The parts list, one row per part the author made: a repeat is one row with how many copies it makes now
|
|
167
|
+
* (user, 2026-09-24: the conveyor's sixteen rollers were sixteen rows).
|
|
168
|
+
*/
|
|
169
|
+
private partRows;
|
|
170
|
+
/** The detail level's part budget for the list's head, from figure-model's count (a repeat once). */
|
|
171
|
+
private partBudgetOf;
|
|
172
|
+
/**
|
|
173
|
+
* A repeat: which way its copies run, how many there are now, and how far apart.
|
|
174
|
+
* The pitch of a row that fills its length is edited as a number (`set-repeat` makes it the part's own the first
|
|
175
|
+
* time); a row of a fixed count says its pitch cannot be set yet (figure-model refuses it the same way).
|
|
176
|
+
*/
|
|
177
|
+
private renderRepeat;
|
|
178
|
+
/** The design input a row's pitch is read from, when it is read from one (ADR-0096). */
|
|
179
|
+
private pitchInputOf;
|
|
180
|
+
/**
|
|
181
|
+
* 「보드에서 바꿀 수 있음」 (ADR-0096): the row's pitch made a design input the figure publishes -- a name on the board and
|
|
182
|
+
* a range the board's value is held to -- in one step; changed or withdrawn the same way. Only a row with a record.
|
|
183
|
+
*/
|
|
184
|
+
private renderPublicPitch;
|
|
185
|
+
/**
|
|
186
|
+
* A pitch always goes through `set-repeat`: the command moves the longest length with it (at most `limit` copies),
|
|
187
|
+
* which a plain input edit would not. Refused only when the authored length would already hold more copies than
|
|
188
|
+
* that -- said with the numbers.
|
|
189
|
+
*/
|
|
190
|
+
private setPitch;
|
|
191
|
+
/** Choose a part, from the list, the canvas or a place row. A figure-level tab gives way to the part's properties. */
|
|
192
|
+
private choose;
|
|
193
|
+
private asset;
|
|
194
|
+
private renderTab;
|
|
195
|
+
updated(changed: PropertyValues<this>): void;
|
|
196
|
+
/** Which part the panel speaks of, with the way back to the whole figure. */
|
|
197
|
+
private renderSubject;
|
|
198
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
199
|
+
/** Position, rotation and size as rows of three cells; the shape's own measures one to a line, under their title. */
|
|
200
|
+
private renderGroups;
|
|
201
|
+
private renderVector;
|
|
202
|
+
private renderSingle;
|
|
203
|
+
}
|