Skip to content

Initialize tutorial founders below their sampled division thresholds - #26

Merged
marpaia merged 2 commits into
masterfrom
marpaia/22
Sep 25, 2026
Merged

marpaia merged 2 commits into
masterfrom
marpaia/22

Conversation

@marpaia

@marpaia marpaia commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #22.

Several tutorials requested founder lengths above their sampled division thresholds, causing division before any growth. Sample each target once and cap the initial native length at that value, including downward single-precision rounding when needed. Apply this to all 24 tutorial scenarios plus culture-dish and microfluidic-trap builders. Radius, position, orientation, type, concentrations, target distributions, and RNG draw order are preserved.

Add opt-in UniformLengthDivision.initialize_founders() and capped_founder_length(). Existing raw cell addition, intentionally oversized founders, strict division comparisons, and checkpoint restoration remain available. Document centerline length versus biochemical biomass and geometric capsule volume. The existing checkpoint source-digest guard still requires retaining the original model file for older runs.

Validation:

  • 165 focused tests pass: 26 scenarios × four seeds, zero-time regulation, subsequent division, deterministic initialization, oversized checkpoint restoration, native rounding, unchanged RNG state, and the rare short Gaussian target at seed 3103.
  • Full Python regression suite: 459 passed, 56 skipped; the final additional rare-seed test also passes separately. CPU and available Metal tests ran; CUDA and legacy-source-dependent checks were skipped.
  • Ruff and diff whitespace checks pass. Pyright reports 0 errors and the existing native-module-source warning in flow_reference.py.

Independent contribution: base master; no prerequisite campaign branches.

Independent review is complete against the original acceptance criteria and intended review base. The review report records per-criterion evidence, both corrected campaign findings, exact tested heads, landing order and platform limits.

Merged into master in the approved campaign order: #26, #27, #28, #31, #34, #36, #29, #30, #33, #35, #37, #32. The final tree preserves the reviewed implementation and integration regressions. Prerequisites were integrated with merge commits, and the frozen review bases were retained.

Landing validation: 534 Python tests passed (57 environment-dependent skips), 115 viewer tests passed, Ruff lint, strict type checks, viewer build/format checks, and actual Chromium feature/integration checks passed. Pyright retains the existing native-extension source warning. A Windows-only documentation link-test encoding failure was reproduced and fixed with an explicit UTF-8 read; the corrected final PR heads passed Windows CLI/shutdown checks and CUDA compilation. NVIDIA runtime execution remains unverified.

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.

Initialize native tutorial founders at or below their division thresholds

1 participant