@sienci/gviewer 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("react"),V=require("./GCodeSVGRenderer-eKBgdYHt.cjs");function G(a){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(d,s,i.get?i:{enumerable:!0,get:()=>a[s]})}}return d.default=a,Object.freeze(d)}const o=G(w),C=o.forwardRef(function(d,s){const{id:i,options:l,callbacks:c,className:m,style:f}=d,u=o.useRef(null),r=o.useRef(null);return o.useEffect(()=>{const e=u.current;if(!e)return;const p=new V.GCodeViewer({id:i,container:e,options:l,callbacks:c});return r.current=p,()=>{r.current=null,p.dispose()}},[i]),o.useEffect(()=>{var e;(e=r.current)==null||e.setOptions(l??{})},[l]),o.useEffect(()=>{var e;(e=r.current)==null||e.setCallbacks(c??{})},[c]),o.useImperativeHandle(s,()=>{const e=()=>{const t=r.current;if(!t)throw new Error("GCodeViewer is not ready.");return t};return{get id(){return i},setCallbacks(t){e().setCallbacks(t)},snapCameraToView(t,n){e().snapCameraToView(t,n)},setRotateEnabled(t){e().setRotateEnabled(t)},screenToWorld(t,n,F){return e().screenToWorld(t,n,F)},setBitPosition(t,n){e().setBitPosition(t,n)},setBitVisible(t){e().setBitVisible(t)},setBitSpinning(t){e().setBitSpinning(t)},setToolpathRotationA(t){e().setToolpathRotationA(t)},hideUntilLine(t,n){e().hideUntilLine(t,n)},seekToLine(t,n){e().seekToLine(t,n)},showAll(){e().showAll()},resetColors(){e().resetColors()},loadFromUrl(t,n){return e().loadFromUrl(t,n)},loadFromFile(t){return e().loadFromFile(t)},loadFromText(t){return e().loadFromText(t)},loadFromLines(t){return e().loadFromLines(t)},loadFromWorkerData(t){return e().loadFromWorkerData(t)},unload(){e().unload()},setOptions(t){e().setOptions(t)},getOptions(){return e().getOptions()},resize(){e().resize()},focusToModel(){e().focusToModel()},resetCamera(){e().resetCamera()},getBounds(){return e().getBounds()},dispose(){e().dispose()}}},[i]),o.createElement("div",{ref:u,className:m,style:f})}),g=o.forwardRef(function(d,s){const{id:i,options:l,className:c,style:m}=d,f=o.useRef(null),u=o.useRef(null);return o.useEffect(()=>{const r=f.current;if(!r)return;const e=new V.GCodeSVGRenderer(r,l);return u.current=e,()=>{u.current=null,e.dispose()}},[]),o.useEffect(()=>{var r;l&&((r=u.current)==null||r.setOptions(l))},[l]),o.useImperativeHandle(s,()=>{const r=()=>{const e=u.current;if(!e)throw new Error("GCodeSVGRenderer is not ready.");return e};return{loadFromLines:e=>r().loadFromLines(e),loadFromFile:e=>r().loadFromFile(e),loadFromText:e=>r().loadFromText(e),loadFromWorkerData:e=>r().loadFromWorkerData(e),loadFromPrecomputedGroups:e=>r().loadFromPrecomputedGroups(e),clear:()=>r().clear(),resetView:()=>r().resetView(),setOptions:e=>r().setOptions(e),setProjectionMode:e=>r().setProjectionMode(e),setBitPosition:e=>r().setBitPosition(e),setBitVisible:e=>r().setBitVisible(e),getSVGElement:()=>r().getSVGElement(),dispose:()=>r().dispose()}},[]),o.createElement("div",{ref:f,className:c,style:{width:"100%",height:"100%",...m}})});exports.GCodeSVGVisualizer=g;exports.GCodeVisualizer=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("react"),V=require("./GCodeSVGRenderer-ZnJwBJPk.cjs");function G(a){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(d,s,i.get?i:{enumerable:!0,get:()=>a[s]})}}return d.default=a,Object.freeze(d)}const o=G(w),C=o.forwardRef(function(d,s){const{id:i,options:l,callbacks:c,className:m,style:f}=d,u=o.useRef(null),r=o.useRef(null);return o.useEffect(()=>{const e=u.current;if(!e)return;const p=new V.GCodeViewer({id:i,container:e,options:l,callbacks:c});return r.current=p,()=>{r.current=null,p.dispose()}},[i]),o.useEffect(()=>{var e;(e=r.current)==null||e.setOptions(l??{})},[l]),o.useEffect(()=>{var e;(e=r.current)==null||e.setCallbacks(c??{})},[c]),o.useImperativeHandle(s,()=>{const e=()=>{const t=r.current;if(!t)throw new Error("GCodeViewer is not ready.");return t};return{get id(){return i},setCallbacks(t){e().setCallbacks(t)},snapCameraToView(t,n){e().snapCameraToView(t,n)},setRotateEnabled(t){e().setRotateEnabled(t)},screenToWorld(t,n,F){return e().screenToWorld(t,n,F)},setBitPosition(t,n){e().setBitPosition(t,n)},setBitVisible(t){e().setBitVisible(t)},setBitSpinning(t){e().setBitSpinning(t)},setToolpathRotationA(t){e().setToolpathRotationA(t)},hideUntilLine(t,n){e().hideUntilLine(t,n)},seekToLine(t,n){e().seekToLine(t,n)},showAll(){e().showAll()},resetColors(){e().resetColors()},loadFromUrl(t,n){return e().loadFromUrl(t,n)},loadFromFile(t){return e().loadFromFile(t)},loadFromText(t){return e().loadFromText(t)},loadFromLines(t){return e().loadFromLines(t)},loadFromWorkerData(t){return e().loadFromWorkerData(t)},unload(){e().unload()},setOptions(t){e().setOptions(t)},getOptions(){return e().getOptions()},resize(){e().resize()},focusToModel(){e().focusToModel()},resetCamera(){e().resetCamera()},getBounds(){return e().getBounds()},dispose(){e().dispose()}}},[i]),o.createElement("div",{ref:u,className:m,style:f})}),g=o.forwardRef(function(d,s){const{id:i,options:l,className:c,style:m}=d,f=o.useRef(null),u=o.useRef(null);return o.useEffect(()=>{const r=f.current;if(!r)return;const e=new V.GCodeSVGRenderer(r,l);return u.current=e,()=>{u.current=null,e.dispose()}},[]),o.useEffect(()=>{var r;l&&((r=u.current)==null||r.setOptions(l))},[l]),o.useImperativeHandle(s,()=>{const r=()=>{const e=u.current;if(!e)throw new Error("GCodeSVGRenderer is not ready.");return e};return{loadFromLines:e=>r().loadFromLines(e),loadFromFile:e=>r().loadFromFile(e),loadFromText:e=>r().loadFromText(e),loadFromWorkerData:e=>r().loadFromWorkerData(e),loadFromPrecomputedGroups:e=>r().loadFromPrecomputedGroups(e),clear:()=>r().clear(),resetView:()=>r().resetView(),setOptions:e=>r().setOptions(e),setProjectionMode:e=>r().setProjectionMode(e),setBitPosition:e=>r().setBitPosition(e),setBitVisible:e=>r().setBitVisible(e),getSVGElement:()=>r().getSVGElement(),dispose:()=>r().dispose()}},[]),o.createElement("div",{ref:f,className:c,style:{width:"100%",height:"100%",...m}})});exports.GCodeSVGVisualizer=g;exports.GCodeVisualizer=C;
package/dist/react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as o from "react";
2
- import { a as w, G as V } from "./GCodeSVGRenderer-DZeQSwum.js";
2
+ import { a as w, G as V } from "./GCodeSVGRenderer-DrPQRfLG.js";
3
3
  const G = o.forwardRef(
4
4
  function(u, c) {
5
5
  const { id: a, options: n, callbacks: l, className: m, style: d } = u, i = o.useRef(null), r = o.useRef(null);
@@ -6,5 +6,14 @@ export declare function createMachineBedGroup(min: {
6
6
  }, max: {
7
7
  x: number;
8
8
  y: number;
9
- }, options: GCodeViewerOptions): THREE.Group;
9
+ }, options: GCodeViewerOptions, keepout?: {
10
+ min: {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ max: {
15
+ x: number;
16
+ y: number;
17
+ };
18
+ } | null): THREE.Group;
10
19
  export declare function disposeMachineBedGroup(group: THREE.Object3D): void;
@@ -1,10 +1,21 @@
1
1
  import * as THREE from "three";
2
2
  import type { GCodeViewerOptions, GridUnits } from "../types";
3
3
  import { disposeSpriteGroup } from "../render/textSprite";
4
+ type GridBounds = {
5
+ min: {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ max: {
10
+ x: number;
11
+ y: number;
12
+ };
13
+ } | null;
4
14
  export declare function createUnitGrid(args: {
5
15
  units: GridUnits;
6
16
  sizeXMm: number;
7
17
  sizeYMm: number;
18
+ bounds?: GridBounds;
8
19
  theme: GCodeViewerOptions["render"]["theme"];
9
20
  }): THREE.Group;
10
21
  export declare function disposeLineSegmentsGroup(group: THREE.Object3D): void;
@@ -12,12 +23,14 @@ export declare function createAxes(args: {
12
23
  sizeXWorld: number;
13
24
  sizeYWorld: number;
14
25
  depthWorld: number;
26
+ bounds?: GridBounds;
15
27
  theme: GCodeViewerOptions["render"]["theme"];
16
28
  }): THREE.Group;
17
29
  export declare function disposeAxesGroup(group: THREE.Object3D): void;
18
30
  export declare function createGridLabels(args: {
19
31
  sizeXMm: number;
20
32
  sizeYMm: number;
33
+ bounds?: GridBounds;
21
34
  units: GridUnits;
22
35
  theme: GCodeViewerOptions["render"]["theme"];
23
36
  }): THREE.Group;
@@ -11,6 +11,7 @@ export type GCodeViewerTheme = {
11
11
  processed?: string;
12
12
  boundingBox: string;
13
13
  machineBed: string;
14
+ machineBedKeepout: string;
14
15
  grid: {
15
16
  major: string;
16
17
  minor: string;
@@ -60,6 +61,16 @@ export type GCodeViewerOptions = {
60
61
  sizeY: number;
61
62
  axisDepth: number;
62
63
  labels: boolean;
64
+ bounds: {
65
+ min: {
66
+ x: number;
67
+ y: number;
68
+ };
69
+ max: {
70
+ x: number;
71
+ y: number;
72
+ };
73
+ } | null;
63
74
  };
64
75
  boundingBox: {
65
76
  visible: boolean;
@@ -75,6 +86,16 @@ export type GCodeViewerOptions = {
75
86
  x: number;
76
87
  y: number;
77
88
  } | null;
89
+ keepout: {
90
+ min: {
91
+ x: number;
92
+ y: number;
93
+ };
94
+ max: {
95
+ x: number;
96
+ y: number;
97
+ };
98
+ } | null;
78
99
  };
79
100
  geometry: {
80
101
  arcSegments: number;
package/dist/viewer.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./GCodeSVGRenderer-eKBgdYHt.cjs"),a={dark:{background:"#111827",opacity:.9,rapidOpacity:.3,colors:{rapid:"#0ef6ae",cutting:"#3e85c7",laser:"#a855f7",processed:"#6b7280",boundingBox:"#77a9d7",machineBed:"#f5a623",grid:{major:"#77a9d7",minor:"#3e6e9e"},axes:{x:"#df3b3b",y:"#06b881",z:"#295d8d"}}},light:{background:"#e5e7eb",opacity:.9,rapidOpacity:.3,colors:{rapid:"#295d8d",cutting:"#111827",laser:"#FF0000",processed:"#9ca3af",boundingBox:"#5191cc",machineBed:"#b45309",grid:{major:"#295d8d",minor:"#5191cc"},axes:{x:"#df3b3b",y:"#06b881",z:"#295d8d"}}},"flexoki-dark":{background:"#100f0f",opacity:.9,rapidOpacity:.3,colors:{rapid:"#DA702C",cutting:"#3AA99F",laser:"#8B7EC8",processed:"#6f6e69",boundingBox:"#da702c",machineBed:"#ffcc66",grid:{major:"#a89984",minor:"#6f6e69"},axes:{x:"#d14d41",y:"#879a39",z:"#4385be"}}},"tokyo-night":{background:"#1a1b26",opacity:.9,rapidOpacity:.3,colors:{rapid:"#ff9e64",cutting:"#7dcfff",laser:"#bb9af7",processed:"#565f89",boundingBox:"#73daca",machineBed:"#e0af68",grid:{major:"#7aa2f7",minor:"#414868"},axes:{x:"#f7768e",y:"#9ece6a",z:"#7aa2f7"}}},"gruvbox-light":{background:"#fbf1c7",opacity:.9,rapidOpacity:.3,colors:{rapid:"#d65d0e",cutting:"#3c3836",laser:"#b16286",processed:"#928374",boundingBox:"#076678",machineBed:"#d79921",grid:{major:"#7c6f64",minor:"#a89984"},axes:{x:"#cc241d",y:"#98971a",z:"#458588"}}},"ayu-dark":{background:"#0b0e14",opacity:.9,rapidOpacity:.3,colors:{rapid:"#FFA659",cutting:"#73D0FF",laser:"#DFBFFF",processed:"#6E7C8F",boundingBox:"#95E6CB",machineBed:"#FFD173",grid:{major:"#77a9d7",minor:"#3e6590"},axes:{x:"#F28779",y:"#D5FF80",z:"#5CCFE6"}}},"ayu-light":{background:"#fafafa",opacity:.9,rapidOpacity:.3,colors:{rapid:"#FA8D3E",cutting:"#22A4E6",laser:"#A37ACC",processed:"#ADAEB1",boundingBox:"#5C6773",machineBed:"#F2AE49",grid:{major:"#5c6773",minor:"#9aacba"},axes:{x:"#F07171",y:"#86B300",z:"#55B4D4"}}}};exports.GCodeSVGRenderer=e.GCodeSVGRenderer;exports.GCodeViewer=e.GCodeViewer;exports.ViewCube=e.ViewCube;exports.defaultGCodeViewerOptions=e.defaultGCodeViewerOptions;exports.defaultGCodeViewerTheme=e.defaultGCodeViewerTheme;exports.gCodeViewerThemePresets=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./GCodeSVGRenderer-ZnJwBJPk.cjs"),a={dark:{background:"#111827",opacity:.9,rapidOpacity:.3,colors:{rapid:"#0ef6ae",cutting:"#3e85c7",laser:"#a855f7",processed:"#6b7280",boundingBox:"#77a9d7",machineBed:"#f5a623",machineBedKeepout:"#df3b3b",grid:{major:"#77a9d7",minor:"#3e6e9e"},axes:{x:"#df3b3b",y:"#06b881",z:"#295d8d"}}},light:{background:"#e5e7eb",opacity:.9,rapidOpacity:.3,colors:{rapid:"#295d8d",cutting:"#111827",laser:"#FF0000",processed:"#9ca3af",boundingBox:"#5191cc",machineBed:"#b45309",machineBedKeepout:"#df3b3b",grid:{major:"#295d8d",minor:"#5191cc"},axes:{x:"#df3b3b",y:"#06b881",z:"#295d8d"}}},"flexoki-dark":{background:"#100f0f",opacity:.9,rapidOpacity:.3,colors:{rapid:"#DA702C",cutting:"#3AA99F",laser:"#8B7EC8",processed:"#6f6e69",boundingBox:"#da702c",machineBed:"#ffcc66",machineBedKeepout:"#d14d41",grid:{major:"#a89984",minor:"#6f6e69"},axes:{x:"#d14d41",y:"#879a39",z:"#4385be"}}},"tokyo-night":{background:"#1a1b26",opacity:.9,rapidOpacity:.3,colors:{rapid:"#ff9e64",cutting:"#7dcfff",laser:"#bb9af7",processed:"#565f89",boundingBox:"#73daca",machineBed:"#e0af68",machineBedKeepout:"#f7768e",grid:{major:"#7aa2f7",minor:"#414868"},axes:{x:"#f7768e",y:"#9ece6a",z:"#7aa2f7"}}},"gruvbox-light":{background:"#fbf1c7",opacity:.9,rapidOpacity:.3,colors:{rapid:"#d65d0e",cutting:"#3c3836",laser:"#b16286",processed:"#928374",boundingBox:"#076678",machineBed:"#d79921",machineBedKeepout:"#cc241d",grid:{major:"#7c6f64",minor:"#a89984"},axes:{x:"#cc241d",y:"#98971a",z:"#458588"}}},"ayu-dark":{background:"#0b0e14",opacity:.9,rapidOpacity:.3,colors:{rapid:"#FFA659",cutting:"#73D0FF",laser:"#DFBFFF",processed:"#6E7C8F",boundingBox:"#95E6CB",machineBed:"#FFD173",machineBedKeepout:"#F28779",grid:{major:"#77a9d7",minor:"#3e6590"},axes:{x:"#F28779",y:"#D5FF80",z:"#5CCFE6"}}},"ayu-light":{background:"#fafafa",opacity:.9,rapidOpacity:.3,colors:{rapid:"#FA8D3E",cutting:"#22A4E6",laser:"#A37ACC",processed:"#ADAEB1",boundingBox:"#5C6773",machineBed:"#F2AE49",machineBedKeepout:"#F07171",grid:{major:"#5c6773",minor:"#9aacba"},axes:{x:"#F07171",y:"#86B300",z:"#55B4D4"}}}};exports.GCodeSVGRenderer=e.GCodeSVGRenderer;exports.GCodeViewer=e.GCodeViewer;exports.ViewCube=e.ViewCube;exports.defaultGCodeViewerOptions=e.defaultGCodeViewerOptions;exports.defaultGCodeViewerTheme=e.defaultGCodeViewerTheme;exports.gCodeViewerThemePresets=a;
package/dist/viewer.js CHANGED
@@ -1,5 +1,5 @@
1
- import { G as o, a as r, V as i, d as c, b as n } from "./GCodeSVGRenderer-DZeQSwum.js";
2
- const a = {
1
+ import { G as o, a as i, V as c, d as r, b as n } from "./GCodeSVGRenderer-DrPQRfLG.js";
2
+ const e = {
3
3
  dark: {
4
4
  background: "#111827",
5
5
  opacity: 0.9,
@@ -11,6 +11,7 @@ const a = {
11
11
  processed: "#6b7280",
12
12
  boundingBox: "#77a9d7",
13
13
  machineBed: "#f5a623",
14
+ machineBedKeepout: "#df3b3b",
14
15
  grid: { major: "#77a9d7", minor: "#3e6e9e" },
15
16
  axes: { x: "#df3b3b", y: "#06b881", z: "#295d8d" }
16
17
  }
@@ -26,6 +27,7 @@ const a = {
26
27
  processed: "#9ca3af",
27
28
  boundingBox: "#5191cc",
28
29
  machineBed: "#b45309",
30
+ machineBedKeepout: "#df3b3b",
29
31
  grid: { major: "#295d8d", minor: "#5191cc" },
30
32
  axes: { x: "#df3b3b", y: "#06b881", z: "#295d8d" }
31
33
  }
@@ -41,6 +43,7 @@ const a = {
41
43
  processed: "#6f6e69",
42
44
  boundingBox: "#da702c",
43
45
  machineBed: "#ffcc66",
46
+ machineBedKeepout: "#d14d41",
44
47
  grid: { major: "#a89984", minor: "#6f6e69" },
45
48
  axes: { x: "#d14d41", y: "#879a39", z: "#4385be" }
46
49
  }
@@ -56,6 +59,7 @@ const a = {
56
59
  processed: "#565f89",
57
60
  boundingBox: "#73daca",
58
61
  machineBed: "#e0af68",
62
+ machineBedKeepout: "#f7768e",
59
63
  grid: { major: "#7aa2f7", minor: "#414868" },
60
64
  axes: { x: "#f7768e", y: "#9ece6a", z: "#7aa2f7" }
61
65
  }
@@ -71,6 +75,7 @@ const a = {
71
75
  processed: "#928374",
72
76
  boundingBox: "#076678",
73
77
  machineBed: "#d79921",
78
+ machineBedKeepout: "#cc241d",
74
79
  grid: { major: "#7c6f64", minor: "#a89984" },
75
80
  axes: { x: "#cc241d", y: "#98971a", z: "#458588" }
76
81
  }
@@ -86,6 +91,7 @@ const a = {
86
91
  processed: "#6E7C8F",
87
92
  boundingBox: "#95E6CB",
88
93
  machineBed: "#FFD173",
94
+ machineBedKeepout: "#F28779",
89
95
  grid: { major: "#77a9d7", minor: "#3e6590" },
90
96
  axes: { x: "#F28779", y: "#D5FF80", z: "#5CCFE6" }
91
97
  }
@@ -101,6 +107,7 @@ const a = {
101
107
  processed: "#ADAEB1",
102
108
  boundingBox: "#5C6773",
103
109
  machineBed: "#F2AE49",
110
+ machineBedKeepout: "#F07171",
104
111
  grid: { major: "#5c6773", minor: "#9aacba" },
105
112
  axes: { x: "#F07171", y: "#86B300", z: "#55B4D4" }
106
113
  }
@@ -108,9 +115,9 @@ const a = {
108
115
  };
109
116
  export {
110
117
  o as GCodeSVGRenderer,
111
- r as GCodeViewer,
112
- i as ViewCube,
113
- c as defaultGCodeViewerOptions,
118
+ i as GCodeViewer,
119
+ c as ViewCube,
120
+ r as defaultGCodeViewerOptions,
114
121
  n as defaultGCodeViewerTheme,
115
- a as gCodeViewerThemePresets
122
+ e as gCodeViewerThemePresets
116
123
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sienci/gviewer",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "GCode visualization library using Three.js",
5
5
  "repository": {
6
6
  "type": "git",