@omrips/viewstl 2.0.0-rc.1 → 2.0.0-rc.3

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.
@@ -3,6 +3,54 @@
3
3
  This file records dated checks. Older sections describe the alpha at the time
4
4
  of each check; release-candidate results are recorded separately below.
5
5
 
6
+ ## Node.js model analysis 2.0.0-rc.3 — 2026-10-20
7
+
8
+ The new `@omrips/viewstl/node` export provides `analyzeFile`, `analyzeBuffer`
9
+ and `createAnalyzer`. It reuses the browser's parsers and mesh checks in Node
10
+ worker threads, loading CAD JavaScript/WASM from the installed package.
11
+
12
+ - All 123 tests pass on Node.js 24.19.0 on Windows. New tests cover real workers,
13
+ all five model formats, physical and unknown units, validated/invalid volume,
14
+ malformed input and recovery, buffer offsets and ownership, file/archive/
15
+ triangle/memory admission limits, bounded queues, cancellation, disposal,
16
+ whole-job and partial-check deadlines, and progress callback failures.
17
+ - A clean consumer installation of the packed tarball passes on actual Node.js
18
+ 20.20.2 and 24.19.0 on Windows. ESM and CommonJS each analyze STL, OBJ, 3MF,
19
+ STEP and IGES fixtures through the public export, including local CAD WASM.
20
+ Buffer input, unknown units and recovery after malformed input also pass.
21
+ - Strict TypeScript consumers pass for both module systems using Node types
22
+ without the DOM library, including against the installed package. Existing
23
+ browser TypeScript checks also pass.
24
+ - The package contains 40 files and no runtime dependencies. Installed files
25
+ match their release sources by SHA-256. The allowlist excludes test fixtures,
26
+ local test servers, credentials and node_modules.
27
+ - All 26 existing browser runtime/declaration/CAD assets match the public
28
+ `2.0.0-rc.2` package apart from embedded version strings. Browser behavior was
29
+ not changed; no new browser or physical-device test coverage is claimed.
30
+ - The legacy guard passes for tracked legacy files and all 14 archived files.
31
+
32
+ Linux/macOS execution, additional Node versions and large production workloads
33
+ have not been exercised in this release check. Memory budgets are estimates,
34
+ not a hard process RSS cap. STEP/IGES results describe the tessellated mesh,
35
+ not exact CAD solids. Optional FDM estimates are not a printability guarantee.
36
+
37
+ Reproduction scripts, packed/public-install verification, fixtures and terminal
38
+ evidence are retained locally in `test-results/npm-2.0.0-rc.3/` (ignored by Git).
39
+
40
+ ## Quick-start documentation update 2.0.0-rc.2 — 2026-10-20
41
+
42
+ The README and usage guide now begin with the minimum installation step and
43
+ a three-line HTML example. The example was extracted unchanged from the README,
44
+ served with the complete distribution directory and a binary STL, and verified
45
+ in the desktop Codex Chromium browser: the model rendered, the worker and model
46
+ requests succeeded, and keyboard rotation responded without console errors.
47
+
48
+ All 112 unit tests and the legacy preservation check passed. Every runtime asset
49
+ was compared with the installed public `2.0.0-rc.1` package; only the embedded
50
+ version string changed. This update does not add browser/device coverage beyond
51
+ the release-candidate verification below. Evidence is in the ignored local
52
+ `test-results/npm-2.0.0-rc.2/` folder.
53
+
6
54
  ## npm release candidate 2.0.0-rc.1 — 2026-10-19
7
55
 
8
56
  Prepared the first public npm package as `@omrips/viewstl`, with the release
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omrips/viewstl",
3
- "version": "2.0.0-rc.1",
3
+ "version": "2.0.0-rc.3",
4
4
  "description": "Local-first STL, OBJ, 3MF, STEP and IGES viewer with native WebGL2 and transferable worker geometry",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,6 +39,18 @@
39
39
  "default": "./build/v2/viewstl.cjs"
40
40
  }
41
41
  },
42
+ "./node": {
43
+ "node": {
44
+ "import": {
45
+ "types": "./build/v2/node/index.d.ts",
46
+ "default": "./build/v2/node/index.js"
47
+ },
48
+ "require": {
49
+ "types": "./build/v2/node/index.d.cts",
50
+ "default": "./build/v2/node/index.cjs"
51
+ }
52
+ }
53
+ },
42
54
  "./worker": "./build/v2/viewstl.worker.js",
43
55
  "./browser": "./build/v2/stl_viewer.min.js",
44
56
  "./assets/*": "./build/v2/*",
@@ -58,10 +70,12 @@
58
70
  "test": "node --test tests/v2/*.test.mjs",
59
71
  "check:legacy": "node scripts/check-legacy.mjs",
60
72
  "check:types": "tsc --noEmit --strict --module NodeNext --moduleResolution NodeNext --target ES2022 --lib ES2022,DOM tests/v2/types.ts",
73
+ "check:node-types": "tsc --noEmit --strict --module NodeNext --moduleResolution NodeNext --target ES2022 --lib ES2022 --types node tests/v2/node-types.mts tests/v2/node-types.cts",
61
74
  "prepack": "node scripts/build-v2.mjs && node scripts/check-legacy.mjs",
62
75
  "start": "node scripts/serve-v2.mjs"
63
76
  },
64
77
  "devDependencies": {
78
+ "@types/node": "^20.19.43",
65
79
  "esbuild": "0.28.2",
66
80
  "fflate": "0.8.3",
67
81
  "occt-import-js": "0.0.23",