mino.mobi / splice / roadmap

Roadmap

The path from a deterministic cloning engine to a tiered game over the tool. For the why behind these choices, see the docs.

✓ live Phase 2 — engine ✓ live Phase 3 — assembly game ✓ proven Phase 6 — HMMER spike

Phased plan

The deliverable is a tiered game over the tool. The critical path to a playable game is the cheap deterministic engine (Phase 2), not the C-library work — so the game ships first, and the expensive HMMER port is deferred to the pro-tool tier.

  1. Phase 1 — primer3 spike (off critical path). A Rust crate that vendors primer3 and FFIs oligotm/primer-picking via bindgen+cc, compiled to WASM. Validates "reuse C from Rust → WASM" on the easy lib; later powers Tm-based fitness in directed-evolution and a primer-design mode.
  2. Phase 2 — the deterministic engine. ▶ live. The deterministic subset in Rust → WASM: restriction mapping (30-enzyme table with sticky/blunt overhangs), translation + 6-frame ORFs, circular/linear maps, in-silico PCR, digest → gel, and cloning (cut vector + insert, ligate compatible overhangs → recombinant plasmid). Dependency-free (~85 KB wasm), validated against pUC19. The scoring oracle and the workbench core. Open the lab →
  3. Phase 3 — Assembly-puzzle game. ▶ vertical slice live. Pick restriction enzymes to cut a vector + insert, ligate compatible ends, build the target plasmid — every move auto-graded by the engine. Three levels (directional clone → internal-cutter trap → find-the-pair), star scoring vs enzyme par. Clone the construct →
    Next: procedural level generation, cost/step optimization + leaderboard histograms, Fluoddity's score/atlas shell.
  4. Phase 4 — Directed-evolution game (the Fluoddity bridge). Swap Fluoddity's Fourier genome for real DNA; objective fitness functions (codon-optimize, strip sites, GC/Tm); fork + publish constructs as ATProto records; phylogeny + cross-user atlas. Reuses the existing breed→select→fork→gallery loop almost verbatim.
  5. Phase 5 — tier the ramp + real-construct export. Wire the casual puzzle front-end to graduate into the workbench surface; GenBank export you could take to a bench.
  6. Phase 6 — HMMER (pro-tool only; viability proven). The hardest dependency — hot loops are hand-written SSE intrinsics with no WASM equivalent — has been spiked and passes (bit-identical to native, ~6% slower). In-browser is viable; server-side is now a choice, not a necessity. See the spike →

The two game modes

Both run on the cheap Phase-2 engine — no primer3, no HMMER — which is why the game ships before the expensive C-library work.

ModeLoopEngineReuse
Assembly puzzle
Zachtronics-style
Given a target construct + a parts library, assemble a valid plasmid under real constraints. Scored on validity, then optimized for cost / steps / elegance. Phase 2 · live Fluoddity's score / leaderboard / atlas shell
Directed evolution
the Fluoddity bridge
Mutate real DNA toward an objective fitness target (codon-optimize, strip restriction sites, tune GC / Tm). Fork and publish constructs as ATProto records; grow a phylogeny; climb a cross-user atlas. Phase 2 (+primer3 later) Fluoddity's breed→select→fork→gallery loop, almost verbatim

Audience: tiered. A casual puzzle front-end that graduates into the real workbench. New players get an abstracted puzzle that hides bookkeeping; as they level up, more of the real tool's surface (and real-construct export) is revealed. The game is the onboarding ramp to the tool, not a walled-off toy.

Decisions

Settled

Game directions: both assembly puzzle and directed evolution (Phases 3 & 4). Both run on the cheap Phase-2 engine.
Audience: tiered — a casual puzzle front-end that graduates into the real workbench (Phase 5).
Build path: Phase 2 engine first (done), assembly game on top (done), HMMER deferred to the pro tier (spiked, proven).

Still open

How central is HMM search (the /hmmscan surface) to the audience? (Technical viability is settled — see the spike; this is purely a product-priority call, and if built, in-browser vs server-side for the profile DB.)
Attribution: this is a derivative reimplementation of an MIT-licensed tool. A courtesy heads-up + clear attribution to Binomica Labs before anything reaches a wider audience.
Next thickening pass for the game: procedural level generation + cost-scoring (recommended — turns 3 hand-made levels into an endlessly replayable scored game), richer mechanics (Golden Gate / Gibson multi-fragment), or the ATProto sharing bridge?