@chestnutlabs/gcode-preview-vue 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@ npm install @chestnutlabs/gcode-preview-vue three
12
12
 
13
13
  (`three` is a peerDependency of the renderer, supported range `^0.178.0` — npm ≥ 7 installs it
14
14
  automatically; pnpm/yarn users add it explicitly. See the
15
- [support policy](../../docs/reference/support-policy.md).)
15
+ [support policy](https://github.com/ChestnutLabs/gcode-preview/blob/dev/docs/reference/support-policy.md).)
16
16
 
17
17
  Two adoption levels, one implementation (the component is a shell over the composable):
18
18
 
@@ -13,7 +13,7 @@ import { type PropType } from 'vue';
13
13
  import type { BuildVolumeDef, CameraMode, ColorMode, QualityMode, Theme, TubeOptions } from '@chestnutlabs/gcode-renderer-three';
14
14
  import type { MachineGeometry, ProgressObservation } from '@chestnutlabs/toolpath-core';
15
15
  import type { WireParseOptions, WorkerLike } from '@chestnutlabs/gcode-parser';
16
- import { type UseGcodePreviewOptions } from './use-gcode-preview.js';
16
+ import { type RendererMode, type UseGcodePreviewOptions } from './use-gcode-preview.js';
17
17
  export type GcodePreviewSource = Uint8Array | ArrayBuffer | File | null;
18
18
  export declare const GcodePreview: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
19
19
  /** The one required-in-practice prop: bytes/File to parse. Changing it re-parses. */
@@ -25,6 +25,16 @@ export declare const GcodePreview: import("vue").DefineComponent<import("vue").E
25
25
  type: PropType<WireParseOptions>;
26
26
  default: undefined;
27
27
  };
28
+ /** DD-014 D5: `'3d'` (default, Three.js — loaded on demand) or `'2d'` (low-resource Canvas view). */
29
+ renderer: {
30
+ type: PropType<RendererMode>;
31
+ default: undefined;
32
+ };
33
+ /** 2D only (`renderer="2d"`): preceding "ghost" layers beneath the active one (default 1, floor 0). */
34
+ adjacentLayers: {
35
+ type: PropType<number>;
36
+ default: undefined;
37
+ };
28
38
  /** Consumer-configured volume — wins over file-discovered geometry (DD-005 precedence). */
29
39
  buildVolume: {
30
40
  type: PropType<BuildVolumeDef | MachineGeometry>;
@@ -62,10 +72,20 @@ export declare const GcodePreview: import("vue").DefineComponent<import("vue").E
62
72
  type: PropType<number | null>;
63
73
  default: null;
64
74
  };
75
+ /** Time-based scrub cut in ms of print time (#181); null clears it. */
76
+ scrubTime: {
77
+ type: PropType<number | null>;
78
+ default: null;
79
+ };
65
80
  showTravel: {
66
81
  type: BooleanConstructor;
67
82
  default: boolean;
68
83
  };
84
+ /** DD-016 (#182): show slicer wipe moves. Default true. */
85
+ showWipe: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
69
89
  /** DD-009 D1 (#148): opt-in retraction/deretraction markers. */
70
90
  showRetractions: {
71
91
  type: BooleanConstructor;
@@ -134,6 +154,16 @@ export declare const GcodePreview: import("vue").DefineComponent<import("vue").E
134
154
  type: PropType<WireParseOptions>;
135
155
  default: undefined;
136
156
  };
157
+ /** DD-014 D5: `'3d'` (default, Three.js — loaded on demand) or `'2d'` (low-resource Canvas view). */
158
+ renderer: {
159
+ type: PropType<RendererMode>;
160
+ default: undefined;
161
+ };
162
+ /** 2D only (`renderer="2d"`): preceding "ghost" layers beneath the active one (default 1, floor 0). */
163
+ adjacentLayers: {
164
+ type: PropType<number>;
165
+ default: undefined;
166
+ };
137
167
  /** Consumer-configured volume — wins over file-discovered geometry (DD-005 precedence). */
138
168
  buildVolume: {
139
169
  type: PropType<BuildVolumeDef | MachineGeometry>;
@@ -171,10 +201,20 @@ export declare const GcodePreview: import("vue").DefineComponent<import("vue").E
171
201
  type: PropType<number | null>;
172
202
  default: null;
173
203
  };
204
+ /** Time-based scrub cut in ms of print time (#181); null clears it. */
205
+ scrubTime: {
206
+ type: PropType<number | null>;
207
+ default: null;
208
+ };
174
209
  showTravel: {
175
210
  type: BooleanConstructor;
176
211
  default: boolean;
177
212
  };
213
+ /** DD-016 (#182): show slicer wipe moves. Default true. */
214
+ showWipe: {
215
+ type: BooleanConstructor;
216
+ default: boolean;
217
+ };
178
218
  /** DD-009 D1 (#148): opt-in retraction/deretraction markers. */
179
219
  showRetractions: {
180
220
  type: BooleanConstructor;
@@ -233,26 +273,33 @@ export declare const GcodePreview: import("vue").DefineComponent<import("vue").E
233
273
  }) => any) | undefined;
234
274
  }>, {
235
275
  source: GcodePreviewSource;
276
+ renderer: RendererMode;
236
277
  buildVolume: BuildVolumeDef | MachineGeometry;
237
278
  quality: QualityMode | "auto";
238
279
  cameraMode: CameraMode;
239
280
  theme: Theme;
240
281
  colorMode: ColorMode;
241
282
  tube: TubeOptions;
283
+ adjacentLayers: number;
242
284
  parseOptions: WireParseOptions;
243
285
  layerRange: [number, number] | null;
244
286
  scrub: number | null;
287
+ scrubTime: number | null;
245
288
  showTravel: boolean;
289
+ showWipe: boolean;
246
290
  showRetractions: boolean;
247
291
  progress: ProgressObservation | null;
248
292
  createWorker: () => WorkerLike;
249
293
  rendererOptions: Omit<{
294
+ mode?: RendererMode;
250
295
  buildVolume?: BuildVolumeDef;
251
296
  quality?: QualityMode | "auto";
252
297
  cameraMode?: CameraMode;
253
298
  colorMode?: ColorMode;
254
299
  tube?: TubeOptions;
255
300
  theme?: Theme;
301
+ adjacentLayers?: number;
302
+ ghostOpacity?: number;
256
303
  createRenderer?: (canvas: import("@chestnutlabs/gcode-renderer-three").RenderTargetCanvas) => import("@chestnutlabs/gcode-renderer-three").GLRendererLike;
257
304
  scheduleFrame?: (cb: () => void) => void;
258
305
  chunksPerTick?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"gcode-preview-component.d.ts","sourceRoot":"","sources":["../src/gcode-preview-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gcode-preview-component.d.ts","sourceRoot":"","sources":["../src/gcode-preview-component.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ export const GcodePreview = defineComponent({
17
17
  /** The one required-in-practice prop: bytes/File to parse. Changing it re-parses. */
18
18
  source: { type: [Object, Uint8Array, ArrayBuffer, File], default: null },
19
19
  parseOptions: { type: Object, default: undefined },
20
+ /** DD-014 D5: `'3d'` (default, Three.js — loaded on demand) or `'2d'` (low-resource Canvas view). */
21
+ renderer: { type: String, default: undefined },
22
+ /** 2D only (`renderer="2d"`): preceding "ghost" layers beneath the active one (default 1, floor 0). */
23
+ adjacentLayers: { type: Number, default: undefined },
20
24
  /** Consumer-configured volume — wins over file-discovered geometry (DD-005 precedence). */
21
25
  buildVolume: { type: Object, default: undefined },
22
26
  quality: { type: String, default: 'auto' },
@@ -30,7 +34,11 @@ export const GcodePreview = defineComponent({
30
34
  layerRange: { type: Array, default: null },
31
35
  /** Scrub cut (IR segment index); null shows everything up to the layer range. */
32
36
  scrub: { type: Number, default: null },
37
+ /** Time-based scrub cut in ms of print time (#181); null clears it. */
38
+ scrubTime: { type: Number, default: null },
33
39
  showTravel: { type: Boolean, default: true },
40
+ /** DD-016 (#182): show slicer wipe moves. Default true. */
41
+ showWipe: { type: Boolean, default: true },
34
42
  /** DD-009 D1 (#148): opt-in retraction/deretraction markers. */
35
43
  showRetractions: { type: Boolean, default: false },
36
44
  /** DD-006 live progress observation; null hides the overlay. */
@@ -66,12 +74,14 @@ export const GcodePreview = defineComponent({
66
74
  const preview = useGcodePreview({
67
75
  createWorker: props.createWorker,
68
76
  renderer: {
77
+ mode: props.renderer,
69
78
  buildVolume: 'bed' in (props.buildVolume ?? {}) ? undefined : props.buildVolume,
70
79
  quality: props.quality,
71
80
  cameraMode: props.cameraMode,
72
81
  theme: props.theme,
73
82
  colorMode: props.colorMode,
74
83
  tube: props.tube,
84
+ adjacentLayers: props.adjacentLayers,
75
85
  ...props.rendererOptions
76
86
  },
77
87
  parseDefaults: props.parseOptions
@@ -131,7 +141,9 @@ export const GcodePreview = defineComponent({
131
141
  preview.controls.setLayerRange(range[0], range[1]);
132
142
  });
133
143
  watch(() => props.scrub, (scrub) => preview.controls.setScrubPosition(scrub));
144
+ watch(() => props.scrubTime, (t) => preview.controls.setScrubTime(t));
134
145
  watch(() => props.showTravel, (visible) => preview.controls.setKindVisible('travel', visible));
146
+ watch(() => props.showWipe, (visible) => preview.controls.setKindVisible('wipe', visible));
135
147
  watch(() => props.showRetractions, (visible) => preview.controls.setShowRetractions(visible));
136
148
  watch(() => props.colorMode, (mode) => {
137
149
  if (mode !== undefined)
@@ -9,10 +9,9 @@
9
9
  */
10
10
  import { type Ref } from 'vue';
11
11
  import type { GcodeParseSession, WireParseOptions } from '@chestnutlabs/gcode-parser';
12
- import type { ToolpathRenderer } from '@chestnutlabs/gcode-renderer-three';
13
12
  import type { MappedProgress, ProgressObservation } from '@chestnutlabs/toolpath-core';
14
- import { type GcodePreviewControls, type GcodePreviewState, type ParseOutcome, type PreviewControllerOptions, type PreviewEvent } from '@chestnutlabs/gcode-preview-core';
15
- export type { GcodePreviewControls, GcodePreviewState, ParseOutcome, PreviewEvent } from '@chestnutlabs/gcode-preview-core';
13
+ import { type GcodePreviewControls, type GcodePreviewState, type ParseOutcome, type PreviewControllerOptions, type PreviewEvent, type PreviewRenderer } from '@chestnutlabs/gcode-preview-core';
14
+ export type { GcodePreviewControls, GcodePreviewState, ParseOutcome, PreviewEvent, PreviewRenderer, RendererMode } from '@chestnutlabs/gcode-preview-core';
16
15
  /** Vue-facing options — identical to the controller's (the alias is the public name). */
17
16
  export type UseGcodePreviewOptions = PreviewControllerOptions;
18
17
  export interface GcodePreviewHandle {
@@ -30,7 +29,7 @@ export interface GcodePreviewHandle {
30
29
  /** Escape hatches — the neutral objects themselves (advanced use; not reactive). */
31
30
  raw: {
32
31
  session: GcodeParseSession;
33
- renderer: () => ToolpathRenderer | null;
32
+ renderer: () => PreviewRenderer | null;
34
33
  };
35
34
  onEvent(cb: (e: PreviewEvent) => void): () => void;
36
35
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-gcode-preview.d.ts","sourceRoot":"","sources":["../src/use-gcode-preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA0E,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,kCAAkC,CAAC;AAG1C,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,kCAAkC,CAAC;AAE1C,yFAAyF;AACzF,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,SAAS,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,IAAI,IAAI,CAAC;IACf,yFAAyF;IACzF,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAAC;IACjE,wFAAwF;IACxF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACnD,aAAa,IAAI,IAAI,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACnC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,oFAAoF;IACpF,GAAG,EAAE;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7E,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACnD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,kBAAkB,CAiCxF"}
1
+ {"version":3,"file":"use-gcode-preview.d.ts","sourceRoot":"","sources":["../src/use-gcode-preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA0E,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAG1C,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACb,MAAM,kCAAkC,CAAC;AAE1C,yFAAyF;AACzF,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,SAAS,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,IAAI,IAAI,CAAC;IACf,yFAAyF;IACzF,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAAC;IACjE,wFAAwF;IACxF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACnD,aAAa,IAAI,IAAI,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACnC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,oFAAoF;IACpF,GAAG,EAAE;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,MAAM,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC;IAC5E,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACnD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,kBAAkB,CAiCxF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chestnutlabs/gcode-preview-vue",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Thin Vue 3 integration for the Chestnut Labs G-code viewer (DD-007): useGcodePreview composable + GcodePreview component over the framework-neutral parser/renderer/progress packages.",
5
5
  "keywords": [
6
6
  "gcode",
@@ -50,10 +50,10 @@
50
50
  "test": "vitest run"
51
51
  },
52
52
  "dependencies": {
53
- "@chestnutlabs/gcode-parser": "0.2.0",
54
- "@chestnutlabs/gcode-renderer-three": "0.2.0",
55
- "@chestnutlabs/toolpath-core": "0.2.0",
56
- "@chestnutlabs/gcode-preview-core": "0.2.0"
53
+ "@chestnutlabs/gcode-parser": "0.4.0",
54
+ "@chestnutlabs/gcode-renderer-three": "0.4.0",
55
+ "@chestnutlabs/toolpath-core": "0.4.0",
56
+ "@chestnutlabs/gcode-preview-core": "0.4.0"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "vue": "^3.4.0"