Skip to main content
Model Mender

Attribution

Licences and attribution

Every third-party component bundled into this site, and the format specifications its readers and writers implement.

Bundled open-source components

All of these are compiled into the site’s own JavaScript and served from this origin. Nothing is fetched from a CDN at runtime, so loading a page contacts no other party.

  • three 0.185.1 MIT

    The 3D viewer only. Loaded on demand after a model is added, never on a page that is just being read.

    https://github.com/mrdoob/three.js

  • fflate 0.8.3 MIT

    ZIP reading for 3MF packages, and ZIP writing for 3MF export and the batch archive.

    https://github.com/101arrowz/fflate

  • earcut 3.2.3 ISC

    Polygon triangulation with holes, used to build the caps when extruding an SVG outline.

    https://github.com/mapbox/earcut

  • next 16.2.12 MIT

    The site framework. Every page here is static; no server-side request handling is used.

    https://github.com/vercel/next.js

  • react / react-dom 19.2.4 MIT

    Interface rendering.

    https://github.com/facebook/react

  • @vercel/analytics 2.0.1 MIT

    Page-view counting. Never given any information about a model.

    https://github.com/vercel/analytics

Written here, not borrowed

The format readers and writers, the mesh analysis, the geometry operations, the SVG path flattener and the export validator are all original code written for this site. They deliberately avoid any dependency that needs a DOM, so the same code runs unchanged inside a Web Worker and inside the test suite.

Format specifications implemented

  • STL

    No formal standard body owns STL. The readers and writers here follow the widely implemented de-facto format: an 80-byte header with a 32-bit triangle count and 50-byte records for binary, and the solid/facet/outer loop grammar for ASCII.

  • Wavefront OBJ and MTL

    The original Wavefront Technologies specification, as universally implemented: v, vn, vt, f with 1-based and negative indices, o and g grouping, usemtl and mtllib.

  • PLY

    The Stanford Triangle Format, including ASCII, binary little-endian and binary big-endian encodings with arbitrary property ordering.

  • 3MF Core Specification

    3MF Consortium core specification: OPC packaging, the model XML with declared units, objects, components, build items and base materials.

  • glTF 2.0

    Khronos Group glTF 2.0, including the GLB container, accessors with sparse storage, buffer-view strides, node transforms and PBR base colour.

  • SVG 1.1 and SVG 2 path data

    W3C path grammar including all curve and arc commands, the transform attribute, and the nonzero and even-odd fill rules.

Test fixtures

No third-party model is bundled with this project. Every test fixture — boxes, spheres, tori, deliberately broken meshes, textured OBJ material libraries, 3MF packages with declared units and component transforms, glTF scene graphs, and the malicious archives used to test the defences — is generated from first principles by the test suite itself. There is no model in the repository whose provenance or licence is unclear.