@chestnutlabs/gcode-parser 0.20.0 → 0.20.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAoB,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAuB,MAAM,eAAe,CAAC;AAElH,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACtD,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;IACzC,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC;CACjC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM;gBAFhB,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED,qBAAa,cAAe,SAAQ,iBAAiB;aAGjC,OAAO,CAAC,EAAE,WAAW;IACrC,+EAA+E;aAC/D,UAAU;gBAH1B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,WAAW,YAAA;IACrC,+EAA+E;IAC/D,UAAU,UAAQ;CAKrC;AAeD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,gBAAgB,CAAsE;gBAElF,IAAI,GAAE,cAAmB;IAOrC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAKtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAKlF,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB/E,MAAM,IAAI,IAAI;IAed,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,SAAS;CAmClB"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAoB,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAuB,MAAM,eAAe,CAAC;AAElH,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACtD,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;IACzC,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC;CACjC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM;gBAFhB,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED,qBAAa,cAAe,SAAQ,iBAAiB;aAGjC,OAAO,CAAC,EAAE,WAAW;IACrC,+EAA+E;aAC/D,UAAU;gBAH1B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,WAAW,YAAA;IACrC,+EAA+E;IAC/D,UAAU,UAAQ;CAKrC;AAeD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,gBAAgB,CAAsE;gBAElF,IAAI,GAAE,cAAmB;IAOrC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAKtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAKlF,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB/E,MAAM,IAAI,IAAI;IAmBd,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,SAAS;CAmClB"}
package/dist/session.js CHANGED
@@ -75,6 +75,11 @@ export class GcodeParseSession {
75
75
  const active = this.active;
76
76
  if (active === null || this.worker === null)
77
77
  return;
78
+ // Idempotent: a second cancel() on the same in-flight parse (e.g. the controller cancels before a
79
+ // re-parse) must not schedule a second backstop. Overwriting cancelTimer would orphan the first
80
+ // timer, which then fires later and terminates whatever parse is running by then — wedging it.
81
+ if (active.cancelTimer !== undefined)
82
+ return;
78
83
  this.worker.postMessage({ v: PROTOCOL_VERSION, type: 'cancel', id: active.id });
79
84
  active.cancelTimer = setTimeout(() => {
80
85
  // Last-resort backstop (§5.2): the cooperative path failed to acknowledge.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chestnutlabs/gcode-parser",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "description": "Worker-safe G-code parse core producing ToolpathIR (DD-003).",
5
5
  "keywords": [
6
6
  "gcode",
@@ -49,9 +49,9 @@
49
49
  "test": "vitest run"
50
50
  },
51
51
  "dependencies": {
52
- "@chestnutlabs/toolpath-core": "0.20.0",
53
- "@chestnutlabs/gcode-dialects": "0.20.0",
54
- "@chestnutlabs/gcode-containers": "0.20.0",
55
- "@chestnutlabs/gcode-bgcode": "0.20.0"
52
+ "@chestnutlabs/toolpath-core": "0.20.1",
53
+ "@chestnutlabs/gcode-dialects": "0.20.1",
54
+ "@chestnutlabs/gcode-containers": "0.20.1",
55
+ "@chestnutlabs/gcode-bgcode": "0.20.1"
56
56
  }
57
57
  }