Summary
Generative gesture that takes a seed (YAML stub or reference recipe) and produces N full recipe variants — "one button, five blooms." Collapses the authoring cost of starting a recipe from twenty parameter decisions to picking from a contact sheet.
RFC
RFC-015 — Bloom
Scope
- Seed format: YAML stub with required fields, optional `pins:` for locked values, optional `sampling:` hints
- Reference recipes work as seeds (every field as a pin)
- Anchored sampling per parameter type: numeric (uniform / normal-with-mean), enum (uniform random), envelope (sample from archetype library: `slow_bloom` / `plateau` / `swell_decay` / `subtle_breath` with breakpoint jitter)
- Diversity rejection: weighted Euclidean distance between candidates, attempt budget 50 per bloom
- Coherence rules (advisory; pins always win): `data_source → palette_family`, `audio_identity → atmosphere_range`, `region_size → particle_density`
- Deterministic seeding: `master_seed = sha256(seed_content + --seed + N)`; per-bloom seeds derived
- Output: `recipes/blooms/-/bloom_NNN.yaml` + seed + manifest for provenance
- CLI: `oceancanvas bloom --n 5 [--seed N] [--scope audio|visual|all] [--diversity 0.15]`
- Promotion: `oceancanvas promote --name ` copies to `recipes/` + indexes
- UI: Bloom button in Recipe Editor → 5-up contact sheet with previews + Promote per tile
- TS ↔ Py cross-validation (~20 fixtures)
Dependencies
Requires RFC-012 + RFC-013 parameter space; RFC-014 for envelope archetype sampling; benefits from RFC-016 clock sampling and RFC-017 macro sampling once those land.
Closes into
- ADR-037 — Bloom: seed format + sampling strategy
- ADR-038 — Coherence rules + envelope archetype library
Implementation task
`RFC-015 (later): Bloom — generative recipe + audio variant generator` in the task list.
Summary
Generative gesture that takes a seed (YAML stub or reference recipe) and produces N full recipe variants — "one button, five blooms." Collapses the authoring cost of starting a recipe from twenty parameter decisions to picking from a contact sheet.
RFC
RFC-015 — Bloom
Scope
Dependencies
Requires RFC-012 + RFC-013 parameter space; RFC-014 for envelope archetype sampling; benefits from RFC-016 clock sampling and RFC-017 macro sampling once those land.
Closes into
Implementation task
`RFC-015 (later): Bloom — generative recipe + audio variant generator` in the task list.