@jetprint/editor-sdk 1.0.0

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 (149) hide show
  1. package/dist/assets/perspective.wasm +0 -0
  2. package/dist/assets/wasm_exec.js +553 -0
  3. package/dist/components/Editor/assets/editorIcons.d.ts +32 -0
  4. package/dist/components/Editor/components/CanvasSection.vue.d.ts +253 -0
  5. package/dist/components/Editor/components/CanvasZoomToolbar.vue.d.ts +23 -0
  6. package/dist/components/Editor/components/EditorAddToCartDialog.vue.d.ts +28 -0
  7. package/dist/components/Editor/components/EditorDefaultCanvasAxisLines.vue.d.ts +34 -0
  8. package/dist/components/Editor/components/EditorDefaultCanvasRulers.vue.d.ts +44 -0
  9. package/dist/components/Editor/components/EditorIcon.vue.d.ts +7 -0
  10. package/dist/components/Editor/components/EditorSelectionShortcutFab.vue.d.ts +56 -0
  11. package/dist/components/Editor/components/EditorSidebar.vue.d.ts +548 -0
  12. package/dist/components/Editor/components/EditorTopbar.vue.d.ts +363 -0
  13. package/dist/components/Editor/components/EditorTopbarMockupScope.vue.d.ts +12 -0
  14. package/dist/components/Editor/components/GalleryPanel.vue.d.ts +9 -0
  15. package/dist/components/Editor/components/LiveThreePreviewPane.vue.d.ts +30 -0
  16. package/dist/components/Editor/components/PreviewPanel.vue.d.ts +312 -0
  17. package/dist/components/Editor/components/ShortcutSettingsModal.vue.d.ts +11 -0
  18. package/dist/components/Editor/components/SplitPieceHandAlignPanel.vue.d.ts +14 -0
  19. package/dist/components/Editor/components/TemplateModal.vue.d.ts +35 -0
  20. package/dist/components/Editor/components/Theme1AddTextPanel.vue.d.ts +190 -0
  21. package/dist/components/Editor/components/Theme1UploadPanel.vue.d.ts +120 -0
  22. package/dist/components/Editor/composables/index.d.ts +56 -0
  23. package/dist/components/Editor/composables/useCanvasEventWiring.d.ts +40 -0
  24. package/dist/components/Editor/composables/useCanvasHistory.d.ts +18 -0
  25. package/dist/components/Editor/composables/useCanvasManager.d.ts +29 -0
  26. package/dist/components/Editor/composables/useCanvasObjectHelpers.d.ts +34 -0
  27. package/dist/components/Editor/composables/useCanvasStateByDiecut.d.ts +50 -0
  28. package/dist/components/Editor/composables/useCanvasViewport.d.ts +89 -0
  29. package/dist/components/Editor/composables/useClearCanvas.d.ts +32 -0
  30. package/dist/components/Editor/composables/useCompleteScreenshot.d.ts +68 -0
  31. package/dist/components/Editor/composables/useCopyToDiecuts.d.ts +56 -0
  32. package/dist/components/Editor/composables/useDiecutManager.d.ts +46 -0
  33. package/dist/components/Editor/composables/useDiecutScreenshot.d.ts +50 -0
  34. package/dist/components/Editor/composables/useDownloadPng.d.ts +11 -0
  35. package/dist/components/Editor/composables/useEditorReset.d.ts +21 -0
  36. package/dist/components/Editor/composables/useEditorShortcuts.d.ts +80 -0
  37. package/dist/components/Editor/composables/useEditorTopbarContext.d.ts +3 -0
  38. package/dist/components/Editor/composables/useEditorWatchers.d.ts +99 -0
  39. package/dist/components/Editor/composables/useEventHandlers.d.ts +13 -0
  40. package/dist/components/Editor/composables/useFontLoader.d.ts +8 -0
  41. package/dist/components/Editor/composables/useGuideResources.d.ts +38 -0
  42. package/dist/components/Editor/composables/useImageHandler.d.ts +10 -0
  43. package/dist/components/Editor/composables/useLayerOperations.d.ts +52 -0
  44. package/dist/components/Editor/composables/useLayerSync.d.ts +32 -0
  45. package/dist/components/Editor/composables/useLicense.d.ts +11 -0
  46. package/dist/components/Editor/composables/useObjectAdder.d.ts +76 -0
  47. package/dist/components/Editor/composables/usePatternHandler.d.ts +31 -0
  48. package/dist/components/Editor/composables/usePreviewManager.d.ts +240 -0
  49. package/dist/components/Editor/composables/usePreviewRenderer.d.ts +111 -0
  50. package/dist/components/Editor/composables/usePreviewUpdateQueue.d.ts +62 -0
  51. package/dist/components/Editor/composables/useProductData.d.ts +166 -0
  52. package/dist/components/Editor/composables/useSplitPieceHandTool.d.ts +34 -0
  53. package/dist/components/Editor/composables/useTemplateLoader.d.ts +36 -0
  54. package/dist/components/Editor/composables/useTemplateManager.d.ts +48 -0
  55. package/dist/components/Editor/composables/useTextHandler.d.ts +19 -0
  56. package/dist/components/Editor/composables/useToolState.d.ts +101 -0
  57. package/dist/components/Editor/composables/useToolStateSync.d.ts +49 -0
  58. package/dist/components/Editor/composables/useWorkerManager.d.ts +11 -0
  59. package/dist/components/Editor/config/fontConfig.d.ts +8 -0
  60. package/dist/components/Editor/editorCanvasGuides.d.ts +22 -0
  61. package/dist/components/Editor/fabric/PatternLayer.d.ts +104 -0
  62. package/dist/components/Editor/index.vue.d.ts +167 -0
  63. package/dist/components/Editor/liveRender/ThreeRenderViewer.vue.d.ts +31 -0
  64. package/dist/components/Editor/liveRender/dataAdapter.d.ts +2 -0
  65. package/dist/components/Editor/liveRender/prefetch.worker.d.ts +15 -0
  66. package/dist/components/Editor/liveRender/render.worker.d.ts +1 -0
  67. package/dist/components/Editor/liveRender/types.d.ts +130 -0
  68. package/dist/components/Editor/utils/blob.d.ts +5 -0
  69. package/dist/components/Editor/utils/buildSplitPieceDesignClipBlobs.d.ts +75 -0
  70. package/dist/components/Editor/utils/colorLabels.d.ts +6 -0
  71. package/dist/components/Editor/utils/dataBuilders.d.ts +108 -0
  72. package/dist/components/Editor/utils/designRestoreScale.d.ts +42 -0
  73. package/dist/components/Editor/utils/editorShortcutChord.d.ts +9 -0
  74. package/dist/components/Editor/utils/editorShortcutIds.d.ts +2 -0
  75. package/dist/components/Editor/utils/editorShortcutRegistry.d.ts +15 -0
  76. package/dist/components/Editor/utils/editorSizeOptions.d.ts +27 -0
  77. package/dist/components/Editor/utils/fabricMainCanvasSnapshot.d.ts +48 -0
  78. package/dist/components/Editor/utils/fabricRulerMath.d.ts +35 -0
  79. package/dist/components/Editor/utils/fabricScreenshotToBlob.d.ts +7 -0
  80. package/dist/components/Editor/utils/imageLoader.d.ts +10 -0
  81. package/dist/components/Editor/utils/objectUtils.d.ts +11 -0
  82. package/dist/components/Editor/utils/pattern.d.ts +56 -0
  83. package/dist/components/Editor/utils/scaleSplitClassicGridVisual.d.ts +9 -0
  84. package/dist/components/Editor/utils/screenshot.d.ts +8 -0
  85. package/dist/components/Editor/utils/selectionVisual.d.ts +7 -0
  86. package/dist/components/Editor/utils/tintMaskWithColor.d.ts +4 -0
  87. package/dist/components/Editor/utils/uploadLimit.d.ts +4 -0
  88. package/dist/components/Editor/workers/copyDiecuts.worker.d.ts +38 -0
  89. package/dist/components/Editor/workers/maskWorker.d.ts +13 -0
  90. package/dist/components/Editor/workers/renderWorker.d.ts +1 -0
  91. package/dist/components/Editor/workers/zoneScreenshotWorker.d.ts +49 -0
  92. package/dist/composables/useEditorI18n.d.ts +18 -0
  93. package/dist/copyDiecuts.worker.js +67 -0
  94. package/dist/deform.worker.js +760 -0
  95. package/dist/editor-sdk.es.js +73923 -0
  96. package/dist/index.d.ts +446 -0
  97. package/dist/locales/builtin-messages.d.ts +2 -0
  98. package/dist/locales/editor-locales.d.ts +7 -0
  99. package/dist/locales/en.d.ts +5 -0
  100. package/dist/locales/ja-JP.d.ts +5 -0
  101. package/dist/locales/ko-KR.d.ts +5 -0
  102. package/dist/locales/vi-VN.d.ts +5 -0
  103. package/dist/locales/zh.d.ts +5 -0
  104. package/dist/maskWorker.js +51 -0
  105. package/dist/prefetch.worker.js +16 -0
  106. package/dist/render.worker.js +27266 -0
  107. package/dist/renderWorker.js +40368 -0
  108. package/dist/style.css +1 -0
  109. package/dist/types.d.ts +483 -0
  110. package/dist/utils/backgroundRenderer.d.ts +64 -0
  111. package/dist/utils/encryptJson.d.ts +31 -0
  112. package/dist/utils/environment.d.ts +29 -0
  113. package/dist/utils/errorHandler.d.ts +27 -0
  114. package/dist/utils/fileToken.d.ts +18 -0
  115. package/dist/utils/http.d.ts +31 -0
  116. package/dist/utils/jsonFileCache.d.ts +6 -0
  117. package/dist/utils/license/api.d.ts +74 -0
  118. package/dist/utils/license/deviceId.d.ts +25 -0
  119. package/dist/utils/license/index.d.ts +9 -0
  120. package/dist/utils/license/licenseManager.d.ts +63 -0
  121. package/dist/utils/license/licenseStore.d.ts +17 -0
  122. package/dist/utils/license/retry.d.ts +11 -0
  123. package/dist/utils/license/tokenRefresh.d.ts +34 -0
  124. package/dist/utils/mediaBlobCache.d.ts +6 -0
  125. package/dist/utils/protection/encryptedModules.generated.d.ts +27 -0
  126. package/dist/utils/protection/moduleLoader.d.ts +17 -0
  127. package/dist/utils/renderService/blend.d.ts +4 -0
  128. package/dist/utils/renderService/deform.d.ts +21 -0
  129. package/dist/utils/renderService/deform.worker.d.ts +7 -0
  130. package/dist/utils/renderService/image.d.ts +8 -0
  131. package/dist/utils/renderService/index.d.ts +12 -0
  132. package/dist/utils/renderService/mask.d.ts +13 -0
  133. package/dist/utils/renderService/prepareRenderData.d.ts +2 -0
  134. package/dist/utils/renderService/psdConverter.d.ts +6 -0
  135. package/dist/utils/renderService/render.d.ts +14 -0
  136. package/dist/utils/renderService/render.worker.d.ts +17 -0
  137. package/dist/utils/renderService/types.d.ts +236 -0
  138. package/dist/utils/renderService/workerManager.d.ts +33 -0
  139. package/dist/utils/renderedImagesDB.d.ts +61 -0
  140. package/dist/utils/storage.d.ts +27 -0
  141. package/dist/utils/threeRenderService/index.d.ts +6 -0
  142. package/dist/utils/url.d.ts +39 -0
  143. package/dist/utils/workerBase.d.ts +38 -0
  144. package/dist/utils/workerLoader.d.ts +24 -0
  145. package/dist/wasm/index.d.ts +5 -0
  146. package/dist/wasm/perspectiveLoader.d.ts +70 -0
  147. package/dist/wasm/perspectiveLoader.worker.d.ts +116 -0
  148. package/dist/zoneScreenshotWorker.js +82 -0
  149. package/package.json +54 -0
@@ -0,0 +1,38 @@
1
+ type Vec2 = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ type CopyDiecutsWorkerRequest = {
6
+ id: number;
7
+ sourceObjects: any[];
8
+ targetJsonMap: Record<string, any>;
9
+ objectIndex: number;
10
+ targetScaleMap?: Record<string, number>;
11
+ /** 源分片在画布上 contain-fit 矩形中心;与 targetCenterMap 配合按"在分片内的相对位置"映射 */
12
+ sourceCenter?: Vec2;
13
+ /** 各目标分片在画布上 contain-fit 矩形中心 */
14
+ targetCenterMap?: Record<string, Vec2>;
15
+ /** 兜底:sourceCenter/targetCenter 缺失时使用旧的整组居中点 */
16
+ canvasCenter?: Vec2;
17
+ };
18
+ /**
19
+ * 克隆一个对象到目标分片:
20
+ * - 缩放保持原 contain-fit 比例换算(scaleFactor)。
21
+ * - 位置按"在源分片内的相对位置"映射到目标分片对应位置(sourceCenter → targetCenter)。
22
+ */
23
+ declare const cloneForCopy: (obj: any, startId: number, scaleFactor: number, sourceCenter?: Vec2, targetCenter?: Vec2) => {
24
+ cloned: any;
25
+ nextId: number;
26
+ };
27
+ declare const resolveOriginValue: (origin: string) => number;
28
+ declare const getObjectAABB: (o: any) => {
29
+ minL: number;
30
+ minT: number;
31
+ maxR: number;
32
+ maxB: number;
33
+ };
34
+ declare const centerGroup: (objects: any[], cx: number, cy: number) => void;
35
+ declare const processCopy: (payload: CopyDiecutsWorkerRequest) => {
36
+ updates: Record<string, any>;
37
+ nextObjectIndex: number;
38
+ };
@@ -0,0 +1,13 @@
1
+ type MaskWorkerRequest = {
2
+ id: number;
3
+ baseBlob: Blob;
4
+ maskBlob: Blob;
5
+ maskWidth: number;
6
+ maskHeight: number;
7
+ left: number;
8
+ top: number;
9
+ canvasWidth: number;
10
+ canvasHeight: number;
11
+ };
12
+ declare const loadBitmap: (blob: Blob) => Promise<ImageBitmap>;
13
+ declare const cropAndMask: (payload: MaskWorkerRequest) => Promise<Blob | null>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Zone 截图 Worker(轻量版)
3
+ * 只做最耗时的操作:逆 viewport 变换 + createImageBitmap 缩放
4
+ * Zone 裁切/mask 等轻量操作保留在主线程
5
+ */
6
+ type ExportExt = {
7
+ minL: number;
8
+ minT: number;
9
+ width: number;
10
+ height: number;
11
+ };
12
+ type TransformBitmapRequest = {
13
+ id: number;
14
+ type: 'TRANSFORM_BITMAP';
15
+ baseBitmap: ImageBitmap;
16
+ viewportTransform: number[];
17
+ canvasWidth: number;
18
+ canvasHeight: number;
19
+ exportExt: ExportExt;
20
+ multiplier: number;
21
+ };
22
+ type TransformBitmapResponse = {
23
+ id: number;
24
+ type: 'TRANSFORM_BITMAP_RESULT';
25
+ bitmap: ImageBitmap;
26
+ };
27
+ type ErrorResponse = {
28
+ id: number;
29
+ type: 'ERROR';
30
+ error: string;
31
+ };
32
+ type EncodeWebpRequest = {
33
+ id: number;
34
+ type: 'ENCODE_WEBP';
35
+ bitmap: ImageBitmap;
36
+ quality: number;
37
+ };
38
+ type EncodeWebpResponse = {
39
+ id: number;
40
+ type: 'ENCODE_WEBP_RESULT';
41
+ blob: Blob;
42
+ };
43
+ /**
44
+ * 在 Worker 内用 OffscreenCanvas.convertToBlob 编码 webp。
45
+ * 主线程 canvas.toBlob('image/webp') 是阻塞计算(实测切换分片单次 ~1100ms),
46
+ * 挪到 worker 后主线程零阻塞,只剩传 bitmap 给 worker 的几 ms 开销。
47
+ */
48
+ declare function processEncodeWebp(payload: EncodeWebpRequest): Promise<EncodeWebpResponse>;
49
+ declare function processTransformBitmap(payload: TransformBitmapRequest): Promise<TransformBitmapResponse>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SDK 编辑器内建 i18n
3
+ * 通过 inject 获取 Editor 根组件 provide 的 locale 与 messages,提供 t(key) 用于多语言切换
4
+ */
5
+ import { type Ref, type ComputedRef } from 'vue';
6
+ import zhCN from '../locales/zh';
7
+ import enUS from '../locales/en';
8
+ export declare function useEditorI18n(): {
9
+ t: (key: string) => string;
10
+ locale: string | ComputedRef<string> | Ref<string, string>;
11
+ messages: Record<string, string> | ComputedRef<Record<string, string>> | Ref<Record<string, string>, Record<string, string>>;
12
+ };
13
+ export declare function getEditorI18nKeys(): {
14
+ provideLocaleKey: string;
15
+ provideMessagesKey: string;
16
+ };
17
+ /** 兼容旧版:等同 zh-CN / en-US 内置包 */
18
+ export { zhCN as defaultZh, enUS as defaultEn };
@@ -0,0 +1,67 @@
1
+ const B = (t, i, s, c, r) => {
2
+ const n = JSON.parse(JSON.stringify(t));
3
+ n.customData || (n.customData = {}), n.customData.id = i;
4
+ const a = C(n), f = (a.minL + a.maxR) / 2, l = (a.minT + a.maxB) / 2, o = !!n.customData?.isPatternRect;
5
+ if (s !== 1 && !o && (n.scaleX = (n.scaleX ?? 1) * s, n.scaleY = (n.scaleY ?? 1) * s), c && r) {
6
+ const e = C(n), x = (e.minL + e.maxR) / 2, g = (e.minT + e.maxB) / 2, p = r.x + (f - c.x) * s, y = r.y + (l - c.y) * s;
7
+ n.left = (n.left ?? 0) + p - x, n.top = (n.top ?? 0) + y - g;
8
+ }
9
+ return { cloned: n, nextId: i + 1 };
10
+ }, A = (t) => t === "left" || t === "top" ? -0.5 : t === "center" ? 0 : t === "right" || t === "bottom" ? 0.5 : 0, C = (t) => {
11
+ const i = t.left ?? 0, s = t.top ?? 0, c = (t.width ?? 0) * (t.scaleX ?? 1), r = (t.height ?? 0) * (t.scaleY ?? 1), a = (t.angle ?? 0) * Math.PI / 180, f = Math.cos(a), l = Math.sin(a), o = -A(t.originX ?? "left") * c, e = -A(t.originY ?? "top") * r, x = i + o * f - e * l, g = s + o * l + e * f, p = c / 2, y = r / 2, d = [-p, p].flatMap(
12
+ (m) => [-y, y].map((M) => ({
13
+ x: x + m * f - M * l,
14
+ y: g + m * l + M * f
15
+ }))
16
+ );
17
+ let h = 1 / 0, u = 1 / 0, b = -1 / 0, I = -1 / 0;
18
+ for (const m of d)
19
+ m.x < h && (h = m.x), m.y < u && (u = m.y), m.x > b && (b = m.x), m.y > I && (I = m.y);
20
+ return { minL: h, minT: u, maxR: b, maxB: I };
21
+ }, O = (t, i, s) => {
22
+ if (!t.length) return;
23
+ let c = 1 / 0, r = 1 / 0, n = -1 / 0, a = -1 / 0;
24
+ for (const o of t) {
25
+ const e = C(o);
26
+ e.minL < c && (c = e.minL), e.minT < r && (r = e.minT), e.maxR > n && (n = e.maxR), e.maxB > a && (a = e.maxB);
27
+ }
28
+ const f = i - (c + n) / 2, l = s - (r + a) / 2;
29
+ for (const o of t)
30
+ o.left = (o.left ?? 0) + f, o.top = (o.top ?? 0) + l;
31
+ }, R = (t) => {
32
+ const {
33
+ sourceObjects: i,
34
+ targetJsonMap: s,
35
+ objectIndex: c,
36
+ targetScaleMap: r,
37
+ sourceCenter: n,
38
+ targetCenterMap: a,
39
+ canvasCenter: f
40
+ } = t;
41
+ let l = Number.isFinite(c) ? c : 1;
42
+ const o = {};
43
+ return Object.entries(s || {}).forEach(([e, x]) => {
44
+ const g = Array.isArray(x?.objects) ? x.objects : [], p = r?.[e] ?? 1, y = a?.[e], d = [];
45
+ i.forEach((h) => {
46
+ const u = B(h, l, p, n, y);
47
+ d.push(u.cloned), l = u.nextId;
48
+ }), (!n || !y) && f && d.length && O(d, f.x, f.y), o[e] = { ...x, objects: [...g, ...d] };
49
+ }), { updates: o, nextObjectIndex: l };
50
+ };
51
+ self.onmessage = (t) => {
52
+ const i = t.data;
53
+ try {
54
+ const s = R(i);
55
+ self.postMessage({
56
+ id: i.id,
57
+ ok: !0,
58
+ data: s
59
+ });
60
+ } catch (s) {
61
+ self.postMessage({
62
+ id: i.id,
63
+ ok: !1,
64
+ error: s instanceof Error ? s.message : String(s)
65
+ });
66
+ }
67
+ };