SPECTER LABS
SPECTER LABS / ANATOMICAL COMPILER

Recovering the rule behind a Lenia body

One mature frame of Orbium was enough for a search to recover its rule parameters close to the native values, once the rule family and the starting cells were known. Without that knowledge the problem is harder, and this report follows what a search needs to be given before it can find a rule that grows and keeps the body we actually want.

Orbium at step 1,200 under the native rule.Native rule
Orbium at step 1,200 under the recovered rule.Recovered rule
The same starting cells under two rules The search scored only the step-600 field, and both bodies are shown at step 1,200. Follow this search →

The desired body keeps its form through a continuous process of local change, so recovering it means finding dynamics that sustain the anatomy as well as an image that resembles it. We approached that problem with two requests. Supplying a complete body let us search for a rule that maintains it, and fixing a known rule family let us recover hidden parameters from an observed frame.

An earlier version of this report led with a third request, a search scored on four trajectory measurements of corpus specimen 2876 that appeared to cut its cost from 6.99 to 5.26 and grew a segmented body. We have withdrawn that result, because the batched initializer behind the search grew every candidate rule from a different random starting field, so almost all of the reported improvement belonged to the starting fields, and the warm-start archive built with the same initializer is withdrawn with it.

01

We searched for a rule that could maintain a supplied body.

Here the search receives a complete body from the dataset as its initial field. The search must find a rule that keeps that field coherent, active, and topologically similar during the recorded rollout. It can now test how to sustain the anatomy without also having to discover how to grow it.

Target multichannel field, the target reseeded under the fitted rule, and a coherent body grown from noise under the same rule.
09

The center panel tests the actual objective: whether the fitted rule maintains the supplied field. The right panel asks a separate question. Starting the same rule from generic noise produces a coherent body, but not the requested anatomy.

0.095 → 0.060best recorded form drift
96%largest-component fraction in the target
10recorded search iterations

The fitted rule maintains the supplied anatomy over the recorded rollout. The full compiler must also discover a compact starting pattern and the rule that develops it into the requested body.

02

One mature frame was enough to recover nearby Orbium parameters.

Orbium lets us ask how much a mature body reveals when we already know the kind of rule that made it. We supplied its update law, kernel, growth function, and starting cells, then hid three numerical parameters: the interaction radius R, growth center m, and growth width s. Each candidate develops from those same starting cells and is compared with the reference body at step 600.

Fix the model

We fixed Orbium’s update rule and one-kernel geometry, then searched for the three parameter values. Other update laws and kernel layouts are outside this comparison.

Set a wrong starting point

The search starts from R=10, m=0.12, and s=0.024. These values disperse the initial cells into a ring and small fragments.

Search the full ranges

The first stage evaluates 2,688 parameter combinations. Every candidate runs for 600 steps.

28 × 96 rollouts

Refine the best region

The second stage evaluates 1,152 candidates near the broad-search winner. The selected rule is then run to step 1,200.

12 × 96 rollouts
Orbium simulated at step 600 with the deliberately incorrect starting parameters.
Initial proposalThe starting rule breaks the seed into a diffuse ring and small fragments.
Native Orbium target at step 600.
Observed bodyThis single step-600 field is the image used by the final-frame search.
Compiled Orbium at step 600.
Compiled resultThe recovered parameters grow one localized body with the target's structure.

The initial parameters fail. The fitted parameters produce a close reconstruction. Each candidate is simulated for 600 steps, then its complete field is compared with the reference field.

Hidden native ruleThe target is Chakazul O2(a). The search is scored against its step-600 field. The rule family and starting cells are supplied separately.
Fitted ruleThe body stays coherent through step 1,200, although the search was scored only at step 600.
10 → 12.94interaction scale R · native 13
0.12 → 0.1526growth center m · native 0.150
0.024 → 0.0180growth width s · native 0.017
3,840candidate rollouts · broad search plus local refinement
Initial, native, broad-search, refined still-frame, and refined trajectory parameter values for the Orbium inverse experiment.
10

The narrow second stage improved the field match from 0.878 to 0.969 and brought all three hidden values close to the native rule.

How the fitted body develops beyond the target frame

Native Orbium at step 600
Native rule
Recovered Orbium at step 600
Recovered rule
Step 600 is the only field scored by this search.
Compare all four recorded steps together
step 100 · unseen
step 300 · unseen
step 600 · target
step 1,200 · unseen
native rule
Native Orbium at step 100.
early history
Native Orbium at step 300.
early history
Native Orbium target at step 600.
observed phenotype
Native Orbium at step 1200.
held-out future
compiled rule
Compiled Orbium at step 100.
not scored
Compiled Orbium at step 300.
not scored
Compiled Orbium at step 600.
search target
Compiled Orbium at step 1200.
not scored

The fitted parameters also produced a coherent body at the unscored steps. This experiment isolates parameter recovery by supplying the update family, kernel geometry, growth function, starting cells, and elapsed time.

We repeated both stages with three frames

A control search used steps 100, 300, and 600. It returned R=12.80, m=0.1435, and s=0.0185. Its replay also remained coherent through step 1,200.

The single-frame run recovered closer values

Both runs used the same broad and refinement budgets. The three-frame run ended farther from the hidden values than the run scored only at step 600. This is one organism, so it does not establish that single-frame targets are generally better.

03

Nearby body measurements can come from distant rules.

The reconstructions raise a question about the whole collection: how many different rules can fit a similar body? We represent each body by its measured phenotype and call the set of compatible rules a fiber. If that set is broad, choosing a measured form still leaves considerable freedom in the dynamics that produce it.

A dimension bar decomposing the genotype into measured phenotype dimension and inverse-fiber dimension.
02

The corpus occupies about 25.5 intrinsic rule dimensions and 5.9 intrinsic phenotype dimensions. Their 19.6-dimension difference (20.9 with an alternative estimator) is estimated from the geometry of the samples; it is not the raw count of 40 parameters minus 15 measurements.

5,000 forms
Observed inverse locality ratio with a narrow interval compared with the shuffled null.
03

The ratio is 0.986, where 1.0 means that nearby measured bodies are no closer in rule space than shuffled pairs. The difference from 1.0 is detectable, but it is small.

Heatmap of seven local Jacobian singular values across twelve genotypes.
04

This local test perturbed 12 rules and followed seven descriptors. About five response directions crossed the threshold, but most sensitivity was concentrated in roughly 2.3 effective directions.

12 local probes

The 19.6 and 37.7 dimension estimates answer different questions. The first compares the global intrinsic dimensions of the 5,000-rule corpus and its 15 measured outcomes. The second subtracts the effective rank of a seven-descriptor local response from the full 40-parameter rule. Both indicate substantial ambiguity and should not be compared numerically.

How to picture the family of compatible rules
Schematic of a phenotype base space with genotype fibers above several phenotypes.
01A

Each point below represents a set of body measurements. The rules compatible with those measurements form the vertical set above it. The geometry is illustrative rather than measured.

schematic
Two different sections through genotype fibers selecting different rules over the same phenotype positions.
01B

Because several rules can fit the same target, the system needs a policy for choosing among them. Different policies may select rules with different unmeasured dynamics.

schematic
A path through genotype space projects to a phenotype path until it enters a failure band where no stable phenotype is produced.
01C

A smooth change in rule parameters can still pass through a region where no viable body develops. Search therefore has to preserve viability as well as reduce distance to the target.

schematic

Figures 01A–01C are conceptual diagrams. Figures 02–04 are generated from the frozen anatomical-compiler results.

04

How reliably does the search improve a target?

Retrieving a nearby rule gives the search a starting point; running it reveals whether that proposal produces the requested measurements. Earlier tests examined both parts: whether proposed rules produce stable bodies, and whether simulation-guided refinement improves their match across several targets.

The results below test parts of this system. The conditional proposal check used eight samples across two targets. The refinement result used four targets. The MLX and Swift comparison covered one rule, one starting field, and six steps.

The conditional model produced stable bodies but missed the target measurements.

1A1B1C1D2A2B2C2D

All eight simulations remained stable. Their mean descriptor error was 2.79 standardized units, where zero is a perfect match, and an average of 3.6 parameters per sample had to be clamped back into range. This is a two-target mechanism check, not an accuracy estimate for the full target population.

Four dumbbells showing every target moving from a higher start cost to a lower refined cost.
05

Lower is better on this standardized descriptor distance. Refinement improved all four targets, reducing the mean from 1.149 to 0.576, although one target still ended at 0.947.

four targets
Line chart of MLX versus Swift disagreement across steps two through six.
06

For one genotype and initialization seed, MLX and Swift remained closely aligned through step six. This check covers the beginning of one trajectory.

05

Shape predicted activity far better than locomotion.

A body that matches the requested shape may still move differently. To examine that gap, we measured six behaviors in 8,174 creatures and reduced them to principal axes. The first axis is dominated by speed, path length, displacement, and center velocity, so we call it locomotion. The second is dominated by energy and temporal variance, so we call it activity. Together they account for 87.2% of the behavioral variation.

Scatterplot of 8,174 creatures in the first two functional principal axes, colored by speed.
11

Most creatures occupy a dense low-speed region, while fast locomotion forms a sparse tail. Any model trained on this distribution will see many more slow examples than fast ones.

8,174 creatures
ActivityR² 0.725
LocomotionR² 0.038
TortuosityR² 0.110

Occupancy and spread helped predict activity. The same shape measurements explained only 3.8% of the locomotion axis. Matching form measurements does not determine how the result will move.

Observed versus predicted functional scores from the shape-to-function regression.
12

Activity predictions cluster near the diagonal. Locomotion predictions remain compressed near the bottom of the plot.

06

Endpoint density was a poor guide to developmental motion.

If many trajectories finish in the same region, it is tempting to picture development as rolling downhill toward it. We tested that picture by fitting a potential surface to the endpoints and comparing its downhill direction with the observed motion. The alignment was weak. In a separate test, five of eight genotypes became more dispersed after their starting conditions were perturbed. Frequent endpoints therefore did not supply the restoring dynamics a compiler would need to rely on.

Eight inferred basins in a two-dimensional descriptor space, sized by weight, with aggregate downhill alignment 0.124.
13

Across 3,600 trajectory points, observed drift aligned with the fitted downhill direction by 0.124. An alignment of 1 would follow the fitted landscape exactly; zero would show no preferred alignment.

Slopegraph of early versus late phenotype spread for eight genotypes run from six initial conditions.
14

Three rules narrowed the differences between their six initial conditions, while five widened them. The mean late-to-early spread ratio was 1.39, where values above 1 indicate divergence.

8 × 6 rollouts

Bulk shape was much more repeatable than motion across starting conditions. Across the same six initial conditions, mean variation was 2.5% for shape and 51% for motion. A rule can produce a broadly consistent form while leaving its trajectory highly contingent on the start.

Scatterplot of complexity versus drift for 80 coherent and random creatures.
15

Across 80 creatures, complexity and drift had a correlation of r = 0.045. In this sample, visual complexity provided almost no information about whether a body would remain near its initial location.

80 creatures
07

Can the search discover how to grow the body?

The two searches solve different parts of the problem, maintaining a supplied field and recovering parameters within a known family. None yet discovers both a compact seed and a rule that reliably grows an arbitrary requested body.

The next test should require the search to discover a developmental route: start from a compact seed, grow a withheld target body, and maintain its anatomy. Searching for the seed and rule together would address the part that the supplied-field experiment leaves open. Changed starting conditions and damage would then test whether the fitted dynamics keep producing and sustaining the requested body beyond the trajectory used to select them.

08

Each chart points back to a specific file.

The ledger records the source for every number, specimen, replay, and reused schematic. SHA-256 identifies the exact bytes. The June files do not contain the revision that produced those historical results; the September case-study entries include their exact configs and media.

Show source ledger
KindSourceBytesSHA-256 prefix
frozen artifactstage1_fresh_fiber.json1,4241fcae1ea8b1613f7…
frozen artifactstage1_jacobian_fiber.json4,6329e5e975176e31401…
frozen artifactstage2_cinn.json1,244d5ecd3b9f31ca5b6…
frozen artifactstage3_refine.json551be159631b5f0097f…
frozen artifactcompiled/demo1/result.json1,930cf085fb32904ed5f…
frozen artifactcompiled/demo1/target.png18,649de6ebc2862bb8589…
frozen artifactcompiled/demo1/creature.png16,35653dcf3f8d11f758a…
frozen artifactcompiled/demo1_cinn/result.json1,889a9f5988e1fa3c754…
frozen artifactcompiled/demo1_cinn/creature.png15,95758e787e1bf2451f2…
frozen artifactcompiled/form_demo/result.json6,826044567fdf4ea014c…
frozen artifactcompiled/form_demo/form_compile.png66,658b3b03d35b8af0ba2…
frozen artifactmlx_validation.json1,03979316f3cb993eef9…
frozen artifactqd_archive/archive.json350,936614a1919941427fd…
frozen artifactqd_archive/coverage.png2,321a6ed57c87e362506…
frozen artifactwaddington_flow.json2,1416537452489f02b52…
frozen artifactcanalization.json2,357c5a5924d1ae5c946…
frozen artifactfunctional-morphospace/functional_morphospace.json1,685e8f6e4b61b319865…
frozen artifactfunctional-morphospace/shape_function_coupling.json1,398b9923f08f942351a…
frozen artifactfunctional-morphospace/functional_morphospace.png65,95852f66e8726ea151a…
frozen artifactfunctional-morphospace/shape_predicts_function.png13,462101f3f6ed749b081…
frozen artifact3c15/functional_map_mlx/functional_map.json9,209e69a9cec67faaa34…
frozen artifact3c15/functional_map_mlx/bodies_montage.png139,54155b2a1b2466e1bab…
reused explanatory schematicsite/assets/blog/lenia-morphospace-report/fig-fiber-bundle.svg4,62143000b7e7db2b7c0…
reused explanatory schematicsite/assets/blog/lenia-morphospace-report/fig-sections.svg4,182569fec81d4c9dd71…
reused explanatory schematicsite/assets/blog/lenia-morphospace-report/fig-bridge-genotype-phenotype.svg3,035363d5905c657c2e8…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/experiment.json1,284e7d17cd2fca63593…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/still-es.json197,817c8262451e333bf09…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/still-run/best.json1412e99f52c9591bc8c…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/still-run/history.jsonl12,161540933e403833518…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/trajectory-es.json591,583dbb42ebb131bbec6…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/trajectory-run/best.json14397902a5fa38d9c4f…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/trajectory-run/history.jsonl12,205b3d53ac97bb5e77a…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-initial-600.png255,120040ffb2271b6a55b…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-inverse-summary.json1,271904916197598ed88…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-rule-recovery.svg6,418a0125a9a26e7e89b…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-still-100.png187,49388843f7bf4824041…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-still-300.png186,697b7b91bc0d08bd62f…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-still-600.png185,894e7eab62cced81915…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-still-1200.png189,6644c4cdf26049b32a0…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-still-zoom.mp4812,51837933bf5d5c5bb09…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-target-100.png186,0092befab83732f67c4…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-target-300.png187,7792aacf01203662f32…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-target-600.png186,927e0ca77a833258f14…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-target-1200.png186,7352d39c4a8ffcb94ed…
2026-09-02 within-family Orbium inverseorbium-system-id-v5/report-assets/orbium-target-zoom.mp4834,73812c499769fe12ce6…
2026-09-02 narrow Orbium refinementorbium-system-id-v6-refine/refine-es.json197,8197bcda98c84215935…
2026-09-02 narrow Orbium refinementorbium-system-id-v6-refine/refine-run/best.json14343c2f254196e5526…
2026-09-02 narrow Orbium refinementorbium-system-id-v6-refine/refine-run/history.jsonl5,165e28679376dddcbf6…
2026-09-02 narrow Orbium refinementorbium-system-id-v6-refine/trajectory-refine-es.json591,585840f48b9aab5b4be…
2026-09-02 narrow Orbium refinementorbium-system-id-v6-refine/trajectory-refine-run/best.json14093cfbf398087a085…
2026-09-02 narrow Orbium refinementorbium-system-id-v6-refine/trajectory-refine-run/history.jsonl5,1927b2bca59b1f57f3b…

The June and September evidence have different provenance. The frozen June artifact JSON files do not record their source revision, so artifactProducingRevision remains empty. The September within-family Orbium inverse is listed separately with exact configs, results, frames, and videos. The complete machine-readable ledger is source-manifest.json.