Files
3d-tools/README.md
T
zemion f838480278
Verify / verify (push) Canceled after 0s
Release 3D Tools 0.2.0
2026-09-02 09:56:02 +02:00

37 lines
2.1 KiB
Markdown

# 3D Tools
Inspect, preview, repair and export triangle meshes locally in the browser. Files never leave the device.
## Features
- Real bounded parsers for Wavefront OBJ, binary/ASCII STL, ASCII/binary little-endian PLY and glTF 2/GLB 2.
- Inert embedded glTF buffers only; external buffers, textures, scripts and OBJ material libraries are never fetched.
- Correct selected-scene hierarchy, matrix/TRS transform and mesh-instancing
flattening, including normal matrices and mirrored winding.
- Metallic/roughness material inspection covers base colour, emissive factor,
alpha, sidedness and declared texture slots without decoding texture content.
- Worker-based parsing with progress, cancellation and stale-result suppression.
- Mesh, material, scene-node, bound, surface-area and degenerate-triangle statistics.
- Responsive drag-to-rotate WebGL preview capped independently from full-file analysis.
- Area-weighted normal repair, degenerate-triangle removal and finite translation,
rotation, uniform and per-axis scale baking.
- Deterministic normalized OBJ, binary STL and bounded ASCII PLY exports with
explicit format-loss notes.
- Offline PWA and shared Toolbox system/light/dark shell.
## Supported subset and limits
Input is capped at 32 MiB, one million vertices, one million triangles, 10,000 glTF scene nodes, JSON depth 64 and 100,000 JSON nodes. OBJ polygons and PLY faces are fan-triangulated. PLY supports version-1.0 ASCII and binary little-endian scalar/list properties. glTF supports embedded buffers, FLOAT POSITION/NORMAL accessors, unsigned indices and TRIANGLES primitives. Sparse accessors, animations, skins, textures, Draco/Meshopt and external resources are not decoded in v0.2.0.
The normalized preview/export mesh bakes the selected glTF scene hierarchy and
instances, but does not recreate source material graphs. These limitations are
reported rather than silently represented as equivalent output.
## Development
Run npm ci, npm run check, npm run test:browser and npm run package:release -- --force with Node.js 22+ and npm 11. The deterministic artifact is release/3d-tools-0.2.0.zip with a SHA-256 sidecar.
## Licence
GPL-3.0-or-later.