You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scene glb/gltf bundles now carry the upstream converter's deps digest in
their canonical name ({hash}_{depsdigest}_{platform}) in both the live/JIT
server and abgen-corpus, matching the asset-reuse flow the ab-cdn
deployment has run since v49. On by default; ABGEN_ASSET_REUSE=0 opts out
for parity runs against pre-v49 reference trees.
- naming: filter deps digests to GLB_DEP_EXTENSIONS (.bin + textures),
mirroring upstream computeDepsDigest — fixes digest divergence for glbs
referencing non-texture uris (also corrects the wearables path);
add split_bundle_stem for parsing canonical names
- live: per-entity deps-digest map (magenta-tolerant when enabled),
canonical naming + digest validation in the JIT build path, shared
{version}/assets/ space layout with entity-scoped read fallback,
pre-build HEAD probe that lists space hits in the manifest without
rebuilding
- space: signed HEAD support for the probe
- abcdn: flat lane strips the digest for owner-entity resolution
- corpus: canonical naming in derive_one_entity behind
EffectiveToggles.asset_reuse; strict mode skips digest-less glbs
(upstream skipped-assets semantics)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,6 +158,23 @@ Enabled when `ABGEN_S3_BUCKET` is non-empty (or `ABGEN_USE_SPACE=1`):
158
158
-`ABGEN_FALLBACK_VERSION` (default `v41`) - extra version prefix tried on space-cache lookups
159
159
-`ABGEN_WORLDS_CONTENT_URL` - worlds-content-server fallback for entity/content fetches that miss the primary source (default public worlds server; `0`/`off`/empty disables)
160
160
161
+
### Asset-reuse mode (upstream converter parity)
162
+
ON by default — the ab-cdn deployment has run asset-reuse since v49. Scene glb/gltf bundles use
163
+
the upstream converter's canonical naming and shared bucket layout (applies to the JIT server
164
+
and `abgen-corpus`). Set `ABGEN_ASSET_REUSE=0` to fall back to legacy `{hash}_{platform}` names
165
+
and entity-scoped space keys — needed only for parity runs against pre-v49 reference trees
166
+
(e.g. `--live-mode` sampling of v15–v41 vintages, whose manifests list non-digest names).
167
+
- glb/gltf bundles are named `{hash}_{depsdigest}_{platform}` — the digest is a 128-bit hash of
168
+
the glb's resolved `(file, hash)` dependency pairs (`.bin` + textures), so a glb whose
169
+
dependency set changes lands at a new name/key; textures stay `{hash}_{platform}`
170
+
- space keys move from entity-scoped `{version}/{entity}/{bundle}` to the shared
171
+
`{version}/assets/{bundle}` layout (entity-scoped keys remain a read fallback)
172
+
- before building, the space is HEAD-probed at the canonical key; hits are listed in the entity
173
+
manifest without rebuilding, so bundles are converted once across entities
174
+
- a glb whose deps can't be resolved is skipped (upstream skipped-assets semantics) unless
175
+
`ABGEN_MAGENTA_MISSING` is on, in which case unresolvable deps are dropped from the digest and
176
+
the build substitutes placeholder textures
177
+
161
178
### Registry index eager build
162
179
On `POST /entities/active|versions`, entities missing a converted bundle are queued for conversion; the
163
180
request waits up to the deadline, builds finish in the background. Knobs: `ABGEN_INDEX_EAGER_BUILD`
0 commit comments