The outline has to land on a band edge, or the figure dissolves
The one arithmetic rule the authored looks are built on, and nothing checks it
for you. A band edge sits at every multiple of 1 / palette_steps, and the
figure’s outline sits at color_center + color_span. Put the second exactly on
the first and the silhouette reads crisp — the seam at the outline is a band
boundary, so it is a hard edge. Miss it and the outline falls inside a band,
which draws the figure in the same flat colour as the ring just outside it and
the silhouette dissolves into the ring family around it.
It is not a subtle difference. Measured over four spans on the maple: at 5 and at 8 interior bands the leaf is simply gone.
[params]palette_steps = "16"color_span = "0.1875" # 3/16color_center = "mod(0.875 + beat_index / 16, 1)" # 14/16, stepping by 1/16Every number is a multiple of 1/16, which is why presets/shape_maple.toml
looks the way it does: 14/16 + 3/16 lands on an edge, and so does every step of
the travel. A figure with two interior bands does the same at 14/16 + 2/16.
Two consequences, and they are what you act on:
color_spanmust not be bound at all on a figure whose edge has to stay crisp. Any value between two multiples of1 / palette_stepswalks the outline off its edge, and there is no increment small enough to read as a change while still landing on one.color_centermoves in whole band steps —beat_index / 16atpalette_steps = 16, nottime * 0.15. A continuous drift blunts the figure in every frame between two steps. Stepping keeps the alignment exact at all times, which is why the shipped authored looks travel onbeat_indexrather than ontime.
gamma is the safe interior binding, and the reason is the useful part. At
the outline the coordinate is exactly 1, and 1^g = 1 for any g, so gamma
provably cannot move the outline off its band edge — it only redistributes the
bands inside the figure. That reason is also the test for a binding you think of
next: it is safe exactly when it leaves the coordinate at the outline equal to
1, and scale and pan_* qualify because they move the figure in the frame
rather than the coordinate on it.
The rule is the same under both
coord_modevalues, because the outline is at coordinate1under both. What changes with the mode is what the interior bands are, not where the outline sits.
Built from 13c7582 at version 0.158.0. This site tracks main and is not versioned per release.