From 93752ad24f02407c97f32c20ca563ca1dcc6f855 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 6 May 2025 19:42:24 -0600 Subject: [PATCH 01/22] specify no publishing for build test --- .github/workflows/build-test.yml | 4 ++-- package.json | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 75132889..e9092fd2 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -26,7 +26,7 @@ jobs: - name: Build Electron app env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - run: npm run build + run: npm run build-nopublish build-windows: runs-on: "windows-latest" @@ -46,7 +46,7 @@ jobs: - name: Build Electron app env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - run: npm run build + run: npm run build-nopublish diff --git a/package.json b/package.json index a09a9fab..c1e1547c 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "start-dbg": "npm run prebuild && electron . --debugg", "start-ddb": "npm run prebuild && electron . --devel --debugg", "build": "npm run prebuild && electron-builder", + "build-nopublish": "npm run prebuild && electron-builder --publish never", "build-debug": "npm run prebuild && DEBUG=electron-builder electron-builder", "build-linux": "npm run build -- --linux --x64", "build-linux-arm": "npm run build -- --linux --arm64", From 05e41fde3995f8012aed17227fa5bc38c6bf8262 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Mon, 12 May 2025 12:44:55 -0600 Subject: [PATCH 02/22] add json extention to device files --- ...Any.Generic.Grbl => Any.Generic.Grbl.json} | 0 ...ric.LinuxCNC => Any.Generic.LinuxCNC.json} | 0 ...y.Generic.TinyG => Any.Generic.TinyG.json} | 0 ...mad.883Pro => Carbide3D.Nomad.883Pro.json} | 0 ...D.Shapeoko.3 => Carbide3D.Shapeoko.3.json} | 0 ...Shapeoko.XL => Carbide3D.Shapeoko.XL.json} | 0 ...apeoko.XXL => Carbide3D.Shapeoko.XXL.json} | 0 .../cam/{Genmitsu.3018 => Genmitsu.3018.json} | 0 ...VerXL.4030 => Genmitsu.PROVerXL.4030.json} | 0 ...Carvey.Any => Inventables.Carvey.Any.json} | 0 ....1000mm => Inventables.XCarve.1000mm.json} | 0 ...ve.500mm => Inventables.XCarve.500mm.json} | 0 .../cam/{Langmuir.MR-1 => Langmuir.MR-1.json} | 0 .../{Makera.Carvera => Makera.Carvera.json} | 0 .../{PrintNC.GrblHAL => PrintNC.GrblHAL.json} | 0 .../cam/{Roland.MDX-50 => Roland.MDX-50.json} | 0 .../cam/{ShopBot.Basic => ShopBot.Basic.json} | 0 .../{Sienci.AltMill => Sienci.AltMill.json} | 0 ....LongMill.MK2 => Sienci.LongMill.MK2.json} | 0 .../{Sienci.LongMill => Sienci.LongMill.json} | 0 .../{Sienci.Mill.One => Sienci.Mill.One.json} | 0 ...maker.Original => Snapmaker.Original.json} | 0 ...no.Davinci.CNC => Techno.Davinci.CNC.json} | 0 .../cam/{Tormach.24R => Tormach.24R.json} | 0 ...Lowrider3 => V1Engineering.Lowrider3.json} | 0 ...neering.MPCNC => V1Engineering.MPCNC.json} | 0 ...c.DragKnife => Any.Generic.DragKnife.json} | 0 ...neric.Klipper => Any.Generic.Klipper.json} | 0 ...Generic.Marlin => Any.Generic.Marlin.json} | 0 .../{Anycubic.Chiron => Anycubic.Chiron.json} | 0 ...Anycubic.Kobra.2 => Anycubic.Kobra.2.json} | 0 .../{Anycubic.Kobra => Anycubic.Kobra.json} | 0 ...ycubic.Predator => Anycubic.Predator.json} | 0 ...Anycubic.i3.Mega => Anycubic.i3.Mega.json} | 0 src/kiri-dev/fdm/{Atom.v2 => Atom.v2.json} | 0 src/kiri-dev/fdm/{Bambu.A1 => Bambu.A1.json} | 0 .../fdm/{Bambu.P1S => Bambu.P1S.json} | 0 ...ty.CR-10S-Pro => Creality.CR-10S-Pro.json} | 0 .../{Creality.CR-10S => Creality.CR-10S.json} | 0 .../{Creality.CR-30 => Creality.CR-30.json} | 0 ...Creality.Ender.3 => Creality.Ender.3.json} | 0 ...Creality.Ender.5 => Creality.Ender.5.json} | 0 ...Creality.Ender.6 => Creality.Ender.6.json} | 0 .../fdm/{Creality.K1 => Creality.K1.json} | 0 ...ty.Sermoon.D1 => Creality.Sermoon.D1.json} | 0 .../{Cubicon.Single+ => Cubicon.Single+.json} | 0 .../fdm/{Cubicon.Style => Cubicon.Style.json} | 0 ....Disco.Ult.V2 => Dagoma.Disco.Ult.V2.json} | 0 .../fdm/{DeltaMaker.2T => DeltaMaker.2T.json} | 0 ...aker.Original => DeltaMaker.Original.json} | 0 .../fdm/{FLSUN.QQ-S => FLSUN.QQ-S.json} | 0 ...ashforge.Finder => Flashforge.Finder.json} | 0 ...ge.Guider.II => Flashforge.Guider.II.json} | 0 .../{FolgerTech.FT5 => FolgerTech.FT5.json} | 0 .../fdm/{GridBot.One => GridBot.One.json} | 0 src/kiri-dev/fdm/Gridbot.Two | 43 +++++++++++++++++++ ...OX.1.N0.4 => IMADE3D.JellyBOX.1.N0.4.json} | 0 ...OX.2.N0.4 => IMADE3D.JellyBOX.2.N0.4.json} | 0 ...OX.3.N0.4 => IMADE3D.JellyBOX.3.N0.4.json} | 0 ...OX.4.N0.4 => IMADE3D.JellyBOX.4.N0.4.json} | 0 ...OX.4.N0.6 => IMADE3D.JellyBOX.4.N0.6.json} | 0 ...apfrog.CreatrHS => Leapfrog.CreatrHS.json} | 0 .../fdm/{MakerGear.M2 => MakerGear.M2.json} | 0 ....Replicator2 => Makerbot.Replicator2.json} | 0 .../fdm/{Prusa.i3.MK2S => Prusa.i3.MK2S.json} | 0 .../{Prusa.i3.MK3S+ => Prusa.i3.MK3S+.json} | 0 .../fdm/{Prusa.mini => Prusa.mini.json} | 0 .../fdm/{Raise3D.N2 => Raise3D.N2.json} | 0 ...ook.MK1.LDO => Rolohaun.Rook.MK1.LDO.json} | 0 ...inSmart.Infi-20 => SainSmart.Infi-20.json} | 0 ...maker.Original => Snapmaker.Original.json} | 0 .../fdm/{Tina2.Basic => Tina2.Basic.json} | 0 .../fdm/{TypeA.Series1 => TypeA.Series1.json} | 0 ...TypeA.Series1Pro => TypeA.Series1Pro.json} | 0 .../fdm/{ULIO.3D.BRIX => ULIO.3D.BRIX.json} | 0 .../fdm/{ULIO.3D.STEAM => ULIO.3D.STEAM.json} | 0 ...r.Ultimaker2 => Ultimaker.Ultimaker2.json} | 0 ...uplicator_4s => Wanhao.Duplicator_4s.json} | 0 ...uplicator_5s => Wanhao.Duplicator_5s.json} | 0 ....Duplicator_6 => Wanhao.Duplicator_6.json} | 0 ...uplicator_i3 => Wanhao.Duplicator_i3.json} | 0 ...daVinci.Jr.Pro => XYZ.daVinci.Jr.Pro.json} | 0 ...daVinci.Mini.w => XYZ.daVinci.Mini.w.json} | 0 ...y.Generic.Laser => Any.Generic.Laser.json} | 0 .../laser/{Glowforge => Glowforge.json} | 0 .../{Snapmaker.A250T => Snapmaker.A250T.json} | 0 .../{Snapmaker.A350T => Snapmaker.A350T.json} | 0 ...maker.Original => Snapmaker.Original.json} | 0 .../laser/{Xtool.P2 => Xtool.P2.json} | 0 .../laser/{xTool.D1 => xTool.D1.json} | 0 .../{xTool.F1.Ultra => xTool.F1.Ultra.json} | 0 .../laser/{xTool.F1 => xTool.F1.json} | 0 .../laser/{xTool.M1 => xTool.M1.json} | 0 .../laser/{xTool.P2S => xTool.P2S.json} | 0 .../laser/{xTool.S1 => xTool.S1.json} | 0 ...ycubic.Photon.S => Anycubic.Photon.S.json} | 0 .../{Anycubic.Photon => Anycubic.Photon.json} | 0 ...lity.Halot.Max => Creality.Halot.Max.json} | 0 ...lity.Halot.One => Creality.Halot.One.json} | 0 ...lity.Halot.Sky => Creality.Halot.Sky.json} | 0 ...neric.WireEDM => Any.Generic.WireEDM.json} | 0 ...ta.Wire.V1 => RackRobo.Betta.Wire.V1.json} | 0 ...ric.WaterJet => Any.Generic.WaterJet.json} | 0 .../wjet/{HydroBLADE => HydroBLADE.json} | 0 104 files changed, 43 insertions(+) rename src/kiri-dev/cam/{Any.Generic.Grbl => Any.Generic.Grbl.json} (100%) rename src/kiri-dev/cam/{Any.Generic.LinuxCNC => Any.Generic.LinuxCNC.json} (100%) rename src/kiri-dev/cam/{Any.Generic.TinyG => Any.Generic.TinyG.json} (100%) rename src/kiri-dev/cam/{Carbide3D.Nomad.883Pro => Carbide3D.Nomad.883Pro.json} (100%) rename src/kiri-dev/cam/{Carbide3D.Shapeoko.3 => Carbide3D.Shapeoko.3.json} (100%) rename src/kiri-dev/cam/{Carbide3D.Shapeoko.XL => Carbide3D.Shapeoko.XL.json} (100%) rename src/kiri-dev/cam/{Carbide3D.Shapeoko.XXL => Carbide3D.Shapeoko.XXL.json} (100%) rename src/kiri-dev/cam/{Genmitsu.3018 => Genmitsu.3018.json} (100%) rename src/kiri-dev/cam/{Genmitsu.PROVerXL.4030 => Genmitsu.PROVerXL.4030.json} (100%) rename src/kiri-dev/cam/{Inventables.Carvey.Any => Inventables.Carvey.Any.json} (100%) rename src/kiri-dev/cam/{Inventables.XCarve.1000mm => Inventables.XCarve.1000mm.json} (100%) rename src/kiri-dev/cam/{Inventables.XCarve.500mm => Inventables.XCarve.500mm.json} (100%) rename src/kiri-dev/cam/{Langmuir.MR-1 => Langmuir.MR-1.json} (100%) rename src/kiri-dev/cam/{Makera.Carvera => Makera.Carvera.json} (100%) rename src/kiri-dev/cam/{PrintNC.GrblHAL => PrintNC.GrblHAL.json} (100%) rename src/kiri-dev/cam/{Roland.MDX-50 => Roland.MDX-50.json} (100%) rename src/kiri-dev/cam/{ShopBot.Basic => ShopBot.Basic.json} (100%) rename src/kiri-dev/cam/{Sienci.AltMill => Sienci.AltMill.json} (100%) rename src/kiri-dev/cam/{Sienci.LongMill.MK2 => Sienci.LongMill.MK2.json} (100%) rename src/kiri-dev/cam/{Sienci.LongMill => Sienci.LongMill.json} (100%) rename src/kiri-dev/cam/{Sienci.Mill.One => Sienci.Mill.One.json} (100%) rename src/kiri-dev/cam/{Snapmaker.Original => Snapmaker.Original.json} (100%) rename src/kiri-dev/cam/{Techno.Davinci.CNC => Techno.Davinci.CNC.json} (100%) rename src/kiri-dev/cam/{Tormach.24R => Tormach.24R.json} (100%) rename src/kiri-dev/cam/{V1Engineering.Lowrider3 => V1Engineering.Lowrider3.json} (100%) rename src/kiri-dev/cam/{V1Engineering.MPCNC => V1Engineering.MPCNC.json} (100%) rename src/kiri-dev/drag/{Any.Generic.DragKnife => Any.Generic.DragKnife.json} (100%) rename src/kiri-dev/fdm/{Any.Generic.Klipper => Any.Generic.Klipper.json} (100%) rename src/kiri-dev/fdm/{Any.Generic.Marlin => Any.Generic.Marlin.json} (100%) rename src/kiri-dev/fdm/{Anycubic.Chiron => Anycubic.Chiron.json} (100%) rename src/kiri-dev/fdm/{Anycubic.Kobra.2 => Anycubic.Kobra.2.json} (100%) rename src/kiri-dev/fdm/{Anycubic.Kobra => Anycubic.Kobra.json} (100%) rename src/kiri-dev/fdm/{Anycubic.Predator => Anycubic.Predator.json} (100%) rename src/kiri-dev/fdm/{Anycubic.i3.Mega => Anycubic.i3.Mega.json} (100%) rename src/kiri-dev/fdm/{Atom.v2 => Atom.v2.json} (100%) rename src/kiri-dev/fdm/{Bambu.A1 => Bambu.A1.json} (100%) rename src/kiri-dev/fdm/{Bambu.P1S => Bambu.P1S.json} (100%) rename src/kiri-dev/fdm/{Creality.CR-10S-Pro => Creality.CR-10S-Pro.json} (100%) rename src/kiri-dev/fdm/{Creality.CR-10S => Creality.CR-10S.json} (100%) rename src/kiri-dev/fdm/{Creality.CR-30 => Creality.CR-30.json} (100%) rename src/kiri-dev/fdm/{Creality.Ender.3 => Creality.Ender.3.json} (100%) rename src/kiri-dev/fdm/{Creality.Ender.5 => Creality.Ender.5.json} (100%) rename src/kiri-dev/fdm/{Creality.Ender.6 => Creality.Ender.6.json} (100%) rename src/kiri-dev/fdm/{Creality.K1 => Creality.K1.json} (100%) rename src/kiri-dev/fdm/{Creality.Sermoon.D1 => Creality.Sermoon.D1.json} (100%) rename src/kiri-dev/fdm/{Cubicon.Single+ => Cubicon.Single+.json} (100%) rename src/kiri-dev/fdm/{Cubicon.Style => Cubicon.Style.json} (100%) rename src/kiri-dev/fdm/{Dagoma.Disco.Ult.V2 => Dagoma.Disco.Ult.V2.json} (100%) rename src/kiri-dev/fdm/{DeltaMaker.2T => DeltaMaker.2T.json} (100%) rename src/kiri-dev/fdm/{DeltaMaker.Original => DeltaMaker.Original.json} (100%) rename src/kiri-dev/fdm/{FLSUN.QQ-S => FLSUN.QQ-S.json} (100%) rename src/kiri-dev/fdm/{Flashforge.Finder => Flashforge.Finder.json} (100%) rename src/kiri-dev/fdm/{Flashforge.Guider.II => Flashforge.Guider.II.json} (100%) rename src/kiri-dev/fdm/{FolgerTech.FT5 => FolgerTech.FT5.json} (100%) rename src/kiri-dev/fdm/{GridBot.One => GridBot.One.json} (100%) create mode 100644 src/kiri-dev/fdm/Gridbot.Two rename src/kiri-dev/fdm/{IMADE3D.JellyBOX.1.N0.4 => IMADE3D.JellyBOX.1.N0.4.json} (100%) rename src/kiri-dev/fdm/{IMADE3D.JellyBOX.2.N0.4 => IMADE3D.JellyBOX.2.N0.4.json} (100%) rename src/kiri-dev/fdm/{IMADE3D.JellyBOX.3.N0.4 => IMADE3D.JellyBOX.3.N0.4.json} (100%) rename src/kiri-dev/fdm/{IMADE3D.JellyBOX.4.N0.4 => IMADE3D.JellyBOX.4.N0.4.json} (100%) rename src/kiri-dev/fdm/{IMADE3D.JellyBOX.4.N0.6 => IMADE3D.JellyBOX.4.N0.6.json} (100%) rename src/kiri-dev/fdm/{Leapfrog.CreatrHS => Leapfrog.CreatrHS.json} (100%) rename src/kiri-dev/fdm/{MakerGear.M2 => MakerGear.M2.json} (100%) rename src/kiri-dev/fdm/{Makerbot.Replicator2 => Makerbot.Replicator2.json} (100%) rename src/kiri-dev/fdm/{Prusa.i3.MK2S => Prusa.i3.MK2S.json} (100%) rename src/kiri-dev/fdm/{Prusa.i3.MK3S+ => Prusa.i3.MK3S+.json} (100%) rename src/kiri-dev/fdm/{Prusa.mini => Prusa.mini.json} (100%) rename src/kiri-dev/fdm/{Raise3D.N2 => Raise3D.N2.json} (100%) rename src/kiri-dev/fdm/{Rolohaun.Rook.MK1.LDO => Rolohaun.Rook.MK1.LDO.json} (100%) rename src/kiri-dev/fdm/{SainSmart.Infi-20 => SainSmart.Infi-20.json} (100%) rename src/kiri-dev/fdm/{Snapmaker.Original => Snapmaker.Original.json} (100%) rename src/kiri-dev/fdm/{Tina2.Basic => Tina2.Basic.json} (100%) rename src/kiri-dev/fdm/{TypeA.Series1 => TypeA.Series1.json} (100%) rename src/kiri-dev/fdm/{TypeA.Series1Pro => TypeA.Series1Pro.json} (100%) rename src/kiri-dev/fdm/{ULIO.3D.BRIX => ULIO.3D.BRIX.json} (100%) rename src/kiri-dev/fdm/{ULIO.3D.STEAM => ULIO.3D.STEAM.json} (100%) rename src/kiri-dev/fdm/{Ultimaker.Ultimaker2 => Ultimaker.Ultimaker2.json} (100%) rename src/kiri-dev/fdm/{Wanhao.Duplicator_4s => Wanhao.Duplicator_4s.json} (100%) rename src/kiri-dev/fdm/{Wanhao.Duplicator_5s => Wanhao.Duplicator_5s.json} (100%) rename src/kiri-dev/fdm/{Wanhao.Duplicator_6 => Wanhao.Duplicator_6.json} (100%) rename src/kiri-dev/fdm/{Wanhao.Duplicator_i3 => Wanhao.Duplicator_i3.json} (100%) rename src/kiri-dev/fdm/{XYZ.daVinci.Jr.Pro => XYZ.daVinci.Jr.Pro.json} (100%) rename src/kiri-dev/fdm/{XYZ.daVinci.Mini.w => XYZ.daVinci.Mini.w.json} (100%) rename src/kiri-dev/laser/{Any.Generic.Laser => Any.Generic.Laser.json} (100%) rename src/kiri-dev/laser/{Glowforge => Glowforge.json} (100%) rename src/kiri-dev/laser/{Snapmaker.A250T => Snapmaker.A250T.json} (100%) rename src/kiri-dev/laser/{Snapmaker.A350T => Snapmaker.A350T.json} (100%) rename src/kiri-dev/laser/{Snapmaker.Original => Snapmaker.Original.json} (100%) rename src/kiri-dev/laser/{Xtool.P2 => Xtool.P2.json} (100%) rename src/kiri-dev/laser/{xTool.D1 => xTool.D1.json} (100%) rename src/kiri-dev/laser/{xTool.F1.Ultra => xTool.F1.Ultra.json} (100%) rename src/kiri-dev/laser/{xTool.F1 => xTool.F1.json} (100%) rename src/kiri-dev/laser/{xTool.M1 => xTool.M1.json} (100%) rename src/kiri-dev/laser/{xTool.P2S => xTool.P2S.json} (100%) rename src/kiri-dev/laser/{xTool.S1 => xTool.S1.json} (100%) rename src/kiri-dev/sla/{Anycubic.Photon.S => Anycubic.Photon.S.json} (100%) rename src/kiri-dev/sla/{Anycubic.Photon => Anycubic.Photon.json} (100%) rename src/kiri-dev/sla/{Creality.Halot.Max => Creality.Halot.Max.json} (100%) rename src/kiri-dev/sla/{Creality.Halot.One => Creality.Halot.One.json} (100%) rename src/kiri-dev/sla/{Creality.Halot.Sky => Creality.Halot.Sky.json} (100%) rename src/kiri-dev/wedm/{Any.Generic.WireEDM => Any.Generic.WireEDM.json} (100%) rename src/kiri-dev/wedm/{RackRobo.Betta.Wire.V1 => RackRobo.Betta.Wire.V1.json} (100%) rename src/kiri-dev/wjet/{Any.Generic.WaterJet => Any.Generic.WaterJet.json} (100%) rename src/kiri-dev/wjet/{HydroBLADE => HydroBLADE.json} (100%) diff --git a/src/kiri-dev/cam/Any.Generic.Grbl b/src/kiri-dev/cam/Any.Generic.Grbl.json similarity index 100% rename from src/kiri-dev/cam/Any.Generic.Grbl rename to src/kiri-dev/cam/Any.Generic.Grbl.json diff --git a/src/kiri-dev/cam/Any.Generic.LinuxCNC b/src/kiri-dev/cam/Any.Generic.LinuxCNC.json similarity index 100% rename from src/kiri-dev/cam/Any.Generic.LinuxCNC rename to src/kiri-dev/cam/Any.Generic.LinuxCNC.json diff --git a/src/kiri-dev/cam/Any.Generic.TinyG b/src/kiri-dev/cam/Any.Generic.TinyG.json similarity index 100% rename from src/kiri-dev/cam/Any.Generic.TinyG rename to src/kiri-dev/cam/Any.Generic.TinyG.json diff --git a/src/kiri-dev/cam/Carbide3D.Nomad.883Pro b/src/kiri-dev/cam/Carbide3D.Nomad.883Pro.json similarity index 100% rename from src/kiri-dev/cam/Carbide3D.Nomad.883Pro rename to src/kiri-dev/cam/Carbide3D.Nomad.883Pro.json diff --git a/src/kiri-dev/cam/Carbide3D.Shapeoko.3 b/src/kiri-dev/cam/Carbide3D.Shapeoko.3.json similarity index 100% rename from src/kiri-dev/cam/Carbide3D.Shapeoko.3 rename to src/kiri-dev/cam/Carbide3D.Shapeoko.3.json diff --git a/src/kiri-dev/cam/Carbide3D.Shapeoko.XL b/src/kiri-dev/cam/Carbide3D.Shapeoko.XL.json similarity index 100% rename from src/kiri-dev/cam/Carbide3D.Shapeoko.XL rename to src/kiri-dev/cam/Carbide3D.Shapeoko.XL.json diff --git a/src/kiri-dev/cam/Carbide3D.Shapeoko.XXL b/src/kiri-dev/cam/Carbide3D.Shapeoko.XXL.json similarity index 100% rename from src/kiri-dev/cam/Carbide3D.Shapeoko.XXL rename to src/kiri-dev/cam/Carbide3D.Shapeoko.XXL.json diff --git a/src/kiri-dev/cam/Genmitsu.3018 b/src/kiri-dev/cam/Genmitsu.3018.json similarity index 100% rename from src/kiri-dev/cam/Genmitsu.3018 rename to src/kiri-dev/cam/Genmitsu.3018.json diff --git a/src/kiri-dev/cam/Genmitsu.PROVerXL.4030 b/src/kiri-dev/cam/Genmitsu.PROVerXL.4030.json similarity index 100% rename from src/kiri-dev/cam/Genmitsu.PROVerXL.4030 rename to src/kiri-dev/cam/Genmitsu.PROVerXL.4030.json diff --git a/src/kiri-dev/cam/Inventables.Carvey.Any b/src/kiri-dev/cam/Inventables.Carvey.Any.json similarity index 100% rename from src/kiri-dev/cam/Inventables.Carvey.Any rename to src/kiri-dev/cam/Inventables.Carvey.Any.json diff --git a/src/kiri-dev/cam/Inventables.XCarve.1000mm b/src/kiri-dev/cam/Inventables.XCarve.1000mm.json similarity index 100% rename from src/kiri-dev/cam/Inventables.XCarve.1000mm rename to src/kiri-dev/cam/Inventables.XCarve.1000mm.json diff --git a/src/kiri-dev/cam/Inventables.XCarve.500mm b/src/kiri-dev/cam/Inventables.XCarve.500mm.json similarity index 100% rename from src/kiri-dev/cam/Inventables.XCarve.500mm rename to src/kiri-dev/cam/Inventables.XCarve.500mm.json diff --git a/src/kiri-dev/cam/Langmuir.MR-1 b/src/kiri-dev/cam/Langmuir.MR-1.json similarity index 100% rename from src/kiri-dev/cam/Langmuir.MR-1 rename to src/kiri-dev/cam/Langmuir.MR-1.json diff --git a/src/kiri-dev/cam/Makera.Carvera b/src/kiri-dev/cam/Makera.Carvera.json similarity index 100% rename from src/kiri-dev/cam/Makera.Carvera rename to src/kiri-dev/cam/Makera.Carvera.json diff --git a/src/kiri-dev/cam/PrintNC.GrblHAL b/src/kiri-dev/cam/PrintNC.GrblHAL.json similarity index 100% rename from src/kiri-dev/cam/PrintNC.GrblHAL rename to src/kiri-dev/cam/PrintNC.GrblHAL.json diff --git a/src/kiri-dev/cam/Roland.MDX-50 b/src/kiri-dev/cam/Roland.MDX-50.json similarity index 100% rename from src/kiri-dev/cam/Roland.MDX-50 rename to src/kiri-dev/cam/Roland.MDX-50.json diff --git a/src/kiri-dev/cam/ShopBot.Basic b/src/kiri-dev/cam/ShopBot.Basic.json similarity index 100% rename from src/kiri-dev/cam/ShopBot.Basic rename to src/kiri-dev/cam/ShopBot.Basic.json diff --git a/src/kiri-dev/cam/Sienci.AltMill b/src/kiri-dev/cam/Sienci.AltMill.json similarity index 100% rename from src/kiri-dev/cam/Sienci.AltMill rename to src/kiri-dev/cam/Sienci.AltMill.json diff --git a/src/kiri-dev/cam/Sienci.LongMill.MK2 b/src/kiri-dev/cam/Sienci.LongMill.MK2.json similarity index 100% rename from src/kiri-dev/cam/Sienci.LongMill.MK2 rename to src/kiri-dev/cam/Sienci.LongMill.MK2.json diff --git a/src/kiri-dev/cam/Sienci.LongMill b/src/kiri-dev/cam/Sienci.LongMill.json similarity index 100% rename from src/kiri-dev/cam/Sienci.LongMill rename to src/kiri-dev/cam/Sienci.LongMill.json diff --git a/src/kiri-dev/cam/Sienci.Mill.One b/src/kiri-dev/cam/Sienci.Mill.One.json similarity index 100% rename from src/kiri-dev/cam/Sienci.Mill.One rename to src/kiri-dev/cam/Sienci.Mill.One.json diff --git a/src/kiri-dev/cam/Snapmaker.Original b/src/kiri-dev/cam/Snapmaker.Original.json similarity index 100% rename from src/kiri-dev/cam/Snapmaker.Original rename to src/kiri-dev/cam/Snapmaker.Original.json diff --git a/src/kiri-dev/cam/Techno.Davinci.CNC b/src/kiri-dev/cam/Techno.Davinci.CNC.json similarity index 100% rename from src/kiri-dev/cam/Techno.Davinci.CNC rename to src/kiri-dev/cam/Techno.Davinci.CNC.json diff --git a/src/kiri-dev/cam/Tormach.24R b/src/kiri-dev/cam/Tormach.24R.json similarity index 100% rename from src/kiri-dev/cam/Tormach.24R rename to src/kiri-dev/cam/Tormach.24R.json diff --git a/src/kiri-dev/cam/V1Engineering.Lowrider3 b/src/kiri-dev/cam/V1Engineering.Lowrider3.json similarity index 100% rename from src/kiri-dev/cam/V1Engineering.Lowrider3 rename to src/kiri-dev/cam/V1Engineering.Lowrider3.json diff --git a/src/kiri-dev/cam/V1Engineering.MPCNC b/src/kiri-dev/cam/V1Engineering.MPCNC.json similarity index 100% rename from src/kiri-dev/cam/V1Engineering.MPCNC rename to src/kiri-dev/cam/V1Engineering.MPCNC.json diff --git a/src/kiri-dev/drag/Any.Generic.DragKnife b/src/kiri-dev/drag/Any.Generic.DragKnife.json similarity index 100% rename from src/kiri-dev/drag/Any.Generic.DragKnife rename to src/kiri-dev/drag/Any.Generic.DragKnife.json diff --git a/src/kiri-dev/fdm/Any.Generic.Klipper b/src/kiri-dev/fdm/Any.Generic.Klipper.json similarity index 100% rename from src/kiri-dev/fdm/Any.Generic.Klipper rename to src/kiri-dev/fdm/Any.Generic.Klipper.json diff --git a/src/kiri-dev/fdm/Any.Generic.Marlin b/src/kiri-dev/fdm/Any.Generic.Marlin.json similarity index 100% rename from src/kiri-dev/fdm/Any.Generic.Marlin rename to src/kiri-dev/fdm/Any.Generic.Marlin.json diff --git a/src/kiri-dev/fdm/Anycubic.Chiron b/src/kiri-dev/fdm/Anycubic.Chiron.json similarity index 100% rename from src/kiri-dev/fdm/Anycubic.Chiron rename to src/kiri-dev/fdm/Anycubic.Chiron.json diff --git a/src/kiri-dev/fdm/Anycubic.Kobra.2 b/src/kiri-dev/fdm/Anycubic.Kobra.2.json similarity index 100% rename from src/kiri-dev/fdm/Anycubic.Kobra.2 rename to src/kiri-dev/fdm/Anycubic.Kobra.2.json diff --git a/src/kiri-dev/fdm/Anycubic.Kobra b/src/kiri-dev/fdm/Anycubic.Kobra.json similarity index 100% rename from src/kiri-dev/fdm/Anycubic.Kobra rename to src/kiri-dev/fdm/Anycubic.Kobra.json diff --git a/src/kiri-dev/fdm/Anycubic.Predator b/src/kiri-dev/fdm/Anycubic.Predator.json similarity index 100% rename from src/kiri-dev/fdm/Anycubic.Predator rename to src/kiri-dev/fdm/Anycubic.Predator.json diff --git a/src/kiri-dev/fdm/Anycubic.i3.Mega b/src/kiri-dev/fdm/Anycubic.i3.Mega.json similarity index 100% rename from src/kiri-dev/fdm/Anycubic.i3.Mega rename to src/kiri-dev/fdm/Anycubic.i3.Mega.json diff --git a/src/kiri-dev/fdm/Atom.v2 b/src/kiri-dev/fdm/Atom.v2.json similarity index 100% rename from src/kiri-dev/fdm/Atom.v2 rename to src/kiri-dev/fdm/Atom.v2.json diff --git a/src/kiri-dev/fdm/Bambu.A1 b/src/kiri-dev/fdm/Bambu.A1.json similarity index 100% rename from src/kiri-dev/fdm/Bambu.A1 rename to src/kiri-dev/fdm/Bambu.A1.json diff --git a/src/kiri-dev/fdm/Bambu.P1S b/src/kiri-dev/fdm/Bambu.P1S.json similarity index 100% rename from src/kiri-dev/fdm/Bambu.P1S rename to src/kiri-dev/fdm/Bambu.P1S.json diff --git a/src/kiri-dev/fdm/Creality.CR-10S-Pro b/src/kiri-dev/fdm/Creality.CR-10S-Pro.json similarity index 100% rename from src/kiri-dev/fdm/Creality.CR-10S-Pro rename to src/kiri-dev/fdm/Creality.CR-10S-Pro.json diff --git a/src/kiri-dev/fdm/Creality.CR-10S b/src/kiri-dev/fdm/Creality.CR-10S.json similarity index 100% rename from src/kiri-dev/fdm/Creality.CR-10S rename to src/kiri-dev/fdm/Creality.CR-10S.json diff --git a/src/kiri-dev/fdm/Creality.CR-30 b/src/kiri-dev/fdm/Creality.CR-30.json similarity index 100% rename from src/kiri-dev/fdm/Creality.CR-30 rename to src/kiri-dev/fdm/Creality.CR-30.json diff --git a/src/kiri-dev/fdm/Creality.Ender.3 b/src/kiri-dev/fdm/Creality.Ender.3.json similarity index 100% rename from src/kiri-dev/fdm/Creality.Ender.3 rename to src/kiri-dev/fdm/Creality.Ender.3.json diff --git a/src/kiri-dev/fdm/Creality.Ender.5 b/src/kiri-dev/fdm/Creality.Ender.5.json similarity index 100% rename from src/kiri-dev/fdm/Creality.Ender.5 rename to src/kiri-dev/fdm/Creality.Ender.5.json diff --git a/src/kiri-dev/fdm/Creality.Ender.6 b/src/kiri-dev/fdm/Creality.Ender.6.json similarity index 100% rename from src/kiri-dev/fdm/Creality.Ender.6 rename to src/kiri-dev/fdm/Creality.Ender.6.json diff --git a/src/kiri-dev/fdm/Creality.K1 b/src/kiri-dev/fdm/Creality.K1.json similarity index 100% rename from src/kiri-dev/fdm/Creality.K1 rename to src/kiri-dev/fdm/Creality.K1.json diff --git a/src/kiri-dev/fdm/Creality.Sermoon.D1 b/src/kiri-dev/fdm/Creality.Sermoon.D1.json similarity index 100% rename from src/kiri-dev/fdm/Creality.Sermoon.D1 rename to src/kiri-dev/fdm/Creality.Sermoon.D1.json diff --git a/src/kiri-dev/fdm/Cubicon.Single+ b/src/kiri-dev/fdm/Cubicon.Single+.json similarity index 100% rename from src/kiri-dev/fdm/Cubicon.Single+ rename to src/kiri-dev/fdm/Cubicon.Single+.json diff --git a/src/kiri-dev/fdm/Cubicon.Style b/src/kiri-dev/fdm/Cubicon.Style.json similarity index 100% rename from src/kiri-dev/fdm/Cubicon.Style rename to src/kiri-dev/fdm/Cubicon.Style.json diff --git a/src/kiri-dev/fdm/Dagoma.Disco.Ult.V2 b/src/kiri-dev/fdm/Dagoma.Disco.Ult.V2.json similarity index 100% rename from src/kiri-dev/fdm/Dagoma.Disco.Ult.V2 rename to src/kiri-dev/fdm/Dagoma.Disco.Ult.V2.json diff --git a/src/kiri-dev/fdm/DeltaMaker.2T b/src/kiri-dev/fdm/DeltaMaker.2T.json similarity index 100% rename from src/kiri-dev/fdm/DeltaMaker.2T rename to src/kiri-dev/fdm/DeltaMaker.2T.json diff --git a/src/kiri-dev/fdm/DeltaMaker.Original b/src/kiri-dev/fdm/DeltaMaker.Original.json similarity index 100% rename from src/kiri-dev/fdm/DeltaMaker.Original rename to src/kiri-dev/fdm/DeltaMaker.Original.json diff --git a/src/kiri-dev/fdm/FLSUN.QQ-S b/src/kiri-dev/fdm/FLSUN.QQ-S.json similarity index 100% rename from src/kiri-dev/fdm/FLSUN.QQ-S rename to src/kiri-dev/fdm/FLSUN.QQ-S.json diff --git a/src/kiri-dev/fdm/Flashforge.Finder b/src/kiri-dev/fdm/Flashforge.Finder.json similarity index 100% rename from src/kiri-dev/fdm/Flashforge.Finder rename to src/kiri-dev/fdm/Flashforge.Finder.json diff --git a/src/kiri-dev/fdm/Flashforge.Guider.II b/src/kiri-dev/fdm/Flashforge.Guider.II.json similarity index 100% rename from src/kiri-dev/fdm/Flashforge.Guider.II rename to src/kiri-dev/fdm/Flashforge.Guider.II.json diff --git a/src/kiri-dev/fdm/FolgerTech.FT5 b/src/kiri-dev/fdm/FolgerTech.FT5.json similarity index 100% rename from src/kiri-dev/fdm/FolgerTech.FT5 rename to src/kiri-dev/fdm/FolgerTech.FT5.json diff --git a/src/kiri-dev/fdm/GridBot.One b/src/kiri-dev/fdm/GridBot.One.json similarity index 100% rename from src/kiri-dev/fdm/GridBot.One rename to src/kiri-dev/fdm/GridBot.One.json diff --git a/src/kiri-dev/fdm/Gridbot.Two b/src/kiri-dev/fdm/Gridbot.Two new file mode 100644 index 00000000..21ccb365 --- /dev/null +++ b/src/kiri-dev/fdm/Gridbot.Two @@ -0,0 +1,43 @@ +{ + "pre":[ + "M117 Heating ; announce heating", + "M107 ; turn off filament cooling fan", + "M104 S{temp} T0 ; set extruder temperature", + "M140 S{bed_temp} T0 ; set bed temperature", + "G90 ; set absolute positioning mode", + "M83 ; set relative positioning for extruder", + "G28 ; home axes", + "G1 F3000 ; set default move speed", + "M190 S{bed_temp} T0 ; wait for bed to reach target temp", + "M109 S{temp} T0 ; wait for extruder to reach target temp", + "M117 Purge ; announce purge", + "G92 E0 ; set extruder position to 0", + "G1 E20 F250 ; purge 20mm from extruder", + "G1 X0 Y0 Z0 E1 F3000 ; move to origin / wipe", + "M117 Start Print ; announce start of print" + ], + "post":[ + "M117 Done ; announce done", + "M107 ; turn off filament cooling fan", + "M104 S0 T0 ; turn off extruder", + "M140 S0 T0 ; turn off bed", + "G91 ; relative movement", + "G1 Z10 F1200 ; drop bed 10mm", + "G90 ; absolute positioning", + "G28 X0 Y0 ; home XY axes", + "M84 ; disable stepper motors" + ], + "cmd":{ + "fan_power": "M106 S{fan_speed}", + "progress": "M117 {progress}% layer {layer} / {layers}" + }, + "settings":{ + "image_url": "/decal/gridbot.png", + "image_anchor": 0, + "image_scale": 1, + "origin_center": false, + "bed_width": 300, + "bed_depth": 300, + "build_height": 300 + } +} diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4.json similarity index 100% rename from src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4 rename to src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4.json diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4.json similarity index 100% rename from src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4 rename to src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4.json diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4.json similarity index 100% rename from src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4 rename to src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4.json diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4.json similarity index 100% rename from src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4 rename to src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4.json diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6.json similarity index 100% rename from src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6 rename to src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6.json diff --git a/src/kiri-dev/fdm/Leapfrog.CreatrHS b/src/kiri-dev/fdm/Leapfrog.CreatrHS.json similarity index 100% rename from src/kiri-dev/fdm/Leapfrog.CreatrHS rename to src/kiri-dev/fdm/Leapfrog.CreatrHS.json diff --git a/src/kiri-dev/fdm/MakerGear.M2 b/src/kiri-dev/fdm/MakerGear.M2.json similarity index 100% rename from src/kiri-dev/fdm/MakerGear.M2 rename to src/kiri-dev/fdm/MakerGear.M2.json diff --git a/src/kiri-dev/fdm/Makerbot.Replicator2 b/src/kiri-dev/fdm/Makerbot.Replicator2.json similarity index 100% rename from src/kiri-dev/fdm/Makerbot.Replicator2 rename to src/kiri-dev/fdm/Makerbot.Replicator2.json diff --git a/src/kiri-dev/fdm/Prusa.i3.MK2S b/src/kiri-dev/fdm/Prusa.i3.MK2S.json similarity index 100% rename from src/kiri-dev/fdm/Prusa.i3.MK2S rename to src/kiri-dev/fdm/Prusa.i3.MK2S.json diff --git a/src/kiri-dev/fdm/Prusa.i3.MK3S+ b/src/kiri-dev/fdm/Prusa.i3.MK3S+.json similarity index 100% rename from src/kiri-dev/fdm/Prusa.i3.MK3S+ rename to src/kiri-dev/fdm/Prusa.i3.MK3S+.json diff --git a/src/kiri-dev/fdm/Prusa.mini b/src/kiri-dev/fdm/Prusa.mini.json similarity index 100% rename from src/kiri-dev/fdm/Prusa.mini rename to src/kiri-dev/fdm/Prusa.mini.json diff --git a/src/kiri-dev/fdm/Raise3D.N2 b/src/kiri-dev/fdm/Raise3D.N2.json similarity index 100% rename from src/kiri-dev/fdm/Raise3D.N2 rename to src/kiri-dev/fdm/Raise3D.N2.json diff --git a/src/kiri-dev/fdm/Rolohaun.Rook.MK1.LDO b/src/kiri-dev/fdm/Rolohaun.Rook.MK1.LDO.json similarity index 100% rename from src/kiri-dev/fdm/Rolohaun.Rook.MK1.LDO rename to src/kiri-dev/fdm/Rolohaun.Rook.MK1.LDO.json diff --git a/src/kiri-dev/fdm/SainSmart.Infi-20 b/src/kiri-dev/fdm/SainSmart.Infi-20.json similarity index 100% rename from src/kiri-dev/fdm/SainSmart.Infi-20 rename to src/kiri-dev/fdm/SainSmart.Infi-20.json diff --git a/src/kiri-dev/fdm/Snapmaker.Original b/src/kiri-dev/fdm/Snapmaker.Original.json similarity index 100% rename from src/kiri-dev/fdm/Snapmaker.Original rename to src/kiri-dev/fdm/Snapmaker.Original.json diff --git a/src/kiri-dev/fdm/Tina2.Basic b/src/kiri-dev/fdm/Tina2.Basic.json similarity index 100% rename from src/kiri-dev/fdm/Tina2.Basic rename to src/kiri-dev/fdm/Tina2.Basic.json diff --git a/src/kiri-dev/fdm/TypeA.Series1 b/src/kiri-dev/fdm/TypeA.Series1.json similarity index 100% rename from src/kiri-dev/fdm/TypeA.Series1 rename to src/kiri-dev/fdm/TypeA.Series1.json diff --git a/src/kiri-dev/fdm/TypeA.Series1Pro b/src/kiri-dev/fdm/TypeA.Series1Pro.json similarity index 100% rename from src/kiri-dev/fdm/TypeA.Series1Pro rename to src/kiri-dev/fdm/TypeA.Series1Pro.json diff --git a/src/kiri-dev/fdm/ULIO.3D.BRIX b/src/kiri-dev/fdm/ULIO.3D.BRIX.json similarity index 100% rename from src/kiri-dev/fdm/ULIO.3D.BRIX rename to src/kiri-dev/fdm/ULIO.3D.BRIX.json diff --git a/src/kiri-dev/fdm/ULIO.3D.STEAM b/src/kiri-dev/fdm/ULIO.3D.STEAM.json similarity index 100% rename from src/kiri-dev/fdm/ULIO.3D.STEAM rename to src/kiri-dev/fdm/ULIO.3D.STEAM.json diff --git a/src/kiri-dev/fdm/Ultimaker.Ultimaker2 b/src/kiri-dev/fdm/Ultimaker.Ultimaker2.json similarity index 100% rename from src/kiri-dev/fdm/Ultimaker.Ultimaker2 rename to src/kiri-dev/fdm/Ultimaker.Ultimaker2.json diff --git a/src/kiri-dev/fdm/Wanhao.Duplicator_4s b/src/kiri-dev/fdm/Wanhao.Duplicator_4s.json similarity index 100% rename from src/kiri-dev/fdm/Wanhao.Duplicator_4s rename to src/kiri-dev/fdm/Wanhao.Duplicator_4s.json diff --git a/src/kiri-dev/fdm/Wanhao.Duplicator_5s b/src/kiri-dev/fdm/Wanhao.Duplicator_5s.json similarity index 100% rename from src/kiri-dev/fdm/Wanhao.Duplicator_5s rename to src/kiri-dev/fdm/Wanhao.Duplicator_5s.json diff --git a/src/kiri-dev/fdm/Wanhao.Duplicator_6 b/src/kiri-dev/fdm/Wanhao.Duplicator_6.json similarity index 100% rename from src/kiri-dev/fdm/Wanhao.Duplicator_6 rename to src/kiri-dev/fdm/Wanhao.Duplicator_6.json diff --git a/src/kiri-dev/fdm/Wanhao.Duplicator_i3 b/src/kiri-dev/fdm/Wanhao.Duplicator_i3.json similarity index 100% rename from src/kiri-dev/fdm/Wanhao.Duplicator_i3 rename to src/kiri-dev/fdm/Wanhao.Duplicator_i3.json diff --git a/src/kiri-dev/fdm/XYZ.daVinci.Jr.Pro b/src/kiri-dev/fdm/XYZ.daVinci.Jr.Pro.json similarity index 100% rename from src/kiri-dev/fdm/XYZ.daVinci.Jr.Pro rename to src/kiri-dev/fdm/XYZ.daVinci.Jr.Pro.json diff --git a/src/kiri-dev/fdm/XYZ.daVinci.Mini.w b/src/kiri-dev/fdm/XYZ.daVinci.Mini.w.json similarity index 100% rename from src/kiri-dev/fdm/XYZ.daVinci.Mini.w rename to src/kiri-dev/fdm/XYZ.daVinci.Mini.w.json diff --git a/src/kiri-dev/laser/Any.Generic.Laser b/src/kiri-dev/laser/Any.Generic.Laser.json similarity index 100% rename from src/kiri-dev/laser/Any.Generic.Laser rename to src/kiri-dev/laser/Any.Generic.Laser.json diff --git a/src/kiri-dev/laser/Glowforge b/src/kiri-dev/laser/Glowforge.json similarity index 100% rename from src/kiri-dev/laser/Glowforge rename to src/kiri-dev/laser/Glowforge.json diff --git a/src/kiri-dev/laser/Snapmaker.A250T b/src/kiri-dev/laser/Snapmaker.A250T.json similarity index 100% rename from src/kiri-dev/laser/Snapmaker.A250T rename to src/kiri-dev/laser/Snapmaker.A250T.json diff --git a/src/kiri-dev/laser/Snapmaker.A350T b/src/kiri-dev/laser/Snapmaker.A350T.json similarity index 100% rename from src/kiri-dev/laser/Snapmaker.A350T rename to src/kiri-dev/laser/Snapmaker.A350T.json diff --git a/src/kiri-dev/laser/Snapmaker.Original b/src/kiri-dev/laser/Snapmaker.Original.json similarity index 100% rename from src/kiri-dev/laser/Snapmaker.Original rename to src/kiri-dev/laser/Snapmaker.Original.json diff --git a/src/kiri-dev/laser/Xtool.P2 b/src/kiri-dev/laser/Xtool.P2.json similarity index 100% rename from src/kiri-dev/laser/Xtool.P2 rename to src/kiri-dev/laser/Xtool.P2.json diff --git a/src/kiri-dev/laser/xTool.D1 b/src/kiri-dev/laser/xTool.D1.json similarity index 100% rename from src/kiri-dev/laser/xTool.D1 rename to src/kiri-dev/laser/xTool.D1.json diff --git a/src/kiri-dev/laser/xTool.F1.Ultra b/src/kiri-dev/laser/xTool.F1.Ultra.json similarity index 100% rename from src/kiri-dev/laser/xTool.F1.Ultra rename to src/kiri-dev/laser/xTool.F1.Ultra.json diff --git a/src/kiri-dev/laser/xTool.F1 b/src/kiri-dev/laser/xTool.F1.json similarity index 100% rename from src/kiri-dev/laser/xTool.F1 rename to src/kiri-dev/laser/xTool.F1.json diff --git a/src/kiri-dev/laser/xTool.M1 b/src/kiri-dev/laser/xTool.M1.json similarity index 100% rename from src/kiri-dev/laser/xTool.M1 rename to src/kiri-dev/laser/xTool.M1.json diff --git a/src/kiri-dev/laser/xTool.P2S b/src/kiri-dev/laser/xTool.P2S.json similarity index 100% rename from src/kiri-dev/laser/xTool.P2S rename to src/kiri-dev/laser/xTool.P2S.json diff --git a/src/kiri-dev/laser/xTool.S1 b/src/kiri-dev/laser/xTool.S1.json similarity index 100% rename from src/kiri-dev/laser/xTool.S1 rename to src/kiri-dev/laser/xTool.S1.json diff --git a/src/kiri-dev/sla/Anycubic.Photon.S b/src/kiri-dev/sla/Anycubic.Photon.S.json similarity index 100% rename from src/kiri-dev/sla/Anycubic.Photon.S rename to src/kiri-dev/sla/Anycubic.Photon.S.json diff --git a/src/kiri-dev/sla/Anycubic.Photon b/src/kiri-dev/sla/Anycubic.Photon.json similarity index 100% rename from src/kiri-dev/sla/Anycubic.Photon rename to src/kiri-dev/sla/Anycubic.Photon.json diff --git a/src/kiri-dev/sla/Creality.Halot.Max b/src/kiri-dev/sla/Creality.Halot.Max.json similarity index 100% rename from src/kiri-dev/sla/Creality.Halot.Max rename to src/kiri-dev/sla/Creality.Halot.Max.json diff --git a/src/kiri-dev/sla/Creality.Halot.One b/src/kiri-dev/sla/Creality.Halot.One.json similarity index 100% rename from src/kiri-dev/sla/Creality.Halot.One rename to src/kiri-dev/sla/Creality.Halot.One.json diff --git a/src/kiri-dev/sla/Creality.Halot.Sky b/src/kiri-dev/sla/Creality.Halot.Sky.json similarity index 100% rename from src/kiri-dev/sla/Creality.Halot.Sky rename to src/kiri-dev/sla/Creality.Halot.Sky.json diff --git a/src/kiri-dev/wedm/Any.Generic.WireEDM b/src/kiri-dev/wedm/Any.Generic.WireEDM.json similarity index 100% rename from src/kiri-dev/wedm/Any.Generic.WireEDM rename to src/kiri-dev/wedm/Any.Generic.WireEDM.json diff --git a/src/kiri-dev/wedm/RackRobo.Betta.Wire.V1 b/src/kiri-dev/wedm/RackRobo.Betta.Wire.V1.json similarity index 100% rename from src/kiri-dev/wedm/RackRobo.Betta.Wire.V1 rename to src/kiri-dev/wedm/RackRobo.Betta.Wire.V1.json diff --git a/src/kiri-dev/wjet/Any.Generic.WaterJet b/src/kiri-dev/wjet/Any.Generic.WaterJet.json similarity index 100% rename from src/kiri-dev/wjet/Any.Generic.WaterJet rename to src/kiri-dev/wjet/Any.Generic.WaterJet.json diff --git a/src/kiri-dev/wjet/HydroBLADE b/src/kiri-dev/wjet/HydroBLADE.json similarity index 100% rename from src/kiri-dev/wjet/HydroBLADE rename to src/kiri-dev/wjet/HydroBLADE.json From 200a8b38e72aee7132dbd7e9d867a68def625d68 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Mon, 12 May 2025 12:45:18 -0600 Subject: [PATCH 03/22] add gridbot 2 --- src/kiri-dev/fdm/GridBot.Two | 1 - src/kiri-dev/fdm/{Gridbot.Two => GridBot.Two.json} | 0 2 files changed, 1 deletion(-) delete mode 120000 src/kiri-dev/fdm/GridBot.Two rename src/kiri-dev/fdm/{Gridbot.Two => GridBot.Two.json} (100%) diff --git a/src/kiri-dev/fdm/GridBot.Two b/src/kiri-dev/fdm/GridBot.Two deleted file mode 120000 index b188c4a2..00000000 --- a/src/kiri-dev/fdm/GridBot.Two +++ /dev/null @@ -1 +0,0 @@ -GridBot.One \ No newline at end of file diff --git a/src/kiri-dev/fdm/Gridbot.Two b/src/kiri-dev/fdm/GridBot.Two.json similarity index 100% rename from src/kiri-dev/fdm/Gridbot.Two rename to src/kiri-dev/fdm/GridBot.Two.json From acdff1019e12bbff75ce005a9315c6f427b65b56 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Mon, 12 May 2025 12:45:47 -0600 Subject: [PATCH 04/22] update links --- links.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/links.csv b/links.csv index c284bce1..166efd31 100644 --- a/links.csv +++ b/links.csv @@ -5,7 +5,7 @@ src/ext/earcut.js,../../node_modules/earcut/src/earcut.js src/ext/tween.js,../../node_modules/@tweenjs/tween.js/src/Tween.js src/ext/jszip.js,../../node_modules/jszip/dist/jszip.js src/wasm/manifold.wasm,../../node_modules/manifold-3d/manifold.wasm -src/kiri-dev/fdm/GridBot.Two,GridBot.One +src/kiri-dev/fdm/GridBot.Two.json,GridBot.One.json src/kiri/lang-en.js,../../web/kiri/lang/en.js web/fon2,../node_modules/bootstrap-icons/font/ web/kiri/lang/pl.js,pl-pl.js From 4ff44e84f5950c8a3640103301ec4c466042d583 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Mon, 12 May 2025 12:46:19 -0600 Subject: [PATCH 05/22] remove file extention from device names --- app.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index c40b3c7b..b42b158f 100644 --- a/app.js +++ b/app.js @@ -668,7 +668,10 @@ function generateDevices() { fs.readdirSync(root).forEach(type => { let map = devs[type] = devs[type] || {}; fs.readdirSync(PATH.join(root,type)).forEach(device => { - map[device] = JSON.parse(fs.readFileSync(PATH.join(root,type,device))); + let deviceName = device.endsWith('.json') + ? device.substring(0,device.length-5) + : device; + map[deviceName] = JSON.parse(fs.readFileSync(PATH.join(root,type,device))); }); }); synth.devices = `self.devices = ${JSON.stringify(devs)};`; From 80d49d8997fe10aa37fee40928b778d85b9033be Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Mon, 12 May 2025 12:46:46 -0600 Subject: [PATCH 06/22] remove file extention from device names --- app.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index c40b3c7b..b42b158f 100644 --- a/app.js +++ b/app.js @@ -668,7 +668,10 @@ function generateDevices() { fs.readdirSync(root).forEach(type => { let map = devs[type] = devs[type] || {}; fs.readdirSync(PATH.join(root,type)).forEach(device => { - map[device] = JSON.parse(fs.readFileSync(PATH.join(root,type,device))); + let deviceName = device.endsWith('.json') + ? device.substring(0,device.length-5) + : device; + map[deviceName] = JSON.parse(fs.readFileSync(PATH.join(root,type,device))); }); }); synth.devices = `self.devices = ${JSON.stringify(devs)};`; From 820da24e60ead151f7e5f9552fbcbaa11bb82ecd Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Tue, 13 May 2025 12:54:13 -0600 Subject: [PATCH 07/22] add second example and example selector --- web/kiri/engine.html | 142 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 131 insertions(+), 11 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index 1825bbe5..c0841016 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -23,6 +23,14 @@ display: flex; flex-direction: row; } + + #loadExample #examples { + display:flex; + flex-direction: row; + } + #loadExample #examples button { + margin-right: 1rem; + } #jcode, #gcode { width: 400px; height: 400px; @@ -64,7 +72,7 @@ padding: 3px; text-align: center; } - #api { + #api, #loadExample { width: 812px; } #download { @@ -84,7 +92,6 @@ let edit, saveit = ""; function $(id) { return document.getElementById(id) } function onload() { - let fnstr = demo.toString().split("\n"); edit = ace.edit($("jbody"), { mode: "ace/mode/javascript", theme: "ace/theme/chrome", @@ -92,10 +99,7 @@ }); edit.session.setTabSize(4); edit.session.setUseSoftTabs(true); - edit.session.setValue(fnstr - .slice(1,fnstr.length - 1) - .map(l => l.replace(" ","")) - .join('\n')); + let FDMExample = loadExample(demoFDM) } function display_message(msg) { $('gfoot').innerText = msg ? Object.keys(msg).join(' - ') : ''; @@ -106,21 +110,27 @@ $('dfoot').style.display = 'block'; $('gfoot').style.display = ''; } + function loadExample(func){ + let fnstr = func.toString().split("\n"); + edit.session.setValue( + fnstr + .slice(1,fnstr.length - 1) + .map(l => l.replace(" ","")) + .join('\n') + ) + } function run_code() { $('dfoot').style.display = 'none'; $('gfoot').style.display = 'block'; let code = edit.session.getValue(); eval(`(function(){${code}})()`); } - function demo() { + function demoFDM() { kiri.newEngine() .setListener(display_message) .load("/obj/cube.stl") .then(eng => eng.setProcess({ - sliceShells: 1, - sliceFillSparse: 0.25, - sliceTopLayers: 2, - sliceBottomLayers: 2 + })) .then(eng => eng.setDevice({ gcodePre: [ "M82", "M104 S220" ], @@ -131,6 +141,107 @@ .then(eng => eng.export()) .then(display_gcode); } + + function demoCAM(){ + kiri.newEngine() + .setListener(display_message) + .load("/obj/cube.stl") + .then(eng => eng.setMode("CAM")) + .then(eng => eng.setStock({ + "x": 110.00001525878906, + "y": 60, + "z": 60, + "center": { + "x": 0, + "y": 0, + "z": 12.5 + } + })) + .then(eng=> eng.setTools([ + { + "id": 1000, + "number": 1, + "type": "endmill", + "name": "end 1/4", + "metric": false, + "shaft_diam": 0.25, + "shaft_len": 1, + "flute_diam": 0.25, + "flute_len": 2, + "taper_tip": 0, + "order": 5 + } + + ])) + .then(eng => eng.setProcess({ + camEaseAngle:10, + camEaseDown:true, + ops:[ + { + "type":"outline", + "tool":1000, + "spindle":15000, + "step":0.4, + "steps":1, + "down":1, + "rate":2500, + "plunge":150, + "dogbones":false, + "omitvoid":false, + "omitthru":false, + "outside":false, + "inside":false, + "wide":false, + "top":false, + }, + ] + + })) + .then(eng => eng.setDevice({ + "mode": "CAM", + "internal": 0, + "bedHeight": 2.5, + "bedWidth": 678.18, + "bedDepth": 1524, + "maxHeight": 150, + "originCenter": false, + "spindleMax": 24000, + "gcodePre": [ + "G20 ; set units to inches (required)", + "G90 ; absolute position mode (required)" + ], + "gcodePost": [ + "M05 ; spindle off", + "M30 ; program end" + ], + "gcodeDwell": [ + "G4 P{time} ; dwell for {time}ms" + ], + "gcodeSpindle": [ + "M3 S{speed} ; spindle on at {spindle} rpm" + ], + "gcodeChange": [ + "M05 ; spindle off", + "M6 T{tool} ; change tool to '{tool_name}'", + "G37; get tool offset with ETS" + ], + "gcodeFExt": "nc", + "gcodeSpace": true, + "gcodeStrip": false, + "deviceName": "Tormach.24R", + "imageURL": "", + "useLaser": false + })) + .then(eng => eng.slice()) + .then(eng => eng.prepare()) + .then(eng => eng.export()) + .then(display_gcode); + } + + function demoLASER(){ + + } + function download() { let blob = new Blob([saveit], {type: "octet/stream"}); let url = window.URL.createObjectURL(blob); @@ -154,6 +265,13 @@
+
+

Load Examples

+
+ + +
+

Engine Methods

  • - where URL points to an STL
  • @@ -162,6 +280,8 @@
  • - function to receive engine progress messages
  • - change default object parameters
  • - change default process parameters
  • +
  • - set stock dimensions for CAM mode
  • +
  • - set available tools for CAM operations
  • - absolute move origin of loaded object
  • - relative move origin of loaded object
  • - scale axes of loaded object
  • From 9707283cd89fa0c968ba2ae0170142aa5b6ece63 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 09:52:37 -0600 Subject: [PATCH 08/22] fix printpoint bug --- src/kiri-mode/cam/ops.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index a209bffe..e87fb5e4 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -703,6 +703,11 @@ class OpOutline extends CamOp { cutdir = !cutdir; } + // printpoint becomes NaN in engine mode. not sure why but this fixes it + if(Object.values(printPoint).some(v=>Number.isNaN(v))){ + printPoint = newPoint(0,0,0); + } + for (let slice of sliceOut) { let polys = [], t = [], c = []; let lines =POLY.flatten(slice.camLines) From bcb87e17f75d8f91bfdd5ef9e08c48eaa97f786b Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 09:53:21 -0600 Subject: [PATCH 09/22] forther specify process settings --- web/kiri/engine.html | 58 ++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index c0841016..c9e78787 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -146,15 +146,16 @@ kiri.newEngine() .setListener(display_message) .load("/obj/cube.stl") + // should to call widget.setTopZ here ideally .then(eng => eng.setMode("CAM")) .then(eng => eng.setStock({ - "x": 110.00001525878906, - "y": 60, - "z": 60, + "x": 25, + "y": 25, + "z": 24.999998092651367, "center": { "x": 0, "y": 0, - "z": 12.5 + "z": 12.499999046325684 } })) .then(eng=> eng.setTools([ @@ -176,24 +177,35 @@ .then(eng => eng.setProcess({ camEaseAngle:10, camEaseDown:true, - ops:[ - { - "type":"outline", - "tool":1000, - "spindle":15000, - "step":0.4, - "steps":1, - "down":1, - "rate":2500, - "plunge":150, - "dogbones":false, - "omitvoid":false, - "omitthru":false, - "outside":false, - "inside":false, - "wide":false, - "top":false, - }, + camZAnchor: "bottom", + camDepthFirst : false, + camZThru: 1.524, + camZBottom:-25, // temp hack to get around setTopZ bug + origin: { + "x": -12.5, + "y": 12.5, + "z": 25.00999809265137 + }, + ops:[{ + "type": "outline", + "tool": 1000, + "spindle": 13000, + "step": 0.4, + "steps": 1, + "down": 5.08, + "rate": 635, + "plunge": 51, + "dogbones": false, + "omitvoid": false, + "omitthru": false, + "outside": false, + "inside": false, + "wide": false, + "top": false, + "ov_topz": 0, + "ov_botz": 0, + "ov_conv": true + } ] })) @@ -239,7 +251,7 @@ } function demoLASER(){ - + } function download() { From 091805eb4c343d0c4e429a7bc4720fab38c804e8 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 11:23:13 -0600 Subject: [PATCH 10/22] comment out console log --- src/kiri/export.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kiri/export.js b/src/kiri/export.js index cc546983..f217f5f7 100644 --- a/src/kiri/export.js +++ b/src/kiri/export.js @@ -76,8 +76,10 @@ function callExport(callback, mode, names) { function callExportLaser(options, names) { kiri.client.export(api.conf.get(), (line) => { - console.log({unexpected_line: line}); + // engine export uses lines + // console.log({unexpected_line: line}); }, (output, error) => { + // UI export uses output if (error) { api.show.alert(error, 5); } else { From 20d7a26206c66df0fd7bbf5bcc4c7ca994befd29 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 11:37:40 -0600 Subject: [PATCH 11/22] add vector exports to worker --- src/kiri-run/worker.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/kiri-run/worker.js b/src/kiri-run/worker.js index 551a5ee7..bcb463e4 100644 --- a/src/kiri-run/worker.js +++ b/src/kiri-run/worker.js @@ -493,6 +493,23 @@ kiri.worker = { }, function(debug) { send.data({debug}); }); + + //export in different modes, based on device type + if(mode.toUpperCase() === "LASER"){ + let FExt = data.settings.device.gcodeFExt.toUpperCase(); + if(FExt === "DXF"){ + let dxf = driver.exportDXF(data.settings, current.print.output); + send.data({line:dxf}); + }else if(FExt === "SVG"){ + let svg = driver.exportSVG(data.settings, current.print.output); + send.data({line:svg}); + }else{ + //if not svg or dxf, default to gcode + let gcode = driver.exportGCode(data.settings, current.print.output); + send.data({line:gcode}); + } + } + const { bounds, time, From e25a21c4df7e228b5510a334139d6c9581678800 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 11:38:27 -0600 Subject: [PATCH 12/22] add laser demo --- web/kiri/engine.html | 75 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index c9e78787..16aa8d43 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -102,6 +102,7 @@ let FDMExample = loadExample(demoFDM) } function display_message(msg) { + console.log({msg}) $('gfoot').innerText = msg ? Object.keys(msg).join(' - ') : ''; } function display_gcode(gcode) { @@ -251,13 +252,80 @@ } function demoLASER(){ - + kiri.newEngine() + .setListener(display_message) + .load("/obj/cube.stl") + // should to call widget.setTopZ here ideally + .then(eng => eng.setMode("LASER")) + .then(eng => eng.setStock({ + "x": 25, + "y": 25, + "z": 24.999998092651367, + "center": { + "x": 0, + "y": 0, + "z": 12.499999046325684 + } + })) + .then(eng => eng.setProcess({ + "processName": "default", + "ctSliceKerf": 0.1, + "ctSliceHeight": 0.5, + "ctSliceHeightMin": 0, + "ctSliceSingle": false, + "ctOutTileSpacing": 1, + "ctOutPower": 100, + "ctOutSpeed": 1000, + "ctOutGroup": true, + "ctOutZColor": false, + "ctOutLayer": false, + "ctOutMark": false, + "ctOutStack": false, + "ctOutMerged": false, + "ctOriginCenter": false, + "ctOriginBounds": false, + "outputInvertX": false, + "outputInvertY": false, + "ctOutKnifeDepth": 1, + "ctOutKnifePasses": 1, + "ctOutKnifeTip": 2, + "ctOutInches": false, + "ctOutShaper": false + })) + .then(eng => eng.setDevice({ + "mode": "LASER", + "internal": 0, + "bedHeight": 2.5, + "bedWidth": 600, + "bedDepth": 308, + "maxHeight": 150, + "gcodePre": [], + "gcodePost": [], + "gcodeFExt": "svg", + "gcodeSpace": true, + "gcodeLaserOn": [], + "gcodeLaserOff": [], + "new": false, + "deviceName": "Xtool.P2", + "imageURL": "", + "laserMaxPower": 255, + "bedBelt": false, + "bedRound": false, + "originCenter": false, + "fwRetract": false + })) + .then(eng => eng.slice()) + .then(eng => eng.prepare()) + .then(eng => eng.export()) + .then(display_gcode); } + function download() { let blob = new Blob([saveit], {type: "octet/stream"}); let url = window.URL.createObjectURL(blob); - $('download').innerHTML = ``; + let filename = window.prompt("Enter filename", "sample.gcode"); + $('download').innerHTML = ``; $('xo').click(); } @@ -271,7 +339,7 @@
    -
    gcode output
    +
    Output
    @@ -282,6 +350,7 @@
    +
    From 0dcc54ade4b437d3838be345ea5432d3d97799ab Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 12:29:45 -0600 Subject: [PATCH 13/22] remove unused setOrigin function --- src/kiri-run/engine.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/kiri-run/engine.js b/src/kiri-run/engine.js index 6a16804b..913035cf 100644 --- a/src/kiri-run/engine.js +++ b/src/kiri-run/engine.js @@ -104,10 +104,6 @@ class Engine { return this; } - setOrigin(x,y,z) { - this.settings.origin = { x, y, z }; - return this; - } moveTo(x, y, z) { this.widget.move(x, y, z, true); From d7e72262e7cd381b7c0cd82317bf2749b43339bd Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 13:12:40 -0600 Subject: [PATCH 14/22] first pass at adding engine documentation --- web/kiri/engine.html | 351 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 286 insertions(+), 65 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index 16aa8d43..5e2f0b42 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -72,7 +72,7 @@ padding: 3px; text-align: center; } - #api, #loadExample { + body div { width: 812px; } #download { @@ -102,7 +102,6 @@ let FDMExample = loadExample(demoFDM) } function display_message(msg) { - console.log({msg}) $('gfoot').innerText = msg ? Object.keys(msg).join(' - ') : ''; } function display_gcode(gcode) { @@ -152,29 +151,27 @@ .then(eng => eng.setStock({ "x": 25, "y": 25, - "z": 24.999998092651367, + "z": 25, "center": { "x": 0, "y": 0, - "z": 12.499999046325684 + "z": 12.5 } })) - .then(eng=> eng.setTools([ - { - "id": 1000, - "number": 1, - "type": "endmill", - "name": "end 1/4", - "metric": false, - "shaft_diam": 0.25, - "shaft_len": 1, - "flute_diam": 0.25, - "flute_len": 2, - "taper_tip": 0, - "order": 5 - } - - ])) + .then(eng => eng.moveTo(50, 0, 0)) + .then(eng=> eng.setTools([{ + id: 1000, + number: 1, + type: "endmill", + name: "end 1/4", + metric: false, + shaft_diam: 0.25, + shaft_len: 1, + flute_diam: 0.25, + flute_len: 2, + taper_tip: 0, + order: 5 + }])) .then(eng => eng.setProcess({ camEaseAngle:10, camEaseDown:true, @@ -182,68 +179,64 @@ camDepthFirst : false, camZThru: 1.524, camZBottom:-25, // temp hack to get around setTopZ bug - origin: { - "x": -12.5, - "y": 12.5, - "z": 25.00999809265137 - }, - ops:[{ - "type": "outline", - "tool": 1000, - "spindle": 13000, - "step": 0.4, - "steps": 1, - "down": 5.08, - "rate": 635, - "plunge": 51, - "dogbones": false, - "omitvoid": false, - "omitthru": false, - "outside": false, - "inside": false, - "wide": false, - "top": false, - "ov_topz": 0, - "ov_botz": 0, - "ov_conv": true + camToolInit: true, + + ops: [{ + type: "outline", + tool: 1000, + spindle: 13000, + step: 0.4, + steps: 1, + down: 5.08, + rate: 635, + plunge: 51, + dogbones: false, + omitvoid: false, + omitthru: false, + outside: false, + inside: false, + wide: false, + top: false, + ov_topz: 0, + ov_botz: 0, + ov_conv: true } ] })) .then(eng => eng.setDevice({ - "mode": "CAM", - "internal": 0, - "bedHeight": 2.5, - "bedWidth": 678.18, - "bedDepth": 1524, - "maxHeight": 150, - "originCenter": false, - "spindleMax": 24000, - "gcodePre": [ + mode: "CAM", + internal: 0, + bedHeight: 2.5, + bedWidth: 678.18, + bedDepth: 1524, + maxHeight: 150, + originCenter: false, + spindleMax: 24000, + gcodePre: [ "G20 ; set units to inches (required)", "G90 ; absolute position mode (required)" ], - "gcodePost": [ + gcodePost: [ "M05 ; spindle off", "M30 ; program end" ], - "gcodeDwell": [ + gcodeDwell: [ "G4 P{time} ; dwell for {time}ms" ], - "gcodeSpindle": [ + gcodeSpindle: [ "M3 S{speed} ; spindle on at {spindle} rpm" ], - "gcodeChange": [ + gcodeChange: [ "M05 ; spindle off", "M6 T{tool} ; change tool to '{tool_name}'", "G37; get tool offset with ETS" ], - "gcodeFExt": "nc", - "gcodeSpace": true, - "gcodeStrip": false, - "deviceName": "Tormach.24R", - "imageURL": "", - "useLaser": false + gcodeFExt: "nc", + gcodeSpace: true, + gcodeStrip: false, + deviceName: "Tormach.24R", + useLaser: false })) .then(eng => eng.slice()) .then(eng => eng.prepare()) @@ -334,7 +327,7 @@

    Kiri:Moto Javascript Engine API

    -
    javascript
    +
    JavaScript
    @@ -357,7 +350,7 @@

    Engine Methods

  • - where URL points to an STL
  • - where data is a string or binary STL
  • -
  • - FDM, CAM, LASER, SLA
  • +
  • - FDM, CAM, LASER, SLA (untested)
  • - function to receive engine progress messages
  • - change default object parameters
  • - change default process parameters
  • @@ -371,6 +364,234 @@
  • - async path routing of slice data
  • - async gcode generation from path routing
  • + +
    +

    Device Options

    + +
    + +
    +

    Tool Options

    +

    + Tool options are only relevant for CAM mode. If you aren't using CAM mode, this section can be ignored.
    + Each CAM Operation has a tool parameter, which is a + refrence to a tool ID in the tool list (not to be confused with the tool number). + + the setTools function accepts an array of objects with the following parameters: + + + + + + + + + + + + + + + + + + + + + +
    ParameterDefault Value
    id1000
    number1
    type"endmill"
    name"end 1/4"
    metricfalse
    shaft_diam0.25
    shaft_len1
    flute_diam0.25
    flute_len2
    taper_tip0
    order5
    + +

    +
    + +
    +

    Process Options

    +

    + The process options for a given mode determine the global parameters for how an object is processed. + Some process options are mode-specific, and some are shared between modes. +

    + +
    +

    Global

    + +
    + +
    +

    FDM

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDefault ValueParam TypeShort Description
    processNamedefaultstringName of the slicing process profile
    sliceAngle45numberAngle of slicing fill pattern (degrees)
    sliceHeight0.25numberLayer height in millimeters
    sliceShells3numberNumber of perimeter shells
    sliceShellOrderin-outstringShell printing order (e.g., inside-out)
    sliceLayerStartlaststringStarting layer for slicing
    sliceLayerStartX0numberX offset for slice start
    sliceLayerStartY0numberY offset for slice start
    sliceLineWidth0numberLine width for slicing (0 = auto)
    sliceFillGrow0numberOffset to expand fill area
    sliceFillAngle45numberFill pattern angle (degrees)
    sliceFillWidth1numberWidth of fill lines
    sliceFillOverlap0.35numberOverlap ratio of fill to shells
    sliceFillSparse0.25numberFill sparsity (density fraction)
    sliceFillRepeat1numberNumber of fill pattern repetitions
    sliceFillRate0numberFill print speed multiplier (0 = default)
    sliceSolidRate0numberSolid fill print speed multiplier
    sliceFillTypehexstringType of fill pattern
    sliceSupportDensity0.1numberDensity of support material
    sliceSupportOffset1numberDistance between support and model
    sliceSupportGap1numberGap between supports
    sliceSupportSize5numberSize of support elements
    sliceSupportArea0.1numberMinimum area for support generation
    sliceSupportSpan5numberSpan length for supports
    sliceSupportGrow0numberExtra growth around supports
    sliceSupportExtra0numberAdditional support material (unclear)
    sliceSupportAngle50numberMax overhang angle for supports (degrees)
    sliceSupportNozzle0numberNozzle index for support extrusion
    sliceSupportEnablefalseboolEnable or disable support generation
    sliceSupportOutlinetrueboolPrint outline for supports
    sliceZInterleavefalseboolInterleave support layers in Z
    sliceSolidMinArea1numberMinimum area to treat as solid
    sliceBottomLayers3numberNumber of solid bottom layers
    sliceTopLayers3numberNumber of solid top layers
    firstSliceHeight0.25numberHeight of first layer
    firstLayerRate30numberFirst layer print speed
    firstLayerFillRate35numberFirst layer fill print speed
    firstLayerPrintMult1numberMultiplier for first layer print speed
    firstLayerLineMult1numberMultiplier for first layer line width
    firstLayerYOffset0numberY offset for first layer
    firstLayerNozzleTemp0numberFirst layer nozzle temperature (°C)
    firstLayerBedTemp0numberFirst layer bed temperature (°C)
    firstLayerBrim0numberNumber of brim lines
    firstLayerBrimIn0numberBrim inset (distance)
    firstLayerBrimTrig0numberBrim trigger flag (unclear)
    firstLayerBrimGap0numberGap between brim and model
    firstLayerBeltLead3numberBelt lead distance (unclear, likely for bed movement)
    firstLayerBeltBump0numberBelt bump parameter (unclear)
    firstLayerFanSpeed0numberFan speed during first layer (0-255)
    firstLayerFlatten0numberFlatten first layer flag (unclear)
    outputRaftfalseboolEnable raft printing
    outputRaftSpacing0.2numberSpacing between raft lines
    outputDraftShieldfalseboolEnable draft shield around print
    outputTemp200numberNozzle temperature (°C)
    outputBedTemp60numberBed temperature (°C)
    outputFeedrate50numberPrinting feedrate (mm/s)
    outputFinishrate50numberFinishing move speed (mm/s)
    outputSeekrate80numberSeek (travel) speed (mm/s)
    outputShellMult1.25numberSpeed multiplier for shell printing
    outputFillMult1.25numberSpeed multiplier for infill printing
    outputSparseMult1.25numberSpeed multiplier for sparse infill
    outputFanLayer1numberLayer to start fan
    outputFanSpeed255numberFan speed (0-255)
    outputRetractDist1.5numberRetraction distance (mm)
    outputRetractSpeed40numberRetraction speed (mm/s)
    outputRetractWipe0numberWipe distance during retraction (unclear)
    outputRetractDwell20numberDwell time after retraction (ms)
    outputBrimCount2numberNumber of brim loops
    outputBrimOffset2numberOffset distance for brim
    outputShortPoly100numberMinimum polygon length to consider (units unclear)
    outputMinSpeed10numberMinimum print speed (mm/s)
    outputCoastDist0numberCoasting distance before end of extrusion
    outputPurgeTower0numberEnable/size of purge tower (unclear)
    outputBeltFirstfalseboolUse belt before print (unclear)
    outputAvoidGapstrueboolAvoid gaps in extrusion paths
    outputAlternatingfalseboolAlternate print directions/layers
    outputLayerRetractfalseboolRetract filament at layer changes
    outputLoops0numberNumber of loops to print (unclear)
    outputInvertXfalseboolInvert X axis
    outputInvertYfalseboolInvert Y axis
    sliceDetectThinoffstringEnable thin feature detection
    sliceMinHeight0numberMinimum slice height
    sliceAdaptivefalseboolEnable adaptive slicing
    zHopDistance0.2numberZ-hop height during travel moves
    arcTolerance0numberArc approximation tolerance
    antiBacklash0numberCompensation for backlash
    ranges[]arrayRanges for slicing layers or regions (unclear)
    + + +

    +
    + +
    +

    CAM

    +

    + "processName": "default"
    + "camFlipAxis": "X"
    + "camFlipOther": ""
    + "camLaserEnable":[ "M321" ]
    + "camLaserDisable": ["M322" ]
    + "camLaserOn": ["M3" ]
    + "camLaserOff": ["M5" ]
    + "camLaserSpeed": 100
    + "camLaserPower": 1
    + "camLaserAdaptive": false
    + "camLaserAdaptMod": false
    + "camLaserFlatten": false
    + "camLaserFlatZ": 0
    + "camLaserPowerMin": 0
    + "camLaserPowerMax": 1
    + "camLaserZMin": 0
    + "camLaserZMax": 0
    + "camTabsWidth": 5
    + "camTabsHeight": 5
    + "camTabsDepth": 5
    + "camTabsMidline": false
    + "camDepthFirst": false
    + "camEaseDown": false
    + "camEaseAngle": 10
    + "camOriginTop": true
    + "camZAnchor": "middle"
    + "camZOffset": 0
    + "camZTop": 0
    + "camZBottom": 0
    + "camZClearance": 1
    + "camZThru": 0
    + "camFastFeed": 6000
    + "camFastFeedZ": 300
    + "camFlatness": 0.001
    + "camContourBridge": 0
    + "camStockX": 5
    + "camStockY": 5
    + "camStockZ": 5
    + "camStockOffset": true
    + "camStockClipTo": false
    + "camStockIndexed": false
    + "camStockIndexGrid": true
    + "camIndexAxis": 0
    + "camIndexAbs": true
    + "camConventional": false
    + "camOriginCenter": false
    + "camOriginOffX": 0
    + "camOriginOffY": 0
    + "camOriginOffZ": 0
    + "outputInvertX": false
    + "outputInvertY": false
    + "camExpertFast": false
    + "camTrueShadow": false
    + "camForceZMax": false
    + "camFirstZMax": false
    + "camToolInit": true
    + "camFullEngage": 0.8
    + "ops": []
    + "op2": []
    + +

    +

    CAM ops

    +

    CAM operations are global functions that generate gcode based on your CAM mesh

    + +
    +
    From 795d78b8d0c7fcd7671edd54366d17c9e4cc0900 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Fri, 16 May 2025 09:19:18 -0600 Subject: [PATCH 15/22] revert docs changes --- web/kiri/engine.html | 230 +------------------------------------------ 1 file changed, 1 insertion(+), 229 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index 5e2f0b42..5a5445d6 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -72,7 +72,7 @@ padding: 3px; text-align: center; } - body div { + #loadExample , #api{ width: 812px; } #download { @@ -364,234 +364,6 @@
  • - async path routing of slice data
  • - async gcode generation from path routing
  • - -
    -

    Device Options

    - -
    - -
    -

    Tool Options

    -

    - Tool options are only relevant for CAM mode. If you aren't using CAM mode, this section can be ignored.
    - Each CAM Operation has a tool parameter, which is a - refrence to a tool ID in the tool list (not to be confused with the tool number). - - the setTools function accepts an array of objects with the following parameters: - - - - - - - - - - - - - - - - - - - - - -
    ParameterDefault Value
    id1000
    number1
    type"endmill"
    name"end 1/4"
    metricfalse
    shaft_diam0.25
    shaft_len1
    flute_diam0.25
    flute_len2
    taper_tip0
    order5
    - -

    -
    - -
    -

    Process Options

    -

    - The process options for a given mode determine the global parameters for how an object is processed. - Some process options are mode-specific, and some are shared between modes. -

    - -
    -

    Global

    - -
    - -
    -

    FDM

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ParameterDefault ValueParam TypeShort Description
    processNamedefaultstringName of the slicing process profile
    sliceAngle45numberAngle of slicing fill pattern (degrees)
    sliceHeight0.25numberLayer height in millimeters
    sliceShells3numberNumber of perimeter shells
    sliceShellOrderin-outstringShell printing order (e.g., inside-out)
    sliceLayerStartlaststringStarting layer for slicing
    sliceLayerStartX0numberX offset for slice start
    sliceLayerStartY0numberY offset for slice start
    sliceLineWidth0numberLine width for slicing (0 = auto)
    sliceFillGrow0numberOffset to expand fill area
    sliceFillAngle45numberFill pattern angle (degrees)
    sliceFillWidth1numberWidth of fill lines
    sliceFillOverlap0.35numberOverlap ratio of fill to shells
    sliceFillSparse0.25numberFill sparsity (density fraction)
    sliceFillRepeat1numberNumber of fill pattern repetitions
    sliceFillRate0numberFill print speed multiplier (0 = default)
    sliceSolidRate0numberSolid fill print speed multiplier
    sliceFillTypehexstringType of fill pattern
    sliceSupportDensity0.1numberDensity of support material
    sliceSupportOffset1numberDistance between support and model
    sliceSupportGap1numberGap between supports
    sliceSupportSize5numberSize of support elements
    sliceSupportArea0.1numberMinimum area for support generation
    sliceSupportSpan5numberSpan length for supports
    sliceSupportGrow0numberExtra growth around supports
    sliceSupportExtra0numberAdditional support material (unclear)
    sliceSupportAngle50numberMax overhang angle for supports (degrees)
    sliceSupportNozzle0numberNozzle index for support extrusion
    sliceSupportEnablefalseboolEnable or disable support generation
    sliceSupportOutlinetrueboolPrint outline for supports
    sliceZInterleavefalseboolInterleave support layers in Z
    sliceSolidMinArea1numberMinimum area to treat as solid
    sliceBottomLayers3numberNumber of solid bottom layers
    sliceTopLayers3numberNumber of solid top layers
    firstSliceHeight0.25numberHeight of first layer
    firstLayerRate30numberFirst layer print speed
    firstLayerFillRate35numberFirst layer fill print speed
    firstLayerPrintMult1numberMultiplier for first layer print speed
    firstLayerLineMult1numberMultiplier for first layer line width
    firstLayerYOffset0numberY offset for first layer
    firstLayerNozzleTemp0numberFirst layer nozzle temperature (°C)
    firstLayerBedTemp0numberFirst layer bed temperature (°C)
    firstLayerBrim0numberNumber of brim lines
    firstLayerBrimIn0numberBrim inset (distance)
    firstLayerBrimTrig0numberBrim trigger flag (unclear)
    firstLayerBrimGap0numberGap between brim and model
    firstLayerBeltLead3numberBelt lead distance (unclear, likely for bed movement)
    firstLayerBeltBump0numberBelt bump parameter (unclear)
    firstLayerFanSpeed0numberFan speed during first layer (0-255)
    firstLayerFlatten0numberFlatten first layer flag (unclear)
    outputRaftfalseboolEnable raft printing
    outputRaftSpacing0.2numberSpacing between raft lines
    outputDraftShieldfalseboolEnable draft shield around print
    outputTemp200numberNozzle temperature (°C)
    outputBedTemp60numberBed temperature (°C)
    outputFeedrate50numberPrinting feedrate (mm/s)
    outputFinishrate50numberFinishing move speed (mm/s)
    outputSeekrate80numberSeek (travel) speed (mm/s)
    outputShellMult1.25numberSpeed multiplier for shell printing
    outputFillMult1.25numberSpeed multiplier for infill printing
    outputSparseMult1.25numberSpeed multiplier for sparse infill
    outputFanLayer1numberLayer to start fan
    outputFanSpeed255numberFan speed (0-255)
    outputRetractDist1.5numberRetraction distance (mm)
    outputRetractSpeed40numberRetraction speed (mm/s)
    outputRetractWipe0numberWipe distance during retraction (unclear)
    outputRetractDwell20numberDwell time after retraction (ms)
    outputBrimCount2numberNumber of brim loops
    outputBrimOffset2numberOffset distance for brim
    outputShortPoly100numberMinimum polygon length to consider (units unclear)
    outputMinSpeed10numberMinimum print speed (mm/s)
    outputCoastDist0numberCoasting distance before end of extrusion
    outputPurgeTower0numberEnable/size of purge tower (unclear)
    outputBeltFirstfalseboolUse belt before print (unclear)
    outputAvoidGapstrueboolAvoid gaps in extrusion paths
    outputAlternatingfalseboolAlternate print directions/layers
    outputLayerRetractfalseboolRetract filament at layer changes
    outputLoops0numberNumber of loops to print (unclear)
    outputInvertXfalseboolInvert X axis
    outputInvertYfalseboolInvert Y axis
    sliceDetectThinoffstringEnable thin feature detection
    sliceMinHeight0numberMinimum slice height
    sliceAdaptivefalseboolEnable adaptive slicing
    zHopDistance0.2numberZ-hop height during travel moves
    arcTolerance0numberArc approximation tolerance
    antiBacklash0numberCompensation for backlash
    ranges[]arrayRanges for slicing layers or regions (unclear)
    - - -

    -
    - -
    -

    CAM

    -

    - "processName": "default"
    - "camFlipAxis": "X"
    - "camFlipOther": ""
    - "camLaserEnable":[ "M321" ]
    - "camLaserDisable": ["M322" ]
    - "camLaserOn": ["M3" ]
    - "camLaserOff": ["M5" ]
    - "camLaserSpeed": 100
    - "camLaserPower": 1
    - "camLaserAdaptive": false
    - "camLaserAdaptMod": false
    - "camLaserFlatten": false
    - "camLaserFlatZ": 0
    - "camLaserPowerMin": 0
    - "camLaserPowerMax": 1
    - "camLaserZMin": 0
    - "camLaserZMax": 0
    - "camTabsWidth": 5
    - "camTabsHeight": 5
    - "camTabsDepth": 5
    - "camTabsMidline": false
    - "camDepthFirst": false
    - "camEaseDown": false
    - "camEaseAngle": 10
    - "camOriginTop": true
    - "camZAnchor": "middle"
    - "camZOffset": 0
    - "camZTop": 0
    - "camZBottom": 0
    - "camZClearance": 1
    - "camZThru": 0
    - "camFastFeed": 6000
    - "camFastFeedZ": 300
    - "camFlatness": 0.001
    - "camContourBridge": 0
    - "camStockX": 5
    - "camStockY": 5
    - "camStockZ": 5
    - "camStockOffset": true
    - "camStockClipTo": false
    - "camStockIndexed": false
    - "camStockIndexGrid": true
    - "camIndexAxis": 0
    - "camIndexAbs": true
    - "camConventional": false
    - "camOriginCenter": false
    - "camOriginOffX": 0
    - "camOriginOffY": 0
    - "camOriginOffZ": 0
    - "outputInvertX": false
    - "outputInvertY": false
    - "camExpertFast": false
    - "camTrueShadow": false
    - "camForceZMax": false
    - "camFirstZMax": false
    - "camToolInit": true
    - "camFullEngage": 0.8
    - "ops": []
    - "op2": []
    - -

    -

    CAM ops

    -

    CAM operations are global functions that generate gcode based on your CAM mesh

    - -
    -
    From ff5b470b79412bf917ec99ca27be863cfc41887f Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Fri, 16 May 2025 10:08:22 -0600 Subject: [PATCH 16/22] add jsdoc --- src/kiri-run/engine.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/kiri-run/engine.js b/src/kiri-run/engine.js index 913035cf..17e9ed07 100644 --- a/src/kiri-run/engine.js +++ b/src/kiri-run/engine.js @@ -68,6 +68,11 @@ class Engine { return this; } + /** + * Sets the mode of the engine. Valid modes are: + * @param {"FDM"|"CAM"|"LASER"|"SLA"} mode - the mode to set + * @returns {Engine} this + */ setMode(mode) { this.settings.mode = mode; return this; From 983ca120aae44c8a3a3f8a5114935ff831f74163 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Fri, 16 May 2025 10:08:32 -0600 Subject: [PATCH 17/22] code formatting --- web/kiri/engine.html | 100 +++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index 5a5445d6..05aa5766 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -251,61 +251,61 @@ // should to call widget.setTopZ here ideally .then(eng => eng.setMode("LASER")) .then(eng => eng.setStock({ - "x": 25, - "y": 25, - "z": 24.999998092651367, - "center": { - "x": 0, - "y": 0, - "z": 12.499999046325684 + x: 25, + y: 25, + z: 24.999998092651367, + center: { + x: 0, + y: 0, + z: 12.499999046325684 } })) .then(eng => eng.setProcess({ - "processName": "default", - "ctSliceKerf": 0.1, - "ctSliceHeight": 0.5, - "ctSliceHeightMin": 0, - "ctSliceSingle": false, - "ctOutTileSpacing": 1, - "ctOutPower": 100, - "ctOutSpeed": 1000, - "ctOutGroup": true, - "ctOutZColor": false, - "ctOutLayer": false, - "ctOutMark": false, - "ctOutStack": false, - "ctOutMerged": false, - "ctOriginCenter": false, - "ctOriginBounds": false, - "outputInvertX": false, - "outputInvertY": false, - "ctOutKnifeDepth": 1, - "ctOutKnifePasses": 1, - "ctOutKnifeTip": 2, - "ctOutInches": false, - "ctOutShaper": false + processName: "default", + ctSliceKerf: 0.1, + ctSliceHeight: 0.5, + ctSliceHeightMin: 0, + ctSliceSingle: false, + ctOutTileSpacing: 1, + ctOutPower: 100, + ctOutSpeed: 1000, + ctOutGroup: true, + ctOutZColor: false, + ctOutLayer: false, + ctOutMark: false, + ctOutStack: false, + ctOutMerged: false, + ctOriginCenter: false, + ctOriginBounds: false, + outputInvertX: false, + outputInvertY: false, + ctOutKnifeDepth: 1, + ctOutKnifePasses: 1, + ctOutKnifeTip: 2, + ctOutInches: false, + ctOutShaper: false })) .then(eng => eng.setDevice({ - "mode": "LASER", - "internal": 0, - "bedHeight": 2.5, - "bedWidth": 600, - "bedDepth": 308, - "maxHeight": 150, - "gcodePre": [], - "gcodePost": [], - "gcodeFExt": "svg", - "gcodeSpace": true, - "gcodeLaserOn": [], - "gcodeLaserOff": [], - "new": false, - "deviceName": "Xtool.P2", - "imageURL": "", - "laserMaxPower": 255, - "bedBelt": false, - "bedRound": false, - "originCenter": false, - "fwRetract": false + mode: "LASER", + internal: 0, + bedHeight: 2.5, + bedWidth: 600, + bedDepth: 308, + maxHeight: 150, + gcodePre: [], + gcodePost: [], + gcodeFExt: "svg", + gcodeSpace: true, + gcodeLaserOn: [], + gcodeLaserOff: [], + new: false, + deviceName: "Xtool.P2", + imageURL: "", + laserMaxPower: 255, + bedBelt: false, + bedRound: false, + originCenter: false, + fwRetract: false })) .then(eng => eng.slice()) .then(eng => eng.prepare()) From a5ee4f059c1406ffdc7731f03304574e588fbb95 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 17 May 2025 19:01:42 -0400 Subject: [PATCH 18/22] Create CNAME --- docs/CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/CNAME diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 00000000..8f56e009 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +docs.grid.space \ No newline at end of file From 4065e40988e5249e4e86d827aa139cd78ecfbb5a Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 17 May 2025 19:03:28 -0400 Subject: [PATCH 19/22] Delete CNAME --- docs/CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/CNAME diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 8f56e009..00000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -docs.grid.space \ No newline at end of file From e1070c9e049774e599781959b7c4a76d8c600c0b Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Mon, 19 May 2025 15:57:24 -0400 Subject: [PATCH 20/22] fix svg extrusion in mesh:tool --- src/main/mesh.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/mesh.js b/src/main/mesh.js index 1db7396e..128fc4f4 100644 --- a/src/main/mesh.js +++ b/src/main/mesh.js @@ -535,7 +535,7 @@ function load_files(files) { let { svg_repair, extrude_height } = api.modal.bound; load_files_opt(files, { soup: svg_repair.checked, - depth: extrude_height + depth: parseFloat(extrude_height.value) }); api.modal.hide(); } }), From 1115c62c140d734f8e7d42d7c1a4ce72a481ed90 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 22 May 2025 09:25:12 -0600 Subject: [PATCH 21/22] fix broken link --- web/kiri/engine.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index 05aa5766..9d8eb8c6 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -324,7 +324,7 @@ -

    Kiri:Moto Javascript Engine API

    +

    Kiri:Moto Javascript Engine API

    JavaScript
    From d88a484560afda0078dfe2ef1f0e03abb9666047 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Sat, 24 May 2025 13:02:33 -0600 Subject: [PATCH 22/22] make bounding recs 0-based --- src/kiri-mode/cam/ops.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index e87fb5e4..dced8347 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -657,7 +657,7 @@ class OpOutline extends CamOp { } if (process.camStockClipTo && stock.x && stock.y && stock.center) { - let rect = newPolygon().centerRectangle(stock.center, stock.x, stock.y); + let rect = newPolygon().centerRectangle({x:0,y:0}, stock.x, stock.y); offset = cutPolys([rect], offset, slice.z, true); } @@ -1000,7 +1000,7 @@ class OpTrace extends CamOp { let cutdir = ov_conv; let polys = []; let stockRect = stock.center && stock.x && stock.y ? - newPolygon().centerRectangle(stock.center, stock.x, stock.y) : undefined; + newPolygon().centerRectangle({x:0,y:0}, stock.x, stock.y) : undefined; updateToolDiams(toolDiam); if (tabs) {