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?

Russell Parrish · Parallax Metrology · expectations frozen 23 August 2026 · 1,080 images from Sora, Midjourney and OpenArt

Held-out engines
46 / 48
pre-specified directions correct on Midjourney and OpenArt
Sora, center vs corner
108 / 108
images analysed; every direction held in every aspect ratio
Same prompt, other engines
0.59 · 0.50
DGI AUC on Midjourney and OpenArt, against 0.998 on Sora
512 vs 768 px
r 0.99
DGI agreement across 360 images
Duplicates
0
1,080 distinct SHA-256 hashes

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:

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.

Grid of one representative image for each of ten prompt conditions on Midjourney, OpenArt and Sora
Figure 1. One fixed draw per condition and engine (Midjourney, OpenArt, Sora, left to right). Read down the Corner Stress and Center Sparse rows: Sora's corner pile and empty-field center are literal; the other two engines often stay broad or centrally organized under the same words.

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 SparseEdge StressCorner StressCenter vs corner gAUC
DGI (0–100)50.3137.194.893.850.998
Mass drift0.0630.0460.2455.461.000
Inner mass0.6010.0010.1373.781.000
Sector symmetry0.2220.3220.0001.790.889
Peripheral pull0.1270.8490.5503.990.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 meanCenteredDecenteredSide
Midjourney43.3637.6427.83
OpenArt51.9235.8928.19
Sora50.2832.363.36
Directions held (of 12)Centered vs SideCentered vs DecenteredDGI g, Centered vs Side
Midjourney12111.01
OpenArt11121.52
Sora12126.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 SparseCorner StressEdge Stress
Midjourney46.8344.5835.31
OpenArt41.4241.6135.06
Sora50.314.8937.19
Three draws each of Corner Stress, Edge Stress and Center Sparse from Midjourney and OpenArt
Figure 2. Three fixed draws per cell from the held-out engines. Midjourney's and OpenArt's "corner stress" images often fill a broad table region or stay centrally arranged; the measures report the composition the engine made, not the one the prompt asked for.

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 images320 vs 512: rmean change512 vs 768: rmean change
DGI0.9692.21 pts0.9871.54 pts
Mass drift0.9860.0050.9890.004
Inner mass0.9780.0090.9970.006
Sector symmetry0.9570.0260.9870.017
Peripheral pull0.9820.0160.9960.011
Gradient-void ratio0.8850.0270.9560.018
Cohesion0.8590.0320.9390.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

Does not yet support

Method notes

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