From a707110299feed70bcba60cc75bf643acbcabd26 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:02:27 -0600 Subject: [PATCH 01/12] add other file exports to file.js --- src/load/file.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/load/file.js b/src/load/file.js index c70ca280..88962c27 100644 --- a/src/load/file.js +++ b/src/load/file.js @@ -100,4 +100,6 @@ function load_file(file, opt) { }); } +Object.assign(load_file, { SVG, OBJ, STL, TMF, GBR, PNG: pngLoad.PNG }); + export { types, as_buffer, load_data, load_file, load_file as load }; From 395c79af1a7c9717f626a762d7a586c6c6c27351 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:02:40 -0600 Subject: [PATCH 02/12] add missing import --- src/load/svg.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/load/svg.js b/src/load/svg.js index 498650d3..8024b6f8 100644 --- a/src/load/svg.js +++ b/src/load/svg.js @@ -1,6 +1,7 @@ /** Copyright Stewart Allen -- All Rights Reserved */ import { newPolygon } from '../geo/polygon.js'; +import { newPoint } from '../geo/point.js'; import { polygons } from '../geo/polygons.js'; import { THREE } from '../ext/three.js'; @@ -43,7 +44,7 @@ export function parse(text, opt = { }) { if (points.length < 3) { continue; } - let poly = newPolygon().addPoints(points.map(p => newPolygon.newPoint(p.x, -p.y, 0))); + let poly = newPolygon().addPoints(points.map(p => newPoint(p.x, -p.y, 0))); if (poly.appearsClosed()) poly.points.pop(); if (type === 'polyline') poly.setOpen(true); poly._svg = { width, miter }; From b36acb9853feb275b6ec70ff24064f65a07664c7 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:02:48 -0600 Subject: [PATCH 03/12] add missing import --- src/kiri/platform.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kiri/platform.js b/src/kiri/platform.js index 8570dc85..8e25244e 100644 --- a/src/kiri/platform.js +++ b/src/kiri/platform.js @@ -6,7 +6,7 @@ import { ajax, js2o } from './utils.js'; import { base } from '../geo/base.js'; import { load } from '../load/file.js'; import { space } from '../moto/space.js'; -import { Widget } from './widget.js'; +import { Widget, newWidget } from './widget.js'; import { Packer } from './pack.js'; import { COLOR, MODES } from './consts.js'; @@ -837,7 +837,7 @@ function platformLoadFiles(files, group) { api.function.parse(data.textDecode('utf-8'), 'gcode'); load_dec(); } else if (issvg) { - loadSVGDialog(opt => { + loadSVGDialog(opt => { group = group || []; let svg = load.SVG.parse(data.textDecode('utf-8'), opt); let ind = 0; From f8ef936d8e8c8f6e61ac17f03f75525cd59769a3 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:12:31 -0600 Subject: [PATCH 04/12] Revert "add missing import" This reverts commit b36acb9853feb275b6ec70ff24064f65a07664c7. --- src/kiri/platform.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kiri/platform.js b/src/kiri/platform.js index 8e25244e..8570dc85 100644 --- a/src/kiri/platform.js +++ b/src/kiri/platform.js @@ -6,7 +6,7 @@ import { ajax, js2o } from './utils.js'; import { base } from '../geo/base.js'; import { load } from '../load/file.js'; import { space } from '../moto/space.js'; -import { Widget, newWidget } from './widget.js'; +import { Widget } from './widget.js'; import { Packer } from './pack.js'; import { COLOR, MODES } from './consts.js'; @@ -837,7 +837,7 @@ function platformLoadFiles(files, group) { api.function.parse(data.textDecode('utf-8'), 'gcode'); load_dec(); } else if (issvg) { - loadSVGDialog(opt => { + loadSVGDialog(opt => { group = group || []; let svg = load.SVG.parse(data.textDecode('utf-8'), opt); let ind = 0; From ff9267bfd1c05fe698ed2ad4857bb1d5019a4e4d Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:13:32 -0600 Subject: [PATCH 05/12] Revert "add missing import" This reverts commit 395c79af1a7c9717f626a762d7a586c6c6c27351. --- src/load/svg.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/load/svg.js b/src/load/svg.js index 8024b6f8..498650d3 100644 --- a/src/load/svg.js +++ b/src/load/svg.js @@ -1,7 +1,6 @@ /** Copyright Stewart Allen -- All Rights Reserved */ import { newPolygon } from '../geo/polygon.js'; -import { newPoint } from '../geo/point.js'; import { polygons } from '../geo/polygons.js'; import { THREE } from '../ext/three.js'; @@ -44,7 +43,7 @@ export function parse(text, opt = { }) { if (points.length < 3) { continue; } - let poly = newPolygon().addPoints(points.map(p => newPoint(p.x, -p.y, 0))); + let poly = newPolygon().addPoints(points.map(p => newPolygon.newPoint(p.x, -p.y, 0))); if (poly.appearsClosed()) poly.points.pop(); if (type === 'polyline') poly.setOpen(true); poly._svg = { width, miter }; From 51a6b59880175561f73875ba0f69f2a1ade9e083 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:14:09 -0600 Subject: [PATCH 06/12] Revert "add other file exports to file.js" This reverts commit a707110299feed70bcba60cc75bf643acbcabd26. --- src/load/file.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/load/file.js b/src/load/file.js index 88962c27..c70ca280 100644 --- a/src/load/file.js +++ b/src/load/file.js @@ -100,6 +100,4 @@ function load_file(file, opt) { }); } -Object.assign(load_file, { SVG, OBJ, STL, TMF, GBR, PNG: pngLoad.PNG }); - export { types, as_buffer, load_data, load_file, load_file as load }; From ef7ff9d27b08a0451dc8f2488774e8b7060d6a18 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:14:39 -0600 Subject: [PATCH 07/12] Revert "fix png imports" This reverts commit ad6d5cd838b5882479317f1a2822edc13b9bec40. --- src/kiri-run/worker.js | 1 - src/kiri/main.js | 2 +- src/load/png.js | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/kiri-run/worker.js b/src/kiri-run/worker.js index 7c772d8d..a92b230d 100644 --- a/src/kiri-run/worker.js +++ b/src/kiri-run/worker.js @@ -16,7 +16,6 @@ import { render } from '../kiri/render.js'; import { wasm_ctrl } from '../geo/wasm.js'; import { version } from '../moto/license.js'; import { Widget, newWidget } from '../kiri/widget.js'; -import { load } from "../load/png.js"; import { CAM } from '../kiri-mode/cam/driver-be.js'; import { DRAG } from '../kiri-mode/drag/driver.js'; diff --git a/src/kiri/main.js b/src/kiri/main.js index 433a01d9..aef9f121 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -18,7 +18,7 @@ import { space as SPACE } from '../moto/space.js'; import { stats } from '../kiri/stats.js'; import { noop, utils } from '../kiri/utils.js'; import { version } from '../moto/license.js'; -import { Widget, newWidget } from './widget.js'; +import { Widget } from './widget.js'; import { showTools } from '../kiri-mode/cam/tools.js'; let { parseOpt, o2js, js2o, ls2o } = utils, diff --git a/src/load/png.js b/src/load/png.js index 26983b84..bd029144 100644 --- a/src/load/png.js +++ b/src/load/png.js @@ -28,7 +28,7 @@ function parseAsync(bin, opt) { * opt.base = base added thickness in mm */ function parse(bin, opt = {}) { - let img = new PNG(); + let img = new png.PNG(); let progress = opt.progress || noop; let ondone = opt.done || noop; img.parse(bin, (err, output) => { From 1a5782a28a4fef182eda86557739e7435d9699e0 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:14:54 -0600 Subject: [PATCH 08/12] Revert "ignore pack folder" This reverts commit ada4b6497dbf2618631a6897da934e29fc476189. --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 868a1da7..3a25e8c5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,3 @@ node_modules package-lock.json three.js tmp -pack \ No newline at end of file From a67f841889682c526f1f9667dcccaa3d0bb90562 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 09:37:29 -0600 Subject: [PATCH 09/12] Squashed commit of the following: commit 4712967dd807ce035f407acff9bcfbc6c320bbdc Author: bakedpotatolord Date: Tue Jul 8 09:26:33 2025 -0600 Reapply "add missing import" This reverts commit f8ef936d8e8c8f6e61ac17f03f75525cd59769a3. --- .gitignore | 1 + src/kiri-run/worker.js | 1 + src/kiri/main.js | 2 +- src/kiri/platform.js | 4 ++-- src/load/file.js | 2 ++ src/load/png.js | 2 +- src/load/svg.js | 3 ++- 7 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 3a25e8c5..868a1da7 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ node_modules package-lock.json three.js tmp +pack \ No newline at end of file diff --git a/src/kiri-run/worker.js b/src/kiri-run/worker.js index a92b230d..7c772d8d 100644 --- a/src/kiri-run/worker.js +++ b/src/kiri-run/worker.js @@ -16,6 +16,7 @@ import { render } from '../kiri/render.js'; import { wasm_ctrl } from '../geo/wasm.js'; import { version } from '../moto/license.js'; import { Widget, newWidget } from '../kiri/widget.js'; +import { load } from "../load/png.js"; import { CAM } from '../kiri-mode/cam/driver-be.js'; import { DRAG } from '../kiri-mode/drag/driver.js'; diff --git a/src/kiri/main.js b/src/kiri/main.js index aef9f121..433a01d9 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -18,7 +18,7 @@ import { space as SPACE } from '../moto/space.js'; import { stats } from '../kiri/stats.js'; import { noop, utils } from '../kiri/utils.js'; import { version } from '../moto/license.js'; -import { Widget } from './widget.js'; +import { Widget, newWidget } from './widget.js'; import { showTools } from '../kiri-mode/cam/tools.js'; let { parseOpt, o2js, js2o, ls2o } = utils, diff --git a/src/kiri/platform.js b/src/kiri/platform.js index 8570dc85..8e25244e 100644 --- a/src/kiri/platform.js +++ b/src/kiri/platform.js @@ -6,7 +6,7 @@ import { ajax, js2o } from './utils.js'; import { base } from '../geo/base.js'; import { load } from '../load/file.js'; import { space } from '../moto/space.js'; -import { Widget } from './widget.js'; +import { Widget, newWidget } from './widget.js'; import { Packer } from './pack.js'; import { COLOR, MODES } from './consts.js'; @@ -837,7 +837,7 @@ function platformLoadFiles(files, group) { api.function.parse(data.textDecode('utf-8'), 'gcode'); load_dec(); } else if (issvg) { - loadSVGDialog(opt => { + loadSVGDialog(opt => { group = group || []; let svg = load.SVG.parse(data.textDecode('utf-8'), opt); let ind = 0; diff --git a/src/load/file.js b/src/load/file.js index c70ca280..88962c27 100644 --- a/src/load/file.js +++ b/src/load/file.js @@ -100,4 +100,6 @@ function load_file(file, opt) { }); } +Object.assign(load_file, { SVG, OBJ, STL, TMF, GBR, PNG: pngLoad.PNG }); + export { types, as_buffer, load_data, load_file, load_file as load }; diff --git a/src/load/png.js b/src/load/png.js index bd029144..26983b84 100644 --- a/src/load/png.js +++ b/src/load/png.js @@ -28,7 +28,7 @@ function parseAsync(bin, opt) { * opt.base = base added thickness in mm */ function parse(bin, opt = {}) { - let img = new png.PNG(); + let img = new PNG(); let progress = opt.progress || noop; let ondone = opt.done || noop; img.parse(bin, (err, output) => { diff --git a/src/load/svg.js b/src/load/svg.js index 498650d3..8024b6f8 100644 --- a/src/load/svg.js +++ b/src/load/svg.js @@ -1,6 +1,7 @@ /** Copyright Stewart Allen -- All Rights Reserved */ import { newPolygon } from '../geo/polygon.js'; +import { newPoint } from '../geo/point.js'; import { polygons } from '../geo/polygons.js'; import { THREE } from '../ext/three.js'; @@ -43,7 +44,7 @@ export function parse(text, opt = { }) { if (points.length < 3) { continue; } - let poly = newPolygon().addPoints(points.map(p => newPolygon.newPoint(p.x, -p.y, 0))); + let poly = newPolygon().addPoints(points.map(p => newPoint(p.x, -p.y, 0))); if (poly.appearsClosed()) poly.points.pop(); if (type === 'polyline') poly.setOpen(true); poly._svg = { width, miter }; From 9b19d8518a9b2a27c48e9d934b4c9d6f621e455d Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 10:02:38 -0600 Subject: [PATCH 10/12] fix 3mf import --- src/ext/jszip.esm.js | 7 +++++++ src/load/3mf.js | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 src/ext/jszip.esm.js diff --git a/src/ext/jszip.esm.js b/src/ext/jszip.esm.js new file mode 100644 index 00000000..6327e69c --- /dev/null +++ b/src/ext/jszip.esm.js @@ -0,0 +1,7 @@ +/** Copyright Stewart Allen -- All Rights Reserved */ + +//import original library +import * as JSZip from "./jszip.js"; + +//export object attached to the window object +export default self.JSZip; \ No newline at end of file diff --git a/src/load/3mf.js b/src/load/3mf.js index a617c716..09fd0780 100644 --- a/src/load/3mf.js +++ b/src/load/3mf.js @@ -3,7 +3,7 @@ 'use strict'; import { THREE } from '../ext/three.js'; -import * as JSZip from '../ext/jszip.js'; +import JSZip from '../ext/jszip.esm.js'; let { BufferAttribute, Matrix4 } = THREE; @@ -218,7 +218,8 @@ function extractItems(records) { */ export function parseAsync(data) { return new Promise(async (resolve, reject) => { - let zip = await JSZip.default.loadAsync(data); + console.log(JSZip) + let zip = await JSZip.loadAsync(data); let models = {}; for (let [key, value] of Object.entries(zip.files)) { if (key.endsWith(".model")) { From e6a80bfb67b4117eb246febc548e785ab7dc8867 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 10:04:02 -0600 Subject: [PATCH 11/12] remove console log --- src/load/3mf.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/load/3mf.js b/src/load/3mf.js index 09fd0780..49d676d0 100644 --- a/src/load/3mf.js +++ b/src/load/3mf.js @@ -218,7 +218,6 @@ function extractItems(records) { */ export function parseAsync(data) { return new Promise(async (resolve, reject) => { - console.log(JSZip) let zip = await JSZip.loadAsync(data); let models = {}; for (let [key, value] of Object.entries(zip.files)) { From 0c74dc03e63836dc3a84bb43db75cf7cad114196 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 8 Jul 2025 10:04:17 -0600 Subject: [PATCH 12/12] format --- src/ext/jszip.esm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ext/jszip.esm.js b/src/ext/jszip.esm.js index 6327e69c..58a5a1de 100644 --- a/src/ext/jszip.esm.js +++ b/src/ext/jszip.esm.js @@ -4,4 +4,4 @@ import * as JSZip from "./jszip.js"; //export object attached to the window object -export default self.JSZip; \ No newline at end of file +export default self.JSZip;