Where the mass is
A pre-registered test of the spatial measures behind Parallax Ensemble: do they tell centered, decentered, side-loaded and edge-loaded compositions apart, on engines they were never tuned on, and what happens when the same prompt means different things to different engines?
The instrument
Parallax Ensemble compares two complete sets of generated images in the browser. It measures every image on 17 pixel-traceable axes and reports effect sizes with bootstrap intervals; the images never leave the device and no model judges another. This page tests the spatial part of that instrument: the Default Gravity Index (DGI, 0–100), a composite of how centered and frame-balanced an image's structural mass is, and four of its components:
- Mass drift: how far the structural centroid sits from the frame center.
- Inner mass: the share of structure inside the central region.
- Sector symmetry: how evenly structure is distributed around the center.
- Peripheral pull: how much structure loads the frame's outer band.
The test is a known-groups check (Cronbach & Meehl, 1955). Prompts were written to produce known differences (centered against side-loaded, center-sparse against corner-stressed), and the question is whether the measures move in the expected direction. That shows the instrument responds to what it claims to measure. It is not a calibration against human ratings, which is a separate and still open test.
Design
Ten prompt conditions × three engines × three aspect ratios (1:1, 2:3, 3:2) × twelve draws, 1,080 images in all. Four Phase 1 conditions vary placement directly: Centered, Decentered, Neutral and Side. Six Phase 2 conditions stress specific properties: Corner Stress, Edge Stress, Center Sparse, Symmetry Conflict, Texture Stress and Clutter Stress.
Sora was the development engine; its center, corner and edge sets had been examined first. Midjourney and OpenArt were held out. The expected directions were written down and frozen before any of the multi-engine images were measured, and a direction only counts if it holds within each aspect ratio as well as overall. Effect sizes are Hedges' g (Hedges, 1981). No significance threshold was set, because the generation records do not say whether the twelve draws came from separate jobs.
The measurements use the application's own JavaScript kernels. Images were decoded and resized with Sharp (Lanczos), so the results validate the kernels and their sensitivity to resolution, not exact parity with a browser's canvas decoder.
1 · On Sora, the spatial measures separate cleanly
The first frozen test used 36 Sora images; the full set of 108 (36 each of Center Sparse, Edge Stress and Corner Stress, balanced across aspect ratios) then replicated it. Every center-versus-corner direction held in every aspect ratio and at both 320 and 512 px.
| Measure (320 px) | Center Sparse | Edge Stress | Corner Stress | Center vs corner g | AUC |
|---|---|---|---|---|---|
| DGI (0–100) | 50.31 | 37.19 | 4.89 | 3.85 | 0.998 |
| Mass drift | 0.063 | 0.046 | 0.245 | 5.46 | 1.000 |
| Inner mass | 0.601 | 0.001 | 0.137 | 3.78 | 1.000 |
| Sector symmetry | 0.222 | 0.322 | 0.000 | 1.79 | 0.889 |
| Peripheral pull | 0.127 | 0.849 | 0.550 | 3.99 | 0.998 |
Effect sizes are in the expected direction for each measure. All 36 corner images score zero sector symmetry, a floor effect: the scale does not yet grade severe corner loading.
The edge condition is the useful one
Edge Stress places objects around the borders and leaves the middle empty. Its mass drift (0.046) is lower than Center Sparse's (0.063), because content spread around several sides balances the centroid near the center. A single centering score can therefore read a balanced perimeter as "centered". The components expose it immediately: inner mass is close to zero and peripheral pull is 0.849. DGI separates Edge Stress from Center Sparse only moderately (g ≈ 0.98).
DGI is a centered or frame-balanced composite, not proof that the center is occupied. Parallax Ensemble now reports a topology label beside it (central cluster, balanced perimeter, side or corner loaded, distributed field), so a balanced perimeter is not mistaken for a central cluster.
2 · The placement measures transfer to engines they were not tuned on
On the Phase 1 conditions, the expected ordering held on the two held-out engines in 46 of 48 pre-specified cells (engine × aspect × measure, for DGI, mass drift, inner mass and peripheral pull).
| DGI mean | Centered | Decentered | Side |
|---|---|---|---|
| Midjourney | 43.36 | 37.64 | 27.83 |
| OpenArt | 51.92 | 35.89 | 28.19 |
| Sora | 50.28 | 32.36 | 3.36 |
| Directions held (of 12) | Centered vs Side | Centered vs Decentered | DGI g, Centered vs Side |
|---|---|---|---|
| Midjourney | 12 | 11 | 1.01 |
| OpenArt | 11 | 12 | 1.52 |
| Sora | 12 | 12 | 6.59 |
The ordering transfers; the magnitude does not. Sora's Side images are far more extreme than the other engines', and individual components differ in strength by engine (Midjourney's mass drift barely separates Centered from Decentered, while its inner mass and peripheral pull do). That argues for reporting the components, not one number.
3 · The same words do not make the same composition
Phase 2 is where engines diverge. For Center Sparse against Corner Stress, the four expected measures held in 12 of 12 aspect-level cells on Sora, but in 5 of 12 on Midjourney and 4 of 12 on OpenArt. DGI separated the two conditions almost perfectly on Sora (AUC 0.998) and at roughly chance on Midjourney (0.591) and OpenArt (0.497).
| DGI mean (320 px) | Center Sparse | Corner Stress | Edge Stress |
|---|---|---|---|
| Midjourney | 46.83 | 44.58 | 35.31 |
| OpenArt | 41.42 | 41.61 | 35.06 |
| Sora | 50.31 | 4.89 | 37.19 |
This is not the measures failing: the same kernels transfer well on the Phase 1 manipulations. It is the prompt label failing as ground truth. Sora follows "corner stress" literally; Midjourney and OpenArt tend to normalize it into a denser or more central still life. Edge Stress transferred better (inner mass and peripheral pull held in 6 of 6 cells on Midjourney and Sora, 3 of 6 on OpenArt).
Texture and clutter exposed a naming issue. The expectation was a lower gradient-void ratio for Texture Stress and Clutter Stress than for Center Sparse. Sora met it in 6 of 6 cells; Midjourney and OpenArt in 1 of 6 each. Midjourney's Center Sparse images are often dark, contrasty and textured, so they have less gradient-quiet area than its nominal texture set. The measure is gradient sparsity, not semantic empty space, and should be named that way.
4 · Resolution
On Sora alone, 320 px looked sufficient (DGI r 0.997 against 512 px). Across all three engines it is less so:
| Measure, 360 images | 320 vs 512: r | mean change | 512 vs 768: r | mean change |
|---|---|---|---|---|
| DGI | 0.969 | 2.21 pts | 0.987 | 1.54 pts |
| Mass drift | 0.986 | 0.005 | 0.989 | 0.004 |
| Inner mass | 0.978 | 0.009 | 0.997 | 0.006 |
| Sector symmetry | 0.957 | 0.026 | 0.987 | 0.017 |
| Peripheral pull | 0.982 | 0.016 | 0.996 | 0.011 |
| Gradient-void ratio | 0.885 | 0.027 | 0.956 | 0.018 |
| Cohesion | 0.859 | 0.032 | 0.939 | 0.023 |
The tool now analyses at 512 px and keeps 320 px as a fast preview. Gradient-void ratio and cohesion, both derived from a segmentation mask, are the most resolution-sensitive and are flagged as such.
What this supports, and what it does not
Supports
- The spatial measures respond to designed placement differences, in the expected direction, on three engines and three aspect ratios.
- The placement ordering transfers to two engines held out from development (46 of 48 cells).
- Reporting components alongside DGI catches structures a single score would mislabel, such as a balanced perimeter.
- Results are stable across resolution, and more so at 512 px and above.
Does not yet support
- That a prompt label means the same composition on different engines. Engine × condition effects should be reported separately, never pooled.
- Calibration against blinded human ratings of center occupancy, edge and corner loading, clutter and symmetry.
- Causal comparisons between engines: prompts, model versions, seeds and job IDs were not recorded with the images.
- The color axes. Spatial prompts are not ground truth for hue, chroma or palette.
- Exact parity with in-browser decoding.
Method notes
- Integrity: 1,080 distinct SHA-256 hashes, no duplicate files. Twelve Clutter Stress Midjourney files are named 2:3 but are 3:2 by pixel size and design position; the analysis records the mismatch and uses the design field.
- The 108 Sora center, corner and edge images from the first test are part of the 1,080; they provide continuity, not a new replication.
- Resolution audit: draws A–D (360 images) at 320, 512 and 768 px.
- Excluded: presentation figures and a 60-image side study outside the balanced 10 × 3 design.
Sources
This page is compiled from the author's working studies: the two pre-registrations (Sora positional stress; multi-engine corpus, both 23 August 2026), their result files and validation reports. Earlier studies and drafts are archived at artistinfluencer.com.
References
- Cronbach, L. J., & Meehl, P. E. (1955). Construct validity in psychological tests. Psychological Bulletin, 52(4), 281–302.
- Hedges, L. V. (1981). Distribution theory for Glass's estimator of effect size and related estimators. Journal of Educational Statistics, 6(2), 107–128.