Freeze SmoothLife model contract and fixtures
This commit is contained in:
@@ -72,7 +72,7 @@ Validation returns field-specific, actionable errors and rejects:
|
||||
- invalid/zero shape extents;
|
||||
- unsupported dynamics/integrator combinations (the tagged schema makes an irrelevant RK4 reference unrepresentable);
|
||||
- statically invalid `LegacyPackedUnitary` combinations such as CPU backend, non-power-of-two shape, or unsupported dimension;
|
||||
- empty scales or a non-three-scale imported multiscale preset;
|
||||
- empty scales or any multiscale configuration whose scale count is not three;
|
||||
- impossible history depth or sphere face size.
|
||||
|
||||
Split validation into two stages. Macrostep 01 performs schema/static validation without a graphics context. Macrostep 05 adds runtime capability validation for texture limits, float FBOs, resource counts, memory, and actual legacy-FFT support; loading may be statically valid yet fail a requested GPU construction with an actionable runtime error.
|
||||
@@ -86,7 +86,7 @@ Every preset has:
|
||||
- stable slug/UUID;
|
||||
- display name and description;
|
||||
- variant and schema version;
|
||||
- source provenance and optional original row;
|
||||
- authoring provenance and optional links to relevant model-contract or legacy-source-map entries;
|
||||
- tags;
|
||||
- deterministic default seed;
|
||||
- relevant localized historical-option values;
|
||||
@@ -104,15 +104,11 @@ Define a normalized run descriptor suitable for logs, state exports, and bug rep
|
||||
- Save settings atomically through temp-file + rename.
|
||||
- Preserve unknown newer schema versions by refusing destructive writes.
|
||||
|
||||
### Substep 1.3.2 — Schema-backed legacy conversion
|
||||
### Substep 1.3.2 — Newly authored bundled presets
|
||||
|
||||
Consume Macrostep 00's frozen JSONL evidence and migration-default table to generate final versioned presets:
|
||||
Author bundled product presets directly in the versioned schema using Macrostep 00's deterministic preset baselines. There is no legacy-row converter, migration-default layer, catalogue deduplication, or required correspondence to legacy source counts or groupings.
|
||||
|
||||
- 15-column base rows;
|
||||
- groups of three multiscale rows;
|
||||
- 11-column sphere/DT rows.
|
||||
|
||||
The converter must report accepted/rejected entries, apply every absent-field default explicitly, preserve source rows/descriptions/numeric precision, and deduplicate only by a documented normalized key. A direct legacy-text parser may exist as a separately tested maintenance command, but generation and normal runtime loading use the committed evidence, not the external tree. Verify expected source counts, multiscale grouping, generated counts, and a manifest hash.
|
||||
Require every bundled preset to specify all run-defining fields, a stable unique identity, authoring provenance, deterministic seed/initializer, applicable localized historical options, and recommended presentation. Validate and round-trip each preset independently, reject duplicate IDs, verify deterministic reproduction from its run descriptor, and record a manifest hash for the authored set.
|
||||
|
||||
### Substep 1.3.3 — Command-line contract
|
||||
|
||||
@@ -161,8 +157,8 @@ Essential shaders should be embedded with `include_str!` or packaged under a com
|
||||
## Deliverables
|
||||
|
||||
- Headless library skeleton and feature-gated app skeleton.
|
||||
- Versioned schema, validator, preset library, importer, and CLI.
|
||||
- Deterministic run descriptor, finalized preset catalogue, and structured errors/logging.
|
||||
- Versioned schema, validator, newly authored preset library, and CLI.
|
||||
- Deterministic run descriptor, finalized newly authored preset catalogue, and structured errors/logging.
|
||||
- CI quality baseline.
|
||||
|
||||
## Exit gate
|
||||
|
||||
Reference in New Issue
Block a user