pcb-scene3d-viewer 1.3.4 → 1.3.5

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
@@ -47,6 +47,10 @@ second quarter-turn when the imported assembly envelope proves that its depth
47
47
  and height axes are already exchanged. See the
48
48
  [1.3.3 release notes](docs/release-notes-v1.3.3.md).
49
49
 
50
+ Version 1.3.5 reports OCCT worker resource failures to the current STEP load
51
+ and permits a later retry. See the
52
+ [1.3.5 release notes](docs/release-notes-v1.3.5.md).
53
+
50
54
  ## CircuitJSON 1.1 convergence
51
55
 
52
56
  Version 1.2.2 accepts the common document and prepared-context shapes returned
@@ -155,6 +159,7 @@ const controller = new PcbScene3dController(viewportNode, document)
155
159
 
156
160
  - [API](docs/api.md)
157
161
  - [CircuitJSON usage](docs/circuitjson.md)
162
+ - [1.3.5 release notes](docs/release-notes-v1.3.5.md)
158
163
  - [1.3.3 release notes](docs/release-notes-v1.3.3.md)
159
164
  - [1.3.2 release notes](docs/release-notes-v1.3.2.md)
160
165
  - [1.3.1 release notes](docs/release-notes-v1.3.1.md)
package/docs/api.md CHANGED
@@ -212,6 +212,9 @@ are unavailable, the viewer dynamically imports the ESM factory directly; it
212
212
  does not inject a classic script or depend on a global factory. Worker transfer
213
213
  uses a loader-owned byte snapshot, and rejected ESM initialization is evicted
214
214
  so callers retain their input and can retry transient failures.
215
+ Worker resource failures are returned to the loader as failed import results;
216
+ the loader rejects the affected request with the reported cause and can retry
217
+ the next load without an uncaught worker exception.
215
218
 
216
219
  Static `authHeaders` are sent only to the main model origin. A host that
217
220
  intentionally authorizes another origin can return headers from
@@ -0,0 +1,8 @@
1
+ # pcb-scene3d-viewer 1.3.5
2
+
3
+ The STEP loader now forwards a failed OCCT worker result with its resource
4
+ failure message instead of reporting only that the importer returned no meshes.
5
+ Failed loads are evicted from the model cache, so a later request can retry.
6
+
7
+ This release pairs with `@sunbox/occt-import-js` 0.0.29, which posts failures
8
+ as results rather than uncaught worker exceptions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pcb-scene3d-viewer",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
4
4
  "description": "Reusable Three.js PCB 3D scene viewer for normalized ECAD and CircuitJSON scene descriptions",
5
5
  "keywords": [
6
6
  "pcb",
@@ -40,6 +40,7 @@
40
40
  "docs/release-notes-v1.3.1.md",
41
41
  "docs/release-notes-v1.3.2.md",
42
42
  "docs/release-notes-v1.3.3.md",
43
+ "docs/release-notes-v1.3.5.md",
43
44
  "docs/model-format.md",
44
45
  "docs/testing.md",
45
46
  "spec",
@@ -234,6 +234,17 @@ export class PcbScene3dStepLoader {
234
234
  #handleWorkerMessage(event) {
235
235
  const activeRequest = this.#activeWorkerRequest
236
236
  this.#activeWorkerRequest = null
237
+ if (event?.data?.success === false && event.data.error) {
238
+ activeRequest?.reject(
239
+ new Error(
240
+ String(
241
+ event.data.error.message ||
242
+ 'STEP importer worker failed.'
243
+ )
244
+ )
245
+ )
246
+ return
247
+ }
237
248
  activeRequest?.resolve(event?.data || {})
238
249
  }
239
250