b2c3d

Provenance and Attribution

Every asset records what it came from and which model made it, every model is graded on whether its training data is released and openly licensed, and every bundled clip and material carries its credit.

Diagram of a provenance chain: a textured scene produced by texture_scene from untextured geometry, produced by generate_scene from an instance mask, produced by segment from the original uploaded image.

Provenance in b2c3d is a property of the data model, not a report written afterwards. A chain that stops at the model is a chain with a hole in it, so ours reaches through the model to what the model was trained on.

What every asset records

  • Lineage. An asset records its parents. A textured scene walks back through its geometry and instance mask to the image it came from, and that image back to the style it was generated with. Assets shows the chain in both directions.
  • Versions. Assets are immutable. A version records the version it replaced and, for something new made out of another asset, the version it was derived from, so history is a graph rather than a list.
  • Generation records. Every asset a job writes records the operation that produced it. A generation also records the model, seed and settings, and for concept art the prompt, the style and the composed prompt that was actually encoded, so a result can be reproduced and its model looked up against the policy below. Assets says "Generated by" an operation, and "imported" only when nothing produced it.
  • Standing travels with the output. A clip or rig from an interim model is marked as such, and the mark survives retargeting and every edit, because a derivative inherits it.
Diagram of a provenance chain from a textured scene back through untextured geometry and an instance mask to the original image, each step with its operation and content hash.

The model policy

A model may be depended on for release only if its training data is released and openly licensed. Both conditions, because the point is verifiability. An unreleased corpus cannot be checked; a released one that is not openly licensed can be checked, and fails. A corpus asserted to be open but never released is the worst case, because it reads as compliance while resting on nothing. The weight licence is a separate test that also has to pass.

The gate is release, not adoption. Some stages have no open-data model anywhere, and a working pipeline teaches what a stage needs, so the order is: find an open-data model wherever one exists; otherwise use the best available and build the stage; then replace everything that failed before release or any use beyond research. What the policy forbids is using a failing model silently. Each one is named when it is adopted, with what fails and what replacing it would take.

There are three standings:

  • Open-data. Passes. Our concept-art model, i1, is the example: its weights, code and training data are all released and openly licensed, which is why we chose it.
  • Interim. Usable while a replacement is found, and labeled on everything it makes. This covers i1's text encoder, the rig model, the text-to-motion model and its language encoder, the material estimator, and several of the reconstruction models.
  • R&D only. May not leave internal experiments. Components whose training data forbids commercial use live in a part of the codebase that release images do not contain, so the restriction is a property of the build and not of configuration.
Stage Standing of its models
Concept art i1 open-data; its text encoder interim; its decoder has no verdict recorded
Segmentation No verdict recorded yet
Scene generation R&D only (trained on non-commercial scene data)
Isolation, turnarounds, asset builds Interim, R&D only or no verdict recorded, by component
Texturing R&D only, plus components with no verdict recorded
Material estimation Classical first; the learned fallback is interim
Rigging Interim (training corpus unreleased)
Text to motion Interim (proprietary motion corpus), with an R&D-only alternative

None of these is a claim that a model is open. Where no verdict is recorded, the table says so rather than assuming one.

No model on reputation

A learned model has to beat the classical method before it is used. Taking the lighting out of a generated texture shows the rule at work. Classical delighting ships first: a spherical-harmonic shading fit against the mesh's normals, with a gate that leaves a texture untouched when lighting does not explain it. A learned estimator was tested against it, the first comparison was withdrawn as confounded, and a controlled re-test found the learned model better only where light is glossy or colored, five cases of eleven, and unusable for metallic. So it is used as a fallback for albedo where the classical gate declines, as a starting value for roughness, and never for metallic.

Bundled data, credited

The same rule applies to what ships in the box:

  • Materials and skies. The look library is CC0 materials and HDR environments from Poly Haven and ambientCG, credited anyway.
  • Motion capture. Takes from the CMU Graphics Lab Motion Capture Database, free for research and commercial use, which was created with funding from NSF EIA-0196217. That acknowledgement travels on every clip.
  • Walks and idles from the 100STYLE dataset, credited on every clip: Walk motion from the 100STYLE dataset (Mason, Starke and Komura), CC BY 4.0.
  • Mixamo is deliberately absent.

No model weights are bundled. Each is downloaded at first use from its publisher, so the organization running b2c3d obtains each model directly and accepts that publisher's terms.

Code has a licence too

A code licence is a different test from the model policy. A library compiled into the image that forbids commercial use binds the image itself, whatever any model's standing, so research-only rendering code is listed as R&D only and must be replaced before any release. b2c3d began as a fork of the MIDI-3D research model. The inherited code keeps its Apache-2.0 licence and every path is mapped in the repository's notice file; vendored model code may be repaired but not restructured, so it stays comparable with upstream.