← Back to project

WilD3DGen · Weekly update, Sep 1 – Sep 8

data audit week: texture-swap bug + colour-space convention found and fixed · v12 restarted on fixed data (S1 done, S2 at 29–45k) · text-to-3D benchmark closed out
weeklydata-auditv12S1S2text-to-3D

TL;DR

Two silent data defects found and fixed this week. (1) 45% of TexVerse and 30% of SketchfabV1 condition renders showed another asset's texture (Blender persistent-data cache bug) — 461k assets flagged, 313k re-rendered, 309k re-captioned. (2) Textureless materials store their baseColorFactor as linear light but are read as sRGB, so their GT colours are darker and more saturated than the input render — 97k latents repaired. Both fixes are pointer-manifest based and fully revertible.
v12 restarted from scratch on the fixed data. Stage 1 (connector-only, 26k) finished for all three towers; Stage 2 (full fine-tune, 106k) is at shape 45k / tex 45k / SS 29k. The tex tower's image path reached parity with the s3_t50b reference by S2 10k; SS text alignment (ULIP rel. GT) climbed 0.86 → 0.975.
Text-to-3D benchmark finalised (7 models, 47 prompts, UV bug fixed): roadv1 beats our previous v10 on every metric and matches TIGON / TRELLIS-text on ULIP-T and Uni3D-T, but trails them on CLIP-T and DINO distance. The gain over v10 comes from the SS tower (paired t ≥ 3), not the geo/tex towers.
Blocking now: the /fsx user quota was cut to 5 TB against 37.8 TB used, so every checkpoint save fails (tex already lost its 45k save). Needs an admin decision before the S2 runs reach their next save.

1 · Text-to-3D benchmark closed out (Sep 1–2)

Model (n=47)CLIP-T×100 ↑ULIP-T ↑Uni3D-T ↑Hung-CLIP ↑KD_dinov2×100 ↓FD_point ↓
GT ceiling26.310.1610.26400
roadv1 46k-EMA25.870.1630.27382.470.439.3
roadv1 60k-EMA25.620.1650.28081.377.934.7
v10 cascade (previous model)24.580.1420.24480.571.948.6
TIGON27.970.1770.28183.731.744.5
TRELLIS-text-XL27.690.1660.27883.433.037.1
UV bug evidence: the same GLB rendered before (scrambled atlas patches) and after the V-flip fix. Every render-based metric before Sep 2 was measuring this artefact.
roadv1 60k-EMA full chain on held-out assets (GT | text seed 0 | text seed 1 | image). Text→3D produces plausible but differently-posed objects, image→3D tracks GT — the reason text is scored GT-free.

2 · Frozen-DiT ablation and the v12 recipe (Sep 2–4)

SS tower (EMA, n=24)roadfrz 20kroadfrz 35kroadv1 46k-EMA (full FT)
occ IoU text / image0.094 / 0.2220.110 / 0.2290.109 / 0.231
ULIP rel. GT text / image0.995 / 1.0120.939 / 1.0020.931 / 0.987
retrieval top-1 text / image (random 0.042)0.375 / 0.3330.292 / 0.292
roadv1 60k-EMA (full fine-tune) vs roadfrz 35k (connector only), same six held-out assets. Visually indistinguishable — the case for starting v12 with a connector-only stage.
v12 task mixture per tower: text-heavy (70%) with 2–4-view multi-image at 15%. Same mixture for SS, shape and tex.

3 · Texture-swap bug in renders_cond: audit, re-render, re-caption (Sep 4–6)

Subsetwith GTconfirmed SWAP+MISMATCHnote
TexVerse (chunk-indexed)324,806146,522 (45%)re-rendered
SketchfabV1 (chunk-indexed)349,422104,729 (30%)re-rendered
SWH301,92815,966 (5.3%)own-GT rule only (recall ~55%); excluded
ObjaverseXL github / sketchfab150,583 / 60,2888,243 / 4,708 (5.5 / 7.8%)excluded
TexVerse old route, ABO/HSSD/Toys4k109,000 / ~14k1,393 / 409excluded
Share of GT-bearing assets flagged per subset. Dark = confirmed swap/mismatch; light = extra assets caught by the strict p85 rule, mostly good ones re-rendered on purpose. Chunk-indexed subsets are 6–9× worse because only they had chunk order to catch swaps.
Reproduction: the same chunk rendered with persistent data ON (top) vs OFF (bottom). ON shows an earlier asset's texture; OFF matches the source.
Spot check of SWAP verdicts: condition render | own decoded GT | GT of the alleged predecessor asset. The render matches the predecessor, not itself (23/24 sampled verdicts confirmed).
Before/after for re-rendered assets: old render | decoded GT | new per-asset render. The new render matches GT.

4 · Second finding: flat-colour materials stored in linear light (Sep 6)

Manifest (_ff)keptdroppedrenders repointedpbr repointed
pool1800k1,469,650174,748267,46587,375
pool800k_pbr554,353121,41685,77825,092
pool400k346,62528,74385,504
Colour-space sheet: old render | decoded GT | new render | factor interpreted as sRGB | factor raw. GT equals the raw factor to ±1; every renderer shows the sRGB-interpreted colour.
Flat-fix pilot on 8 assets: condition render | GT before | GT after linear→sRGB re-encode. Fixed GT now matches the input colour; voxel coordinates unchanged.
Acceptance leftovers after re-render (old render | GT | new render): the residual mismatches are flat-coloured parts, i.e. the convention issue, not swapped textures.

5 · v12 Stage 1 on fixed data (Sep 6–7)

Tower probes across S1 (connector-only) and S2 (full unfreeze): shape surf_dev and tex chroma_dev on viz16 (medians). Tex image path drops to t50b parity within 10k steps of unfreezing; shape image path oscillates around the reference; text paths remain the weak point.
S1 end: all-new full chain (SS 20k → shape/tex 26k), GT | text seed 0 | text seed 1 | image. Geometry follows the prompt; colours of textureless parts are flatter than GT.
Tex tower at S1 26k (input | GT | text | image | t50b reference). Image-conditioned colours are close but desaturated; text-conditioned colours are the outlier.

6 · v12 Stage 2 full fine-tune (Sep 7–8, running)

SS tower (24 held-out, EMA)S1 20kS1 26kS2 5kS2 10kS2 20k
occ IoU text / image0.097 / 0.2140.104 / 0.2170.103 / 0.2230.108 / 0.2280.101 / 0.224
ULIP rel. GT text / image0.931 / 0.9910.896 / 0.9810.928 / 0.9690.975 / 0.971
retrieval top-1 text / image0.250 / 0.2920.292 / 0.3330.292 / 0.3330.333 / 0.292
SS tower readouts across S1 and S2. Occupancy IoU is flat; ULIP text alignment keeps climbing after unfreezing and now nearly matches the image path.
S2 full chain (SS 20k → shape/tex 30k), GT | text s0 | text s1 | image. Compared with the S1 chain above, textures are more saturated and closer to GT on the image path.
Shape tower at S2 40k (input | GT | text | image | t50b). Image path comparable to the reference tower; text path plausible but coarser.
Tex tower at S2 40k. Image path now matches t50b in colour fidelity; text path still guesses colours.

7 · Incidents and lessons

Open questions

WilD3DGen weekly · Sep 1 – Sep 8, 2026 · probes on viz16 (n=16) and 24 held-out assets are trend indicators, not formal results (formal = val200 / test200).