Skip to content

feat(flow-lenia): add verified ecosystem arena#35

Merged
StevenFAU merged 1 commit into
mainfrom
agent/flow-lenia-ecosystem-arena
Jul 18, 2026
Merged

feat(flow-lenia): add verified ecosystem arena#35
StevenFAU merged 1 commit into
mainfrom
agent/flow-lenia-ecosystem-arena

Conversation

@StevenFAU

Copy link
Copy Markdown
Owner

Summary

  • implement the complete Flow Lenia ecosystem and arena roadmap from M0 through M6
  • add deterministic Python references, fixtures, golden/property tests, and WebGPU browser proofs
  • add interactive organisms, localized genomes, mutation, arena fields/walls/gates/storms, experiment import/export, metrics, and provenance
  • publish the simulator in the public catalogue with generated poster/live-loop assets and deployment verification

Why

This turns the Flow Lenia research/specification into a reproducible, performant interactive simulation with explicit scientific and release gates.

Validation

  • pytest: 50 passed
  • Ruff and mypy: passed
  • web typecheck and M0/M2/M3/M4/M6 static checks: passed
  • production web build and link audit: passed
  • real Chromium WebGPU browser gates: passed, including byte-exact replay/round-trip and 18.9 ms p95 arena timing
  • public deployment pipeline validation: passed in two fresh browser profiles

Impact

Adds the new /sims/flow-lenia/ experience and its catalogue media. Existing simulators and unrelated workspace files are unchanged.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2207550a8e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

this.initialMass = snapshot.initialMass;
this.mixingRule = snapshot.mixingRule;
this.arenaDynamics = cloneDynamics(snapshot.dynamics);
this.lineageRing = snapshot.lineageRing.map((event) => ({ ...event, center: [...event.center], childFingerprint: [...event.childFingerprint], deltaH: [...event.deltaH], deltaQ: [...event.deltaQ] }));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve imported lineage affected masses

When an Arena experiment containing mutations is imported, this restores event.affectedMass in lineageRing but does not repopulate mutationAffectedMass; metrics() later rereads that GPU buffer and overwrites every ring event from it. In a fresh solver, or one with stale counters, the first metrics/export cycle after import changes the restored lineage history's affected mass to zero or unrelated values, so the advertised complete-state JSON no longer round-trips the lineage record accurately.

Useful? React with 👍 / 👎.

Comment on lines +417 to +418
const events = nextEventStep <= this.stepCount
? this.eventQueue.filter((event) => event.atStep === this.stepCount).slice(0, MAX_STEP_EVENTS)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Drain overflowed same-step brush events

When a scripted brush replay queues more than MAX_STEP_EVENTS brush events for the same atStep, this takes only the first slice and removes those IDs after the dispatch. The remaining events keep the old step; once stepCount advances, the exact atStep === this.stepCount filter never selects them, leaving stale events at the front of the sorted queue and preventing those edits, and later events behind them, from being applied.

Useful? React with 👍 / 👎.

@StevenFAU
StevenFAU merged commit 69265d2 into main Jul 18, 2026
82 of 83 checks passed
@StevenFAU
StevenFAU deleted the agent/flow-lenia-ecosystem-arena branch July 18, 2026 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant