@omrips/viewstl 2.0.0-rc.2 → 2.0.0-rc.4

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,57 @@
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
+ ## Runnable server example 2.0.0-rc.4 — 2026-10-20
7
+
8
+ The npm README now contains a clearly labeled server-only example, including
9
+ installation, the `analyze.mjs` filename, a three-line script that prints JSON,
10
+ and the command to run it. This is a documentation update.
11
+
12
+ The exact example was extracted from the packed README and run with a binary
13
+ STL using the installed package on Node.js 24.19.0 on Windows. The resulting
14
+ JSON contains the expected dimensions, surface area, validated volume and mesh
15
+ checks. All 40 packaged files match the local release sources by SHA-256.
16
+ All 31 existing browser/Node runtime, declaration and CAD assets match the
17
+ public `2.0.0-rc.3` package apart from embedded version strings. The legacy
18
+ guard passes for tracked files and all 14 archived files. No runtime logic was
19
+ changed; the broader API verification below still describes the implementation.
20
+
21
+ Evidence is retained locally in `test-results/npm-2.0.0-rc.4/` (ignored by Git).
22
+
23
+ ## Node.js model analysis 2.0.0-rc.3 — 2026-10-20
24
+
25
+ The new `@omrips/viewstl/node` export provides `analyzeFile`, `analyzeBuffer`
26
+ and `createAnalyzer`. It reuses the browser's parsers and mesh checks in Node
27
+ worker threads, loading CAD JavaScript/WASM from the installed package.
28
+
29
+ - All 123 tests pass on Node.js 24.19.0 on Windows. New tests cover real workers,
30
+ all five model formats, physical and unknown units, validated/invalid volume,
31
+ malformed input and recovery, buffer offsets and ownership, file/archive/
32
+ triangle/memory admission limits, bounded queues, cancellation, disposal,
33
+ whole-job and partial-check deadlines, and progress callback failures.
34
+ - A clean consumer installation of the packed tarball passes on actual Node.js
35
+ 20.20.2 and 24.19.0 on Windows. ESM and CommonJS each analyze STL, OBJ, 3MF,
36
+ STEP and IGES fixtures through the public export, including local CAD WASM.
37
+ Buffer input, unknown units and recovery after malformed input also pass.
38
+ - Strict TypeScript consumers pass for both module systems using Node types
39
+ without the DOM library, including against the installed package. Existing
40
+ browser TypeScript checks also pass.
41
+ - The package contains 40 files and no runtime dependencies. Installed files
42
+ match their release sources by SHA-256. The allowlist excludes test fixtures,
43
+ local test servers, credentials and node_modules.
44
+ - All 26 existing browser runtime/declaration/CAD assets match the public
45
+ `2.0.0-rc.2` package apart from embedded version strings. Browser behavior was
46
+ not changed; no new browser or physical-device test coverage is claimed.
47
+ - The legacy guard passes for tracked legacy files and all 14 archived files.
48
+
49
+ Linux/macOS execution, additional Node versions and large production workloads
50
+ have not been exercised in this release check. Memory budgets are estimates,
51
+ not a hard process RSS cap. STEP/IGES results describe the tessellated mesh,
52
+ not exact CAD solids. Optional FDM estimates are not a printability guarantee.
53
+
54
+ Reproduction scripts, packed/public-install verification, fixtures and terminal
55
+ evidence are retained locally in `test-results/npm-2.0.0-rc.3/` (ignored by Git).
56
+
6
57
  ## Quick-start documentation update 2.0.0-rc.2 — 2026-10-20
7
58
 
8
59
  The README and usage guide now begin with the minimum installation step and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omrips/viewstl",
3
- "version": "2.0.0-rc.2",
3
+ "version": "2.0.0-rc.4",
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",