customforge 0.1.0-alpha.2 → 0.1.1
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/CHANGELOG.md +91 -56
- package/LICENSES/NunitoSans-OFL.txt +93 -93
- package/LICENSES/plain-mug-CC-BY-4.0.txt +11 -0
- package/README.md +592 -461
- package/README.zh-CN.md +587 -459
- package/dist/{ProductCustomizer-rMRyWe7L.js → ProductCustomizer-BnjY3v7d.js} +898 -156
- package/dist/ProductCustomizer-BnjY3v7d.js.map +1 -0
- package/dist/bridge/TextureBridge.d.ts +1 -1
- package/dist/core/api.d.ts +94 -0
- package/dist/core/api.d.ts.map +1 -0
- package/dist/core/config.d.ts +3 -12
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/design.d.ts.map +1 -1
- package/dist/core/types.d.ts +183 -5
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/uv.d.ts +8 -0
- package/dist/core/uv.d.ts.map +1 -0
- package/dist/cup_decal_small_margins.glb +0 -0
- package/dist/customizer/ProductCustomizer.d.ts +98 -9
- package/dist/customizer/ProductCustomizer.d.ts.map +1 -1
- package/dist/editor/DesignEditor.d.ts +118 -10
- package/dist/editor/DesignEditor.d.ts.map +1 -1
- package/dist/editor/uvBounds.d.ts +15 -0
- package/dist/editor/uvBounds.d.ts.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/style.css +2120 -1327
- package/dist/viewer/ProductViewer.d.ts +37 -6
- package/dist/viewer/ProductViewer.d.ts.map +1 -1
- package/dist/viewer/uvLayout.d.ts +11 -0
- package/dist/viewer/uvLayout.d.ts.map +1 -0
- package/dist/workbench/CustomForgeWorkbench.d.ts +85 -8
- package/dist/workbench/CustomForgeWorkbench.d.ts.map +1 -1
- package/dist/workbench/config.d.ts +42 -1
- package/dist/workbench/config.d.ts.map +1 -1
- package/dist/workbench/icons.d.ts.map +1 -1
- package/dist/workbench/index.d.ts +3 -3
- package/dist/workbench/index.d.ts.map +1 -1
- package/dist/workbench/template.d.ts.map +1 -1
- package/dist/workbench/types.d.ts +261 -13
- package/dist/workbench/types.d.ts.map +1 -1
- package/dist/workbench.js +1248 -116
- package/dist/workbench.js.map +1 -1
- package/package.json +27 -20
- package/dist/ProductCustomizer-rMRyWe7L.js.map +0 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ProductCustomizerApi } from '../core/api';
|
|
2
|
+
import type { CustomizerAppearance, CustomizerState, DesignObject, ElementTarget, ProductConfiguration } from '../core/types';
|
|
2
3
|
/** Workbench 可显示的功能控件 */
|
|
3
4
|
export interface WorkbenchFeatures {
|
|
4
5
|
/** 是否显示添加文字控件,默认为 true */
|
|
5
6
|
addText: boolean;
|
|
7
|
+
/** 是否在选中文字时显示文字格式栏,默认为 true */
|
|
8
|
+
textFormatting: boolean;
|
|
6
9
|
/** 是否显示添加图片控件,默认为 true */
|
|
7
10
|
addImage: boolean;
|
|
8
11
|
/** 是否显示撤销和重做控件,默认为 true */
|
|
@@ -13,10 +16,8 @@ export interface WorkbenchFeatures {
|
|
|
13
16
|
saveDesign: boolean;
|
|
14
17
|
/** 是否显示加载 Design JSON 控件,默认为 true */
|
|
15
18
|
loadDesign: boolean;
|
|
16
|
-
/**
|
|
19
|
+
/** 是否显示本地或远程产品加载控件,默认为 true */
|
|
17
20
|
loadRemoteProduct: boolean;
|
|
18
|
-
/** 是否显示 PNG 导出控件,默认为 true */
|
|
19
|
-
exportTexture: boolean;
|
|
20
21
|
/** 是否显示三维视角重置控件,默认为 true */
|
|
21
22
|
resetView: boolean;
|
|
22
23
|
/** 是否允许通过图层面板调整对象顺序,默认为 true */
|
|
@@ -42,9 +43,9 @@ export interface WorkbenchLayout {
|
|
|
42
43
|
viewerHeader: boolean;
|
|
43
44
|
/** 是否显示二维编辑工具栏,默认为 true */
|
|
44
45
|
toolbar: boolean;
|
|
45
|
-
/**
|
|
46
|
+
/** 是否提供编辑区内可折叠的对象图层面板,默认为 true */
|
|
46
47
|
layers: boolean;
|
|
47
|
-
/**
|
|
48
|
+
/** 是否在三维预览区显示运行状态,默认为 true */
|
|
48
49
|
status: boolean;
|
|
49
50
|
}
|
|
50
51
|
/** Workbench 顶部栏品牌信息 */
|
|
@@ -72,14 +73,52 @@ export interface WorkbenchLabels {
|
|
|
72
73
|
editorTitle: string;
|
|
73
74
|
/** 三维查看区域标题 */
|
|
74
75
|
viewerTitle: string;
|
|
76
|
+
/** 二维编辑区域模式标识 */
|
|
77
|
+
editorMode: string;
|
|
78
|
+
/** 三维查看区域模式标识 */
|
|
79
|
+
viewerMode: string;
|
|
80
|
+
/** 二维编辑画布的无障碍名称 */
|
|
81
|
+
editorCanvas: string;
|
|
82
|
+
/** 三维产品画布的无障碍名称 */
|
|
83
|
+
viewerCanvas: string;
|
|
75
84
|
/** 图层面板标题 */
|
|
76
85
|
layers: string;
|
|
77
86
|
/** 空图层列表提示 */
|
|
78
87
|
noObjects: string;
|
|
79
88
|
/** 添加文字命令 */
|
|
80
89
|
addText: string;
|
|
90
|
+
/** 文字格式栏的无障碍名称 */
|
|
91
|
+
textFormatting: string;
|
|
92
|
+
/** 展开更多文字格式控件的命令 */
|
|
93
|
+
moreTextOptions: string;
|
|
94
|
+
/** 进入画布文字编辑状态的命令 */
|
|
95
|
+
editText: string;
|
|
96
|
+
/** 字体选择控件名称 */
|
|
97
|
+
fontFamily: string;
|
|
98
|
+
/** 字号控件名称 */
|
|
99
|
+
fontSize: string;
|
|
100
|
+
/** 粗体命令 */
|
|
101
|
+
bold: string;
|
|
102
|
+
/** 斜体命令 */
|
|
103
|
+
italic: string;
|
|
104
|
+
/** 下划线命令 */
|
|
105
|
+
underline: string;
|
|
106
|
+
/** 左对齐命令 */
|
|
107
|
+
alignLeft: string;
|
|
108
|
+
/** 居中对齐命令 */
|
|
109
|
+
alignCenter: string;
|
|
110
|
+
/** 右对齐命令 */
|
|
111
|
+
alignRight: string;
|
|
112
|
+
/** 文字背景颜色控件名称 */
|
|
113
|
+
textBackground: string;
|
|
114
|
+
/** 行高控件名称 */
|
|
115
|
+
lineHeight: string;
|
|
116
|
+
/** 字距控件名称 */
|
|
117
|
+
letterSpacing: string;
|
|
81
118
|
/** 添加图片命令 */
|
|
82
119
|
addImage: string;
|
|
120
|
+
/** 将选中图片设为设计背景的命令 */
|
|
121
|
+
setImageAsBackground: string;
|
|
83
122
|
/** 撤销命令 */
|
|
84
123
|
undo: string;
|
|
85
124
|
/** 重做命令 */
|
|
@@ -92,8 +131,6 @@ export interface WorkbenchLabels {
|
|
|
92
131
|
deleteSelection: string;
|
|
93
132
|
/** 加载产品命令 */
|
|
94
133
|
loadProduct: string;
|
|
95
|
-
/** 导出 PNG 命令 */
|
|
96
|
-
exportTexture: string;
|
|
97
134
|
/** 重置三维视角命令 */
|
|
98
135
|
resetView: string;
|
|
99
136
|
/** 文字图层类型名称 */
|
|
@@ -124,10 +161,44 @@ export interface WorkbenchLabels {
|
|
|
124
161
|
textInputLabel: string;
|
|
125
162
|
/** 文字输入占位文案 */
|
|
126
163
|
textInputPlaceholder: string;
|
|
164
|
+
/** 未提供文字内容时添加到画布的默认文字 */
|
|
165
|
+
defaultText: string;
|
|
166
|
+
/** 文字内容为空时的校验提示 */
|
|
167
|
+
textRequired: string;
|
|
127
168
|
/** 文字排版预设区域标题 */
|
|
128
169
|
textPresets: string;
|
|
129
170
|
/** 文字颜色字段标签 */
|
|
130
171
|
textColor: string;
|
|
172
|
+
/** 黑色预设名称 */
|
|
173
|
+
colorBlack: string;
|
|
174
|
+
/** 深灰色预设名称 */
|
|
175
|
+
colorSlate: string;
|
|
176
|
+
/** 灰色预设名称 */
|
|
177
|
+
colorGray: string;
|
|
178
|
+
/** 白色预设名称 */
|
|
179
|
+
colorWhite: string;
|
|
180
|
+
/** 红色预设名称 */
|
|
181
|
+
colorRed: string;
|
|
182
|
+
/** 橙色预设名称 */
|
|
183
|
+
colorOrange: string;
|
|
184
|
+
/** 黄色预设名称 */
|
|
185
|
+
colorYellow: string;
|
|
186
|
+
/** 绿色预设名称 */
|
|
187
|
+
colorGreen: string;
|
|
188
|
+
/** 青绿色预设名称 */
|
|
189
|
+
colorTeal: string;
|
|
190
|
+
/** 青色预设名称 */
|
|
191
|
+
colorCyan: string;
|
|
192
|
+
/** 蓝色预设名称 */
|
|
193
|
+
colorBlue: string;
|
|
194
|
+
/** 紫色预设名称 */
|
|
195
|
+
colorPurple: string;
|
|
196
|
+
/** 粉色预设名称 */
|
|
197
|
+
colorPink: string;
|
|
198
|
+
/** 棕色预设名称 */
|
|
199
|
+
colorBrown: string;
|
|
200
|
+
/** 多选对象属性值不一致时的占位文案 */
|
|
201
|
+
mixedValue: string;
|
|
131
202
|
/** 确认添加文字命令 */
|
|
132
203
|
addTextConfirm: string;
|
|
133
204
|
/** 图片 Dialog 辅助标题 */
|
|
@@ -152,26 +223,76 @@ export interface WorkbenchLabels {
|
|
|
152
223
|
close: string;
|
|
153
224
|
/** 取消命令 */
|
|
154
225
|
cancel: string;
|
|
155
|
-
/**
|
|
226
|
+
/** 产品来源 Dialog 辅助标题 */
|
|
156
227
|
productDialogEyebrow: string;
|
|
157
|
-
/**
|
|
228
|
+
/** 产品来源 Dialog 标题 */
|
|
158
229
|
productDialogTitle: string;
|
|
230
|
+
/** 产品来源选择控件名称 */
|
|
231
|
+
productSourceMethod: string;
|
|
232
|
+
/** 本地 GLB 来源选项 */
|
|
233
|
+
productFileSource: string;
|
|
234
|
+
/** 远程模型地址来源选项 */
|
|
235
|
+
productUrlSource: string;
|
|
236
|
+
/** 本地 GLB 文件字段标签 */
|
|
237
|
+
modelFile: string;
|
|
238
|
+
/** 选择本地 GLB 文件命令 */
|
|
239
|
+
chooseModelFile: string;
|
|
240
|
+
/** 尚未选择本地 GLB 文件时的状态 */
|
|
241
|
+
noModelFileSelected: string;
|
|
242
|
+
/** 本地模型文件格式错误提示 */
|
|
243
|
+
invalidModelFile: string;
|
|
244
|
+
/** 尚未选择本地模型文件时的校验提示 */
|
|
245
|
+
modelFileRequired: string;
|
|
159
246
|
/** 模型地址字段标签 */
|
|
160
247
|
modelUrl: string;
|
|
248
|
+
/** 模型地址输入框占位文案 */
|
|
249
|
+
modelUrlPlaceholder: string;
|
|
250
|
+
/** 模型地址为空时的校验提示 */
|
|
251
|
+
modelUrlRequired: string;
|
|
252
|
+
/** 模型地址格式错误时的校验提示 */
|
|
253
|
+
invalidModelUrl: string;
|
|
254
|
+
/** 产品高级设置标题 */
|
|
255
|
+
advancedProductOptions: string;
|
|
161
256
|
/** 基础纹理地址字段标签 */
|
|
162
257
|
textureUrl: string;
|
|
258
|
+
/** 基础纹理地址输入框占位文案 */
|
|
259
|
+
textureUrlPlaceholder: string;
|
|
260
|
+
/** 基础纹理地址格式错误时的校验提示 */
|
|
261
|
+
invalidTextureUrl: string;
|
|
262
|
+
/** 基础纹理用途说明 */
|
|
263
|
+
textureUrlHint: string;
|
|
163
264
|
/** 可定制 Mesh 字段标签 */
|
|
164
265
|
surfaceMesh: string;
|
|
266
|
+
/** 可定制 Mesh 名称为空时的校验提示 */
|
|
267
|
+
surfaceMeshRequired: string;
|
|
268
|
+
/** 可定制 Mesh 用途说明 */
|
|
269
|
+
surfaceMeshHint: string;
|
|
165
270
|
/** 垂直翻转纹理字段标签 */
|
|
166
271
|
flipTexture: string;
|
|
272
|
+
/** 垂直翻转纹理用途说明 */
|
|
273
|
+
flipTextureHint: string;
|
|
167
274
|
/** 使用内置演示产品命令 */
|
|
168
275
|
useDemo: string;
|
|
276
|
+
/** 图片加载中的状态文案 */
|
|
277
|
+
addingImage: string;
|
|
278
|
+
/** Design JSON 加载中的状态文案 */
|
|
279
|
+
loadingDesign: string;
|
|
280
|
+
/** 产品加载中的状态文案 */
|
|
281
|
+
loadingProduct: string;
|
|
282
|
+
/** 撤销执行中的状态文案 */
|
|
283
|
+
undoing: string;
|
|
284
|
+
/** 重做执行中的状态文案 */
|
|
285
|
+
redoing: string;
|
|
169
286
|
/** 初始状态文案 */
|
|
170
287
|
starting: string;
|
|
171
288
|
/** 产品就绪状态文案 */
|
|
172
289
|
productReady: string;
|
|
173
290
|
/** 设计保存成功状态文案 */
|
|
174
291
|
designSaved: string;
|
|
292
|
+
/** 文字添加成功状态文案 */
|
|
293
|
+
textAdded: string;
|
|
294
|
+
/** 图片添加成功状态文案 */
|
|
295
|
+
imageAdded: string;
|
|
175
296
|
/** 设计加载成功状态文案 */
|
|
176
297
|
designLoaded: string;
|
|
177
298
|
/** 撤销完成状态文案 */
|
|
@@ -182,6 +303,8 @@ export interface WorkbenchLabels {
|
|
|
182
303
|
objectCountOne: string;
|
|
183
304
|
/** 多个对象数量格式,其中 {count} 会被替换 */
|
|
184
305
|
objectCountMany: string;
|
|
306
|
+
/** 保存 Design JSON 时使用的文件名 */
|
|
307
|
+
designFilename: string;
|
|
185
308
|
}
|
|
186
309
|
/** Workbench 可覆盖的主题变量 */
|
|
187
310
|
export interface WorkbenchTheme {
|
|
@@ -207,11 +330,11 @@ export interface WorkbenchTheme {
|
|
|
207
330
|
danger: string;
|
|
208
331
|
/** Workbench 字体族 CSS 值,默认加载包内 Nunito Sans 并回退到系统无衬线字体 */
|
|
209
332
|
fontFamily: string;
|
|
210
|
-
/** 控件圆角 CSS 值,默认为
|
|
333
|
+
/** 控件圆角 CSS 值,默认为 4px */
|
|
211
334
|
controlRadius: string;
|
|
212
335
|
}
|
|
213
336
|
/** Workbench 可覆盖的图标语义名称 */
|
|
214
|
-
export type WorkbenchIconName = 'addImage' | 'addText' | 'backgroundObject' | 'close' | 'deleteSelection' | '
|
|
337
|
+
export type WorkbenchIconName = 'addImage' | 'addText' | 'alignCenter' | 'alignLeft' | 'alignRight' | 'backgroundObject' | 'bold' | 'close' | 'deleteSelection' | 'editText' | 'hideLayer' | 'imageObject' | 'italic' | 'layers' | 'letterSpacing' | 'lineHeight' | 'loadDesign' | 'loadProduct' | 'lock' | 'moreTextOptions' | 'moveBackward' | 'moveForward' | 'redo' | 'resetView' | 'saveDesign' | 'setImageAsBackground' | 'showLayer' | 'textBackground' | 'textColor' | 'textObject' | 'undo' | 'underline' | 'unlock' | 'upload';
|
|
215
338
|
/** Workbench 图标配置 */
|
|
216
339
|
export interface WorkbenchIconConfiguration {
|
|
217
340
|
/** 是否显示内置和自定义图标,默认为 true */
|
|
@@ -236,6 +359,20 @@ export interface WorkbenchTextPreset {
|
|
|
236
359
|
/** 添加到画布时使用的 CSS 颜色值 */
|
|
237
360
|
color: string;
|
|
238
361
|
}
|
|
362
|
+
/** Workbench 字体选择器条目 */
|
|
363
|
+
export interface WorkbenchFontFamily {
|
|
364
|
+
/** 写入文字对象的 CSS 字体族名称 */
|
|
365
|
+
value: string;
|
|
366
|
+
/** 字体选择器中显示的名称 */
|
|
367
|
+
label: string;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* 将底层异常转换为用户可见文案
|
|
371
|
+
*
|
|
372
|
+
* @param error 模型、图片、UV 或 Design JSON 操作抛出的原始值
|
|
373
|
+
* @returns 应显示在 Workbench 状态区域的文案
|
|
374
|
+
*/
|
|
375
|
+
export type WorkbenchErrorFormatter = (error: unknown) => string;
|
|
239
376
|
/** Workbench 图片素材条目 */
|
|
240
377
|
export interface WorkbenchAsset {
|
|
241
378
|
/** 在对应素材集合内唯一的标识 */
|
|
@@ -251,15 +388,72 @@ export interface WorkbenchAsset {
|
|
|
251
388
|
}
|
|
252
389
|
/** Workbench 可用的预设图片素材 */
|
|
253
390
|
export interface WorkbenchAssetLibrary {
|
|
254
|
-
/**
|
|
391
|
+
/** 铺满当前 UV 可打印区域并锁定在底层的背景素材 */
|
|
255
392
|
backgrounds?: WorkbenchAsset[];
|
|
256
393
|
/** 作为普通可编辑图片加入画布的装饰元素 */
|
|
257
394
|
elements?: WorkbenchAsset[];
|
|
258
395
|
}
|
|
396
|
+
/** Workbench 扩展按钮可挂载的稳定位置 */
|
|
397
|
+
export type WorkbenchExtensionPlacement = 'globalActions' | 'editorToolbar' | 'selectionToolbar' | 'layerActions';
|
|
398
|
+
/** Workbench 扩展按钮的视觉语义 */
|
|
399
|
+
export type WorkbenchExtensionVariant = 'primary' | 'secondary' | 'plain' | 'danger';
|
|
400
|
+
/** 扩展按钮判断显示和禁用状态时接收的独立业务快照 */
|
|
401
|
+
export interface WorkbenchExtensionStateContext {
|
|
402
|
+
/** 当前 Workbench 公共接口 */
|
|
403
|
+
workbench: CustomForgeWorkbenchApi;
|
|
404
|
+
/** 当前无界面核心公共接口 */
|
|
405
|
+
customizer: ProductCustomizerApi;
|
|
406
|
+
/** 计算本轮扩展状态时取得的核心状态快照 */
|
|
407
|
+
state: CustomizerState;
|
|
408
|
+
/** 按画布层级排列的当前选中对象快照 */
|
|
409
|
+
selection: DesignObject[];
|
|
410
|
+
/** 当前图层对象,仅 layerActions 位置提供 */
|
|
411
|
+
layer?: DesignObject;
|
|
412
|
+
}
|
|
413
|
+
/** 扩展按钮执行点击处理时接收的上下文 */
|
|
414
|
+
export interface WorkbenchExtensionActionContext extends WorkbenchExtensionStateContext {
|
|
415
|
+
/** 触发扩展命令的原始鼠标事件 */
|
|
416
|
+
event: MouseEvent;
|
|
417
|
+
/** 可用于定位菜单、浮层或读取按钮尺寸的实际按钮元素 */
|
|
418
|
+
anchor: HTMLButtonElement;
|
|
419
|
+
/** Workbench 销毁时会中止的信号,异步扩展应主动响应 */
|
|
420
|
+
signal: AbortSignal;
|
|
421
|
+
}
|
|
422
|
+
/** 根据最新 Workbench 状态计算扩展按钮布尔状态的函数 */
|
|
423
|
+
export type WorkbenchExtensionPredicate = (context: WorkbenchExtensionStateContext) => boolean;
|
|
424
|
+
/** 扩展按钮执行的同步或异步命令 */
|
|
425
|
+
export type WorkbenchExtensionAction = (context: WorkbenchExtensionActionContext) => void | Promise<void>;
|
|
426
|
+
/** 可注册到默认 Workbench 稳定位置的扩展按钮 */
|
|
427
|
+
export interface WorkbenchExtensionButton {
|
|
428
|
+
/** 当前 Workbench 内唯一的稳定标识,必须以字母或数字开头,且只允许字母、数字、点、下划线和连字符 */
|
|
429
|
+
id: string;
|
|
430
|
+
/** 按钮挂载位置 */
|
|
431
|
+
placement: WorkbenchExtensionPlacement;
|
|
432
|
+
/** 可见文案、Tooltip 和无障碍名称 */
|
|
433
|
+
label: string;
|
|
434
|
+
/** 自定义装饰图标地址,支持普通 URL、Data URL 和 Blob URL;Blob URL 的释放由调用方负责 */
|
|
435
|
+
iconUrl?: string;
|
|
436
|
+
/** 是否显示文字,默认除紧凑图层操作外均为 true;隐藏文字时必须提供 iconUrl */
|
|
437
|
+
showLabel?: boolean;
|
|
438
|
+
/** 按钮视觉语义,全局操作默认为 secondary,其他位置默认为 plain */
|
|
439
|
+
variant?: WorkbenchExtensionVariant;
|
|
440
|
+
/** 同一挂载位置内的升序排列值,默认为 0 */
|
|
441
|
+
order?: number;
|
|
442
|
+
/** 添加到按钮元素的一个或多个宿主 CSS 类名 */
|
|
443
|
+
className?: string;
|
|
444
|
+
/** 固定值或根据最新状态同步计算的可见条件,默认为 true;判断函数应保持无副作用 */
|
|
445
|
+
visible?: boolean | WorkbenchExtensionPredicate;
|
|
446
|
+
/** 固定值或根据最新状态同步计算的禁用条件,默认为 false;判断函数应保持无副作用 */
|
|
447
|
+
disabled?: boolean | WorkbenchExtensionPredicate;
|
|
448
|
+
/** 点击按钮时执行的命令;Promise 未结束时自动进入 loading,异常通过 formatError 显示 */
|
|
449
|
+
onClick: WorkbenchExtensionAction;
|
|
450
|
+
}
|
|
259
451
|
/** Workbench 初始化配置 */
|
|
260
452
|
export interface WorkbenchOptions {
|
|
261
453
|
/** Workbench 独占使用的挂载元素或 CSS 选择器 */
|
|
262
454
|
container: ElementTarget;
|
|
455
|
+
/** 添加到 Workbench 根元素的一个或多个 CSS 类名 */
|
|
456
|
+
className?: string;
|
|
263
457
|
/** 二维编辑画布的逻辑宽度,单位为像素,默认为 1024 */
|
|
264
458
|
editorWidth?: number;
|
|
265
459
|
/** 二维编辑画布的逻辑高度,单位为像素,默认为 512 */
|
|
@@ -268,6 +462,8 @@ export interface WorkbenchOptions {
|
|
|
268
462
|
historyLimit?: number;
|
|
269
463
|
/** 初始化时加载的产品配置 */
|
|
270
464
|
product?: ProductConfiguration;
|
|
465
|
+
/** 二维选择控件、UV 辅助层和三维画布的外观配置 */
|
|
466
|
+
appearance?: CustomizerAppearance;
|
|
271
467
|
/** 功能控件开关,未传字段使用默认值 */
|
|
272
468
|
features?: Partial<WorkbenchFeatures>;
|
|
273
469
|
/** 布局区域开关,未传字段使用默认值 */
|
|
@@ -282,8 +478,14 @@ export interface WorkbenchOptions {
|
|
|
282
478
|
icons?: WorkbenchIconConfiguration;
|
|
283
479
|
/** 替换内置文字排版预设,空数组表示不显示预设 */
|
|
284
480
|
textPresets?: WorkbenchTextPreset[];
|
|
481
|
+
/** 替换字体选择器条目,预设使用但未列出的字体会以 CSS 字体族名称补充 */
|
|
482
|
+
fontFamilies?: WorkbenchFontFamily[];
|
|
285
483
|
/** 图片 Dialog 使用的背景与装饰素材 */
|
|
286
484
|
assets?: WorkbenchAssetLibrary;
|
|
485
|
+
/** 初始化时注册到默认界面稳定位置的扩展按钮 */
|
|
486
|
+
extensions?: readonly WorkbenchExtensionButton[];
|
|
487
|
+
/** 将模型、图片和 Design JSON 异常转换为界面提示 */
|
|
488
|
+
formatError?: WorkbenchErrorFormatter;
|
|
287
489
|
}
|
|
288
490
|
/** Workbench 功能控件名称 */
|
|
289
491
|
export type WorkbenchFeatureName = keyof WorkbenchFeatures;
|
|
@@ -291,4 +493,50 @@ export type WorkbenchFeatureName = keyof WorkbenchFeatures;
|
|
|
291
493
|
export type WorkbenchLayoutName = keyof WorkbenchLayout;
|
|
292
494
|
/** Workbench 状态提示样式 */
|
|
293
495
|
export type WorkbenchStatusMode = 'ready' | 'busy' | 'error';
|
|
496
|
+
/**
|
|
497
|
+
* 带默认界面的产品定制工作台能力契约
|
|
498
|
+
*
|
|
499
|
+
* 可通过根元素、实例级 className 和主题变量调整默认样式;完全自建 UI 时应直接使用 ProductCustomizerApi
|
|
500
|
+
*/
|
|
501
|
+
export interface CustomForgeWorkbenchApi {
|
|
502
|
+
/** Workbench 使用的无界面核心接口 */
|
|
503
|
+
readonly customizer: ProductCustomizerApi;
|
|
504
|
+
/** 可用于实例级 DOM 集成和附加样式的 Workbench 根元素 */
|
|
505
|
+
readonly element: HTMLElement;
|
|
506
|
+
/** 返回当前功能控件开关的独立快照 */
|
|
507
|
+
getFeatures(): WorkbenchFeatures;
|
|
508
|
+
/** 在运行时显示或隐藏一项默认功能控件 */
|
|
509
|
+
setFeature(feature: WorkbenchFeatureName, enabled: boolean): void;
|
|
510
|
+
/** 返回当前布局区域开关的独立快照 */
|
|
511
|
+
getLayout(): WorkbenchLayout;
|
|
512
|
+
/** 在运行时显示或隐藏一个默认布局区域 */
|
|
513
|
+
setLayout(section: WorkbenchLayoutName, visible: boolean): void;
|
|
514
|
+
/** 返回当前完整主题的独立快照 */
|
|
515
|
+
getTheme(): WorkbenchTheme;
|
|
516
|
+
/** 合并主题变量、立即更新当前实例并返回完整主题 */
|
|
517
|
+
setTheme(theme: Partial<WorkbenchTheme>): WorkbenchTheme;
|
|
518
|
+
/** 返回当前已注册扩展按钮的独立配置快照,不包含运行中的 loading 状态 */
|
|
519
|
+
getExtensions(): WorkbenchExtensionButton[];
|
|
520
|
+
/**
|
|
521
|
+
* 注册并立即渲染一个扩展按钮
|
|
522
|
+
*
|
|
523
|
+
* @param extension 扩展按钮配置
|
|
524
|
+
* @returns 仅在本次注册仍有效时移除该扩展的幂等清理函数
|
|
525
|
+
* @throws 配置无效、ID 重复或 Workbench 无法渲染时抛出错误
|
|
526
|
+
*/
|
|
527
|
+
registerExtension(extension: WorkbenchExtensionButton): () => void;
|
|
528
|
+
/**
|
|
529
|
+
* 按稳定 ID 移除扩展按钮
|
|
530
|
+
*
|
|
531
|
+
* @param id 注册时使用的扩展 ID
|
|
532
|
+
* @returns 移除前是否存在该扩展
|
|
533
|
+
*/
|
|
534
|
+
removeExtension(id: string): boolean;
|
|
535
|
+
/** 使用最新核心状态重新计算所有扩展按钮的显示和禁用条件,供宿主状态变化后调用 */
|
|
536
|
+
refreshExtensions(): void;
|
|
537
|
+
/** 更新默认界面的状态文案和状态样式 */
|
|
538
|
+
setStatus(message: string, mode?: WorkbenchStatusMode): void;
|
|
539
|
+
/** 释放默认界面、核心实例和关联浏览器资源 */
|
|
540
|
+
destroy(): void;
|
|
541
|
+
}
|
|
294
542
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workbench/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workbench/types.ts"],"names":[],"mappings":"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"}
|