@jetprint/editor-sdk 1.2.3 → 1.2.5
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/dist/components/Editor/components/EditorAddToCartDialog.vue.d.ts +1 -0
- package/dist/components/Editor/components/EditorSidebar.vue.d.ts +35 -0
- package/dist/components/Editor/components/EditorTopbar.vue.d.ts +24 -0
- package/dist/components/Editor/components/EmbroideryStitchPanel.vue.d.ts +9 -0
- package/dist/components/Editor/components/PreviewPanel.vue.d.ts +1 -1
- package/dist/components/Editor/components/Theme1UploadPanel.vue.d.ts +35 -0
- package/dist/components/Editor/composables/useBackgroundRemoval.d.ts +62 -0
- package/dist/components/Editor/composables/useBrushRefine.d.ts +31 -0
- package/dist/components/Editor/composables/useCanvasStateByDiecut.d.ts +8 -0
- package/dist/components/Editor/composables/useCanvasViewport.d.ts +1 -0
- package/dist/components/Editor/composables/useEmbroidery.d.ts +57 -0
- package/dist/components/Editor/composables/usePreviewManager.d.ts +516 -0
- package/dist/components/Editor/composables/usePreviewRenderer.d.ts +2 -0
- package/dist/components/Editor/headless/headlessFontLoader.d.ts +7 -0
- package/dist/components/Editor/index.vue.d.ts +7 -5
- package/dist/components/Editor/liveRender/types.d.ts +4 -0
- package/dist/components/Editor/utils/editorSizeOptions.d.ts +6 -0
- package/dist/components/Editor/utils/embroideryStitch.d.ts +25 -0
- package/dist/components/Editor/utils/pattern.d.ts +1 -1
- package/dist/components/Editor/utils/pillow3dPreview.d.ts +37 -0
- package/dist/components/Editor/workers/embroidery.worker.d.ts +47 -0
- package/dist/editor-sdk.es.js +44069 -40951
- package/dist/index.d.ts +6 -0
- package/dist/style.css +1 -1
- package/dist/types.d.ts +54 -0
- package/dist/utils/backgroundRenderer.d.ts +6 -3
- package/dist/utils/protection/encryptedModules.generated.d.ts +1 -1
- package/dist/utils/renderService/layerEffects.d.ts +148 -0
- package/dist/utils/renderService/types.d.ts +4 -0
- package/dist/utils/renderedImagesDB.d.ts +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 异形抱枕 · 伪立体预览(P3a,仅预览,不改设计)。
|
|
3
|
+
*
|
|
4
|
+
* 输入:一张带透明通道的设计图(抠图后的"扣好的图",其不透明区域即抱枕的异形轮廓)。
|
|
5
|
+
* 输出:一张「蓬松毛绒抱枕」效果的离屏 canvas,可直接 toDataURL 显示在预览浮层。
|
|
6
|
+
*
|
|
7
|
+
* 纯 Canvas 实现(不依赖 Fabric),管线(由下到上):
|
|
8
|
+
* 1) 落地投影 —— 轮廓剪影模糊+下移+变暗,模拟悬浮
|
|
9
|
+
* 2) 主体设计图
|
|
10
|
+
* 3) 内阴影 —— 形状边缘内侧变暗,模拟收边/厚度
|
|
11
|
+
* 4) 中心高光 —— 形状中心提亮,模拟蓬起鼓凸
|
|
12
|
+
* 蓬起的"高度场"用「模糊轮廓再夹回形状内」近似:中心 alpha 高(亮)、边缘 alpha 低(暗)。
|
|
13
|
+
*/
|
|
14
|
+
export interface Pillow3dOptions {
|
|
15
|
+
/** 画布四周留白(给投影空间),默认按尺寸自适应 */
|
|
16
|
+
padding?: number;
|
|
17
|
+
/** 落地投影颜色 */
|
|
18
|
+
shadowColor?: string;
|
|
19
|
+
/** 落地投影模糊半径(px) */
|
|
20
|
+
shadowBlur?: number;
|
|
21
|
+
/** 落地投影下移(px) */
|
|
22
|
+
shadowOffsetY?: number;
|
|
23
|
+
/** 蓬起强度 0~1.5(影响高度场模糊半径与明暗强度),默认 1 */
|
|
24
|
+
puff?: number;
|
|
25
|
+
/** 边缘内阴影色(含 alpha) */
|
|
26
|
+
edgeDark?: string;
|
|
27
|
+
/** 中心高光色(含 alpha) */
|
|
28
|
+
centerLight?: string;
|
|
29
|
+
/** 边缘褶皱 / 布料纹理强度 0~1(噪声布纹,边缘带加强,模拟收边起褶),默认 0.6;0 = 关闭 */
|
|
30
|
+
wrinkle?: number;
|
|
31
|
+
/** 剪影圆角半径(px):把直角等尖角磨圆,更像抱枕。默认按尺寸自适应(≈minSide*0.04);0 = 不圆角 */
|
|
32
|
+
cornerRound?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 生成伪立体抱枕预览。返回离屏 canvas(含投影 padding)。
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildPillow3dPreview(source: HTMLImageElement | HTMLCanvasElement, opts?: Pillow3dOptions): HTMLCanvasElement;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 刺绣 · 颜色量化 + 连通域分割 Worker(节点①)
|
|
3
|
+
*
|
|
4
|
+
* 输入:一张图的 RGBA 像素 + 目标色数 k。
|
|
5
|
+
* 流程:rgb→Lab → K-Means(采样加速)聚类到 k 个「绣线色」→ 像素归类 → 连通域分割(并查集,4 邻接) → 区域汇总。
|
|
6
|
+
* 输出:量化后 RGBA 图 + 色板(k 色) + 区域列表(id/色号/面积/包围盒)。
|
|
7
|
+
*
|
|
8
|
+
* 说明:节点①只做"按相近颜色分块 + 可视化"。区域边界简化 → Fabric Path 留到节点②。
|
|
9
|
+
*/
|
|
10
|
+
type RGB = [number, number, number];
|
|
11
|
+
type Lab = [number, number, number];
|
|
12
|
+
interface QuantizeRequest {
|
|
13
|
+
id: number;
|
|
14
|
+
type: 'quantize';
|
|
15
|
+
pixels: ArrayBuffer;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
k: number;
|
|
19
|
+
/** 面积小于该像素数的区域过滤掉(碎块),默认按总面积自适应 */
|
|
20
|
+
minRegionArea?: number;
|
|
21
|
+
/** alpha 阈值,低于则视为透明不参与,默认 128 */
|
|
22
|
+
alphaThreshold?: number;
|
|
23
|
+
/** 相邻区域 Lab 色差(ΔE)小于此值则合并,默认 14;越大合并越激进、图层越少 */
|
|
24
|
+
mergeColorDist?: number;
|
|
25
|
+
}
|
|
26
|
+
interface RegionSummary {
|
|
27
|
+
id: number;
|
|
28
|
+
clusterIdx: number;
|
|
29
|
+
color: RGB;
|
|
30
|
+
area: number;
|
|
31
|
+
bbox: {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
w: number;
|
|
35
|
+
h: number;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
declare function srgbToLinear(c: number): number;
|
|
39
|
+
declare function rgbToLab(r: number, g: number, b: number): Lab;
|
|
40
|
+
declare function labDist2(a: Lab, b: Lab): number;
|
|
41
|
+
declare function kMeansLab(labs: Lab[], // 参与聚类的样本(已采样)
|
|
42
|
+
rgbs: RGB[], // 与 labs 一一对应的原始 rgb(用于反推中心色)
|
|
43
|
+
k: number, iters?: number): {
|
|
44
|
+
centersLab: Lab[];
|
|
45
|
+
centersRgb: RGB[];
|
|
46
|
+
};
|
|
47
|
+
declare function handleQuantize(req: QuantizeRequest): void;
|