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.
- 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 and finite translation, rotation and uniform-scale baking.
- Deterministic normalized OBJ and binary STL 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.1.0.
The normalized preview/export mesh does not bake glTF node transforms or 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.1.0.zip with a SHA-256 sidecar.
Licence
GPL-3.0-or-later.