Continuity rule: discrete params hold per cue; add DESIGN.md + AGENTS.md
Actors and objects change only at camera cuts. int/bool/discrete params skip drift, lookahead and reactivity; discrete slowAxis steps on the section-held journey. Venues fade instead of toggling on interpolated popMul; roadside density is arrangement-only. DESIGN.md collects the project's design decisions; AGENTS.md points agents at it and the build-visualizer loop.
This commit is contained in:
@@ -4,7 +4,7 @@ import {
|
||||
SIGNATURE_UNIFORMS, IDENTITY_UNIFORMS, IDENTITY_ARRAY_UNIFORMS,
|
||||
} from './shader-contract.js';
|
||||
import { signatureUniforms, NEUTRAL_UNIFORMS } from '../look/Personality.js';
|
||||
import { clampValue } from '../params/schema.js';
|
||||
import { clampValue, isDiscreteParam } from '../params/schema.js';
|
||||
import { surfaceOf } from '../scenes/surface.js';
|
||||
import {
|
||||
CANVAS_BEAT_CAP,
|
||||
@@ -208,6 +208,9 @@ export class Layer {
|
||||
// Rate params multiply absolute time; modulating them jumps the phase
|
||||
// by elapsed * delta. See params/schema.js RATE_FLAG.
|
||||
if (def.rate) continue;
|
||||
// Continuity rule (see params/schema.js isDiscreteParam): a reactive
|
||||
// count pops members on every beat. Discrete params hold per cue.
|
||||
if (isDiscreteParam(def)) continue;
|
||||
const raw = features[r.feature];
|
||||
if (raw === undefined) continue;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user