Splat AR probe

Six tests. Run them in order on the iPhone. Test 1 is the important one.
Do this on your iPhone, not in the 3D viewer.
The viewer deliberately hides its AR button for splats — splats are filtered out of the AR export in code, so the button can never appear for one. That is expected, not a bug. This page tests the same files without the viewer.

What your device reports

Test 1 — control (a plain mesh cube)

Run this FIRST. If the cube appears and the splats don't, the problem is Apple's splat support. If the cube also fails, the problem is our packaging and this whole page proves nothing yet.
1
Orange cube mesh — control
Plain USD mesh. 4 KB. Must work.
control-cube.usdz
Orange cube mesh control USDZ preview

Tests 2–4 — the splat, at three quality levels

Same scene, different spherical-harmonics detail. SH is what makes a splat shift colour as you move around it. If test 2 works, splats in AR are real.
2
Money Tree splat — flat colour — start here
5.4 MB · 163,878 splats · no view-dependent colour
money-tree-sh0-5MB.usdz
Money Tree splat, flat colour USDZ preview
3
Money Tree splat — 1 SH band
8.4 MB · adds some view-dependent colour
money-tree-sh1-8MB.usdz
Money Tree splat, one SH band USDZ preview
4
Money Tree splat — full SH
20.2 MB · all colour detail. Above Quick Look's ~15 MB comfort limit, so a failure here is less conclusive.
money-tree-sh3-20MB.usdz
Money Tree splat, full spherical harmonics USDZ preview

Tests 5–6 — ruling out precision as the cause

Everything above uses half-precision numbers to keep files small. These use full 32-bit. If 2 fails but 5 works, the problem was our compression, not Apple.
5
Money Tree splat — full precision
8.7 MB · same data as test 2, but 32-bit instead of 16-bit
t5-sh0-f32.usdz
Money Tree splat, full 32-bit precision USDZ preview
6
Money Tree splat — small & precise
3.2 MB · 60k splats, 32-bit. Smallest file, fastest test.
t6-60k-sh1-f32.usdz
Money Tree splat, 60k splats full precision USDZ preview

Tests 7–8 — last structural variant

Everything above nests the splat under /World/SplatRoot. These put the splat prim at the very root of the stage instead, with no wrapper Xform at all. Test 7 is as close to bare-minimum as the schema allows. If these are also blank, the authoring space is genuinely exhausted.
7
Splat at stage root — minimal
3.2 MB · 60k splats, no SH, no nesting
t7-flat-minimal.usdz
Root-level minimal splat USDZ preview
8
Splat at stage root — full
3.2 MB · 60k splats, SH band 1, no nesting
t8-flat-full.usdz
Root-level full splat USDZ preview