@things-factory/figure-ui 10.1.6 → 10.1.8
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/graphql/index.ts +25 -0
- package/client/modeller/figure-animations.ts +769 -0
- package/client/modeller/figure-ask.ts +6 -1
- package/client/modeller/figure-history-panel.ts +52 -1
- package/client/modeller/figure-inspector.ts +520 -120
- package/client/modeller/figure-side.ts +65 -17
- package/client/modeller/proposal-session.ts +92 -0
- package/client/pages/figure-list-page.ts +56 -4
- package/client/pages/figure-modeller-page.ts +204 -179
- package/client/types.ts +39 -0
- package/client/viewparts/figure-thumb.ts +78 -0
- package/dist-client/graphql/index.d.ts +3 -1
- package/dist-client/graphql/index.js +22 -0
- package/dist-client/graphql/index.js.map +1 -1
- package/dist-client/modeller/figure-animations.d.ts +96 -0
- package/dist-client/modeller/figure-animations.js +708 -0
- package/dist-client/modeller/figure-animations.js.map +1 -0
- package/dist-client/modeller/figure-ask.d.ts +3 -0
- package/dist-client/modeller/figure-ask.js +9 -0
- package/dist-client/modeller/figure-ask.js.map +1 -1
- package/dist-client/modeller/figure-history-panel.d.ts +7 -0
- package/dist-client/modeller/figure-history-panel.js +50 -0
- package/dist-client/modeller/figure-history-panel.js.map +1 -1
- package/dist-client/modeller/figure-inspector.d.ts +17 -0
- package/dist-client/modeller/figure-inspector.js +506 -107
- package/dist-client/modeller/figure-inspector.js.map +1 -1
- package/dist-client/modeller/figure-side.d.ts +23 -0
- package/dist-client/modeller/figure-side.js +68 -16
- package/dist-client/modeller/figure-side.js.map +1 -1
- package/dist-client/modeller/proposal-session.d.ts +23 -0
- package/dist-client/modeller/proposal-session.js +65 -0
- package/dist-client/modeller/proposal-session.js.map +1 -0
- package/dist-client/pages/figure-list-page.d.ts +10 -0
- package/dist-client/pages/figure-list-page.js +55 -4
- package/dist-client/pages/figure-list-page.js.map +1 -1
- package/dist-client/pages/figure-modeller-page.d.ts +50 -28
- package/dist-client/pages/figure-modeller-page.js +197 -176
- package/dist-client/pages/figure-modeller-page.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types.d.ts +44 -0
- package/dist-client/types.js.map +1 -1
- package/dist-client/viewparts/figure-thumb.js +74 -0
- package/dist-client/viewparts/figure-thumb.js.map +1 -1
- package/package.json +4 -5
- package/test/ai-proposal-contract.test.ts +169 -0
- package/test/i18n-prefix-guard.test.ts +42 -0
- package/translations/en.json +82 -6
- package/translations/ja.json +34 -1
- package/translations/ko.json +92 -6
- package/translations/ms.json +34 -1
- package/translations/zh.json +34 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import '@material/web/icon/icon.js';
|
|
2
2
|
import '../modeller/figure-side.js';
|
|
3
3
|
import '../modeller/figure-ask.js';
|
|
4
|
-
import '@things-factory/ai-assistant/dist-client/index.js';
|
|
5
4
|
import '../modeller/figure-canvas.js';
|
|
6
5
|
import '../modeller/figure-preview.js';
|
|
7
6
|
import '../modeller/figure-parts.js';
|
|
@@ -65,14 +64,10 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
65
64
|
* 미저장 표시(`dirty`)는 그대로 남으므로 데이터를 잃지는 않았다. 잃은 것은 **사유**다.
|
|
66
65
|
*/
|
|
67
66
|
private saveFailure;
|
|
68
|
-
/**
|
|
69
|
-
private
|
|
70
|
-
/**
|
|
71
|
-
private
|
|
72
|
-
/** 그 후보의 셈. 무엇을 받는 것인지 숫자로도 보여 준다. */
|
|
73
|
-
private proposalOf?;
|
|
74
|
-
/** 받기로 고른 변경들. 처음에는 전부 골라 둔다. */
|
|
75
|
-
private picked;
|
|
67
|
+
/** 저작 보조 또는 발행 게이트가 연 후보 검토 세션. 받기 전에는 정본이 아니다. */
|
|
68
|
+
private proposalSession?;
|
|
69
|
+
/** 인라인 요청창과 AI 도크가 함께 쓰는 현재 Figure의 제한된 세션 피드백. */
|
|
70
|
+
private proposalFeedback;
|
|
76
71
|
/**
|
|
77
72
|
* 저장 형식으로 변환한 것. 씬 모델이 바뀔 때만 다시 만든다.
|
|
78
73
|
*
|
|
@@ -81,27 +76,24 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
81
76
|
*/
|
|
82
77
|
private folded?;
|
|
83
78
|
willUpdate(changed: Map<string, unknown>): void;
|
|
79
|
+
/**
|
|
80
|
+
* 페이지 밖 AI 도크에도 **지금 손에 든 정본**을 알려 준다.
|
|
81
|
+
*
|
|
82
|
+
* 모델러 안의 `figure-ask` 는 이미 `folded`를 직접 받는다. 반면 asidebar 도크는 주소의 id만
|
|
83
|
+
* 알았으므로 DB에 저장된 옛 판을 읽었다. 저장 전 변경을 두고 "왜 발행이 안 되나" 또는
|
|
84
|
+
* "이 부품을 줄여 달라"고 물으면 대화가 엉뚱한 판을 보게 되는 결함이었다.
|
|
85
|
+
*
|
|
86
|
+
* 이 이벤트는 저장하지 않는다. 도크가 대화 인자로만 잠시 들고 있고, 서버 도구도 도메인 소속
|
|
87
|
+
* Figure를 먼저 확인한 뒤에만 이 source를 사용한다. 페이지를 떠날 때는 아래에서 지워 오래된
|
|
88
|
+
* 초안이 다음 Figure에 섞이지 않게 한다.
|
|
89
|
+
*/
|
|
90
|
+
updated(changed: Map<string, unknown>): void;
|
|
91
|
+
disconnectedCallback(): void;
|
|
84
92
|
get context(): {
|
|
85
93
|
title: string;
|
|
86
94
|
heading: boolean;
|
|
87
95
|
};
|
|
88
96
|
render(): import("lit-html").TemplateResult<1>;
|
|
89
|
-
/**
|
|
90
|
-
* 어시스턴트가 「지금 무엇을 열고 있나」를 아는 길.
|
|
91
|
-
*
|
|
92
|
-
* 도구가 대상을 안 받았을 때 이 문맥에서 해소한다 — 사용자에게 식별자를 되묻지 않는다.
|
|
93
|
-
* 팔레트도 함께 보낸다: 모르면 모델이 색을 지어내고, 그 후보는 검증을 지나 **그리는 시점에**
|
|
94
|
-
* 죽는다.
|
|
95
|
-
*/
|
|
96
|
-
private get hostContext();
|
|
97
|
-
/**
|
|
98
|
-
* 도크의 후보를 받는다.
|
|
99
|
-
*
|
|
100
|
-
* **후보가 화면에 닿는 길은 하나뿐이다** — 말로 시키는 줄이든 도크든 `receive()` 로 모인다.
|
|
101
|
-
* 두 길을 두면 「지금 / 후보」 두 칸을 두 곳에서 그리게 되고, 어느 쪽이 이기는지 저작자가
|
|
102
|
-
* 매번 생각해야 한다.
|
|
103
|
-
*/
|
|
104
|
-
private takeProposal;
|
|
105
97
|
/**
|
|
106
98
|
* 가운데 칸 위의 띠 — 무엇을 보고 있나와, 양쪽 칸을 접는 손잡이.
|
|
107
99
|
*
|
|
@@ -129,10 +121,12 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
129
121
|
private renderCollapse;
|
|
130
122
|
private toggleCollapse;
|
|
131
123
|
/**
|
|
132
|
-
* AI 후보를
|
|
124
|
+
* AI 후보를 실제 배치 크기에서도 본다.
|
|
133
125
|
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
126
|
+
* 편집 캔버스 한 장으로는 `repeat`·`fixed`·`anchor`가 맞는지 알 수 없다. 후보는 아직
|
|
127
|
+
* 정본이 아니므로 저장하지 않고, `figure-preview`가 같은 FigureSource를 기준 크기와
|
|
128
|
+
* 일곱 가지 확장 축에서 실제 FigureInstance로 세운다. 따라서 저작자는 "좋아 보이는
|
|
129
|
+
* 한 장"이 아니라 배치될 때도 붙어 있는지를 보고 수락한다.
|
|
136
130
|
*/
|
|
137
131
|
private renderProposed;
|
|
138
132
|
/**
|
|
@@ -150,6 +144,8 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
150
144
|
* 안 들고, 우리가 생각 못 한 조합을 막아 주기 때문이다.
|
|
151
145
|
*/
|
|
152
146
|
private renderDecision;
|
|
147
|
+
/** 후보 품질 판단의 근거를 수락 전에 전부 보여 준다. */
|
|
148
|
+
private renderQualityReview;
|
|
153
149
|
/** 변경 하나. 무엇을 하겠다는 것인지 부호로 먼저 말한다. */
|
|
154
150
|
private renderChange;
|
|
155
151
|
private toggle;
|
|
@@ -160,6 +156,17 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
160
156
|
* 무엇이 자기 것이고 무엇이 기계 것인지 모르게 된다.
|
|
161
157
|
*/
|
|
162
158
|
private receive;
|
|
159
|
+
/**
|
|
160
|
+
* 발행 게이트의 구조화된 수정안 하나를 현재 작업 사본에만 겹쳐 본다. 서버가 준 값은
|
|
161
|
+
* `part.anchor.axis = to`라는 데이터이지 사람이 읽을 문장을 다시 해석한 결과가 아니다.
|
|
162
|
+
* 원본 `board`/`parts`는 여기서 전혀 바꾸지 않고, 아래의 `take()`만 바꾼 사본을 적용한다.
|
|
163
|
+
*/
|
|
164
|
+
private previewSizingFix;
|
|
165
|
+
/**
|
|
166
|
+
* 원클릭 적용은 서버가 모든 크기 변경 case를 재검사해 안전하다고 표시한 한-앵커 후보에만 연다.
|
|
167
|
+
* 그래도 저장은 저작자의 별도 행위다. 잘못 눌러도 DB 정본이나 발행판은 바뀌지 않는다.
|
|
168
|
+
*/
|
|
169
|
+
private applySizingFix;
|
|
163
170
|
/**
|
|
164
171
|
* 고른 변경을 받아들인다.
|
|
165
172
|
*
|
|
@@ -167,6 +174,14 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
167
174
|
* 하므로 그쪽이 자연스럽다. 받아들인 결과는 다시 씬 모델로 되돌려 편집을 이어간다.
|
|
168
175
|
*/
|
|
169
176
|
private take;
|
|
177
|
+
/**
|
|
178
|
+
* 후보에 대한 사람의 결정을 도크에만 알린다.
|
|
179
|
+
*
|
|
180
|
+
* 이 기록은 분석 이벤트나 Figure 속성이 아니다. 같은 모델러 세션에서 다음 요청을 더 잘
|
|
181
|
+
* 이해시키는 짧은 신호일 뿐이다. 원본 source나 사람의 작업 내용을 다시 보내지 않고, 사람이
|
|
182
|
+
* 후보 변경 중 몇 개를 받아들였는지와 이미 화면에 보였던 품질 판정만 보낸다.
|
|
183
|
+
*/
|
|
184
|
+
private reportProposalFeedback;
|
|
170
185
|
private discard;
|
|
171
186
|
/**
|
|
172
187
|
* 저장할 수 있나.
|
|
@@ -190,6 +205,13 @@ export declare class FigureModellerPage extends FigureModellerPageBase {
|
|
|
190
205
|
private load;
|
|
191
206
|
private startNew;
|
|
192
207
|
private rename;
|
|
208
|
+
/**
|
|
209
|
+
* 분류와 태그를 고친다.
|
|
210
|
+
*
|
|
211
|
+
* 정본(`source`)이 아니라 **카탈로그의 값**이다 — 도형이 무엇으로 생겼는지가 아니라 어디에
|
|
212
|
+
* 걸리는지다. 그래서 점수도 발행도 흔들리지 않는다.
|
|
213
|
+
*/
|
|
214
|
+
private catalog;
|
|
193
215
|
/**
|
|
194
216
|
* 부품 목록을 갈아 끼운다.
|
|
195
217
|
*
|