Scope and purpose
Mesh Autopsy is a local 3D geometry inspection tool for OBJ, STL, GLB, and glTF 2.0 files selected by the user. Its single purpose is to render and diagnose user-provided mesh geometry through solid, wireframe, topology, normal, clipping, explode, group-isolation, and comparison views.
This record describes production version 1.0.0. It does not describe a cloud renderer, model marketplace, account service, remote asset browser, upload pipeline, or collaborative workspace because those features do not exist in this release.
How model files enter the extension
A model enters Mesh Autopsy only after the user chooses files through the browser file picker or drops files onto the local viewport. The extension does not enumerate folders, scan a drive, watch a directory, or silently reopen a previous model.
For a self-contained OBJ, STL, or GLB, a single main file is sufficient. For a glTF document that references an external local .bin buffer, the user must select the .gltf and the required .bin file together. The extension resolves that buffer only from the explicitly selected local File objects.
Primary file parsing
The selected main file is read through the browser File API into memory. OBJ text is parsed locally, polygon faces are triangulated, and named object/group/material boundaries are preserved as inspection groups when possible. STL input is classified as binary or ASCII and converted to triangle geometry locally.
GLB and glTF 2.0 input is parsed from the supplied JSON and buffer data. Node transformations are applied locally to supported triangle primitives. Position and normal accessors are read with range and stride checks before GPU buffers are created.
External glTF resources
Mesh Autopsy does not fetch external glTF URLs. If a .gltf file references geometry.bin, that buffer must be among the local files explicitly selected in the same file-picker interaction. A missing buffer causes a local error explaining what must be selected.
Base64 data URIs embedded in a glTF document are decoded locally. Network URLs, remote textures, and remote binary buffers are not requested by the production extension.
- No fetch is used to retrieve a missing .bin file.
- No model URL is sent to a resolver service.
- No remote material or texture library is consulted.
Unsupported compressed or sparse data
This release deliberately rejects Draco-compressed glTF primitives instead of silently submitting them to a remote decoder. Sparse glTF accessors are also rejected by the local accessor reader. Non-triangle primitive modes are skipped rather than converted with an undocumented approximation.
These limitations are product boundaries, not privacy exceptions. The extension does not send an unsupported model elsewhere for conversion.
Topology analysis worker
After parsing, Mesh Autopsy sends a structured clone of the local position and index arrays to an extension-packaged Web Worker. The worker calculates open-edge counts, non-manifold edge counts, degenerate triangle counts, index-connected island counts, triangle-area statistics, local valence signals, and a per-vertex irregularity heat value.
The worker is part of the installed extension and runs locally in the browser. It does not communicate with a web worker hosted on a server, and it does not have a network endpoint.
WebGL2 and GPU memory
The renderer creates local WebGL2 buffers for positions, normals, topology heat, triangle indices, sampled wireframe indices, and sampled normal helper lines. These buffers can reside in browser-managed GPU or software-renderer memory while the specimen is open.
WebGL buffers are presentation resources, not uploads. Clearing or replacing a specimen causes the renderer to delete its known buffers and vertex arrays, and closing the page ends the rendering context subject to normal browser resource cleanup.
Wireframe and normal sampling
For very dense geometry, Mesh Autopsy intentionally samples helper representations. The solid model retains its parsed triangle data, but wireframe edge drawing is capped by a step size when the mesh exceeds the helper budget, and normal arrows are sampled to a bounded number of triangles.
This performance behavior does not create or transmit a reduced copy. The helper arrays exist in local memory only and are rebuilt from the selected model.
Topology heat meaning
The Topology view is a diagnostic visualization, not a certification. The local worker increases heat for strong triangle-area differences, unusually tiny faces relative to the specimen median, and high local valence. It does not label a model as professionally valid or invalid.
The displayed signal is derived entirely from the selected geometry. No machine-learning service, model scoring API, or external mesh database is consulted.
Slice, explode, and group isolation
The Slice view changes a local shader clipping threshold along X, Y, or Z. The Explode view calculates display offsets from each parsed group centroid to the specimen centroid. Group Isolation controls which local index range is drawn.
These operations are non-destructive. They do not rewrite vertices in the original file and do not save a modified mesh to disk.
Compare overlay
After a primary specimen is loaded, the user may explicitly select a second supported model as a compare specimen. Mesh Autopsy parses that file locally and normalizes a copy of its position data to the primary specimen’s center and radius for wireframe overlay.
The comparison model exists only in the current extension page. The extension does not persist a history of compared file names or upload either model for alignment.
File names and material names
The interface can display the local file name and parsed group or material labels included in the model. Those strings remain in the page DOM for the current session so the user can identify what is being inspected.
Version 1.0.0 does not store those names in localStorage, IndexedDB, chrome.storage, cookies, a telemetry event, or a remote account.
Storage and retention
Mesh Autopsy does not use chrome.storage, localStorage, sessionStorage, IndexedDB, cookies, Cache Storage, or a custom database for models, diagnostics, compare files, camera state, group selection, or inspection settings.
Parsed arrays, diagnostic results, group information, and WebGL resources remain volatile. Pressing Clear Specimen removes the extension’s references and GPU buffers known to the renderer. Closing the tab ends the session. Normal operating-system or browser memory reclamation can occur asynchronously outside the extension’s direct control.
Network behavior and third parties
The production code contains no fetch, XMLHttpRequest, WebSocket, EventSource, remote analytics SDK, advertising SDK, cloud rendering call, remote script loader, or model-upload endpoint. The extension does not download executable code at runtime.
No third party receives model bytes through Mesh Autopsy. Browser APIs, the local worker, the parsers, and the WebGL shaders are included with or provided by the installed browser environment.
Chrome permissions
The manifest declares an empty permissions array. Mesh Autopsy does not request host permissions, tabs, history, downloads, storage, clipboard, notifications, identity, geolocation, camera, microphone, or persistent filesystem access.
The toolbar action opens the extension’s own application page. It does not grant the extension permission to read the currently viewed website.
Safety limits and malformed models
Local 3D files are untrusted input, so version 1.0.0 applies explicit bounds. The primary model file is rejected above 220 MB. Topology analysis is capped at 1.5 million triangles. Buffer offsets, accessor ranges, face indices, and GLB chunk boundaries are checked before use, and the topology worker has a caller-side timeout.
These checks reduce accidental resource exhaustion but cannot guarantee that every malicious or pathological file is harmless to every browser implementation. Users should still treat files from untrusted sources cautiously.
User controls and deletion
The Clear Specimen command deletes the renderer resources held for the primary and compare models, clears interface state, and removes active references to parsed geometry. Selecting a new primary specimen replaces the previous analysis after the new parse succeeds.
Because version 1.0.0 has no extension database and no cloud account, there is no separate server-side deletion request. The user controls the local session by clearing it or closing the extension tab.
Children and sensitive information
Mesh Autopsy is a general-purpose 3D inspection tool and is not designed specifically for children. It does not request a real name, email address, date of birth, precise location, contacts, payment data, or advertising identifier.
A 3D model can itself contain confidential geometry or revealing file/group names. The extension keeps that content local, but users should still choose models appropriate for the computer and environment in which they are working.
Changes and contact
If a later version introduces model export, persistent recent files, additional Chrome permissions, network resource retrieval, cloud analysis, remote decompression, accounts, telemetry, or third-party services, this policy should be revised to describe those changes before or alongside the release.
Questions about this policy or Mesh Autopsy behavior can be sent to hanhruiroc@gmail.com. Users do not need to attach a private model when asking a general privacy question or reporting an interface issue.