Skip to content

feat(unity): write a mesh's vertex channels and submeshes as its arrays artifact - #79

Merged
nichinichisou0609 merged 1 commit into
redesign/depotfrom
redesign/mesh-arrays
Oct 15, 2026
Merged

nichinichisou0609 merged 1 commit into
redesign/depotfrom
redesign/mesh-arrays

Conversation

@nichinichisou0609

Copy link
Copy Markdown
Collaborator

Summary

Each converted Mesh gets an arrays artifact next to its glTF: a canon/1 JSON document in the mesh's local space with

  • positions (per vertex, as stored), normals, tangents, colors, uv0–uv7 (per vertex, the channel's components as floats with their own dimension; null when the mesh stores no such channel),
  • submeshes (per primitive: topology and absolute vertex indices; triangles as triples),
  • joints and weights of a skin (four per vertex; null without a skin).

A reader can draw a mesh from it without decoding glTF or undoing a change of axes. The mesh converter is mesh.glb/3. The live products (live.scene, live.notes, live.noteskin, live.noteeffect) keep only the json and arrays files of their meshes (prefabs.mesh_roles).

Tests

  • test_objexport.test_mesh checks the arrays document of a synthetic mesh; test_atoms_mesh covers a skinned line mesh and an empty mesh; the live scene test checks the kept roles of a Mesh.
  • Golden records regenerated for mesh.glb/3 under the pinned constraints.
  • Full suite, ruff and pyright pass.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

…ys artifact

Each converted Mesh gets an `arrays` artifact: canon/1 JSON in the mesh's local space with the positions, the
normal, tangent, colour and uv0-uv7 channels as floats, the submeshes (topology and absolute vertex indices), and
the joints and weights of a skin. The mesh converter is version 3. Live products keep only the json and arrays
artifacts of their meshes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nichinichisou0609
nichinichisou0609 merged commit 3251752 into redesign/depot Oct 15, 2026
8 checks passed
@nichinichisou0609
nichinichisou0609 deleted the redesign/mesh-arrays branch October 15, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant