37 lines
2.1 KiB
Markdown
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.
|