Back to Blog
BlenderglTFAsset PipelineGit LFS

3D Homepage Development Log 03: From Blender Master to Verifiable Asset

Importing models was only the start. A maintainable 3D homepage needed Outliner hierarchy, a license ledger, reproducible export, and a manifest-enforced delivery chain.

·1 min read

As the desk, monitor, turntable, speakers, chairs, and plant entered the scene, the Blender file exposed a different problem: a model can render correctly and still be impossible to maintain. When books, cubies, and cabinet parts all sit at the first Outliner level, moving one furniture group or inspecting one interaction root becomes unnecessarily risky.

Group for Control, Not One Welded Mesh

The answer was not to Join every mesh into one object. Stable parent roots now collect the bookcase, listening system, desk devices, and office chair while their internal parts remain expandable. The Outliner can select and transform the complete asset without destroying the independent platter, chair seat assembly, or Rubik layers required by interaction.

External assets also enter a license ledger. Source, author, original link, modification, and use are recorded in licenses/assets.yaml. Production does not depend on Sketchfab or another model host at runtime; the page loads only the repository-delivered same-origin GLB and project-owned textures.

Source, Exporter, and Manifest Check One Another

The .blend is the authoritative master. Python scripts apply idempotent revisions and export a content-hashed GLB, same-camera AVIF poster, and manifest. The verifier checks object names, triangles, materials, image counts, cameras, wall topology, file sizes, and SHA-256 identities. Runtime loads only the version selected by the manifest, so superseded outputs can leave the delivery set safely.

Git LFS stores the large master, but LFS only improves Git transport. It does not make a visitor's download faster. Web payload still depends on GLB bytes, texture encoding, triangle count, and GPU memory. Separating authoring quality from delivery quality is what turned the room from “a Blender file that opens” into a reproducible, auditable web asset.

Current scene exported from the Blender master