Release 3D Tools v0.1.0

This commit is contained in:
2026-09-01 14:22:42 +02:00
commit b20c67c890
58 changed files with 10820 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
# Accessibility
Every input and selector has a native label, actions are keyboard-operable, status changes use a polite live region and statistics use semantic definition lists and table headers. The canvas has an accessible name and its essential information is duplicated in text; parsing, repair and export remain available without WebGL. Layouts collapse to one column and the shared shell provides visible focus plus system/light/dark themes.
+7
View File
@@ -0,0 +1,7 @@
# Architecture
The core/model.ts module converts every supported source into one inert model containing finite position/normal arrays, triangle indices and descriptive scene metadata. Parser-specific bounds are enforced before allocation and again on normalized geometry. Normal repair, transforms, statistics and exporters consume only that model.
The preview expands at most 200,000 triangles into a dedicated WebGL buffer. It uses fixed application-owned shaders and never compiles source-file content. Full statistics and exports still use the complete bounded model. glTF data URIs are decoded locally; non-data URIs are rejected.
All Vite assets use relative paths for nested portal mounting. Release packaging fixes ZIP ordering, timestamps and permissions.
+7
View File
@@ -0,0 +1,7 @@
# Privacy and security
Selected files stay in browser memory. There is no telemetry, persistence, account, external asset or background upload. CSP allows same-origin application fetches only.
Files are capped at 32 MiB; geometry at one million vertices and triangles; scene nodes at 10,000; JSON at depth 64 and 100,000 nodes. Non-finite numbers, invalid indices, truncated records, oversized lists and external glTF resources are rejected. OBJ material-library references are displayed only as an import note and never fetched.
WebGL receives normalized numeric arrays and fixed built-in shaders. File text cannot become HTML, JavaScript or shader source. A context failure disables preview without blocking inspection or export.