Every character animation starts somewhere.
Stage 1 places a single typographic symbol on the grid and
gives you a live control panel to configure every visual attribute —
font, size, color, and three independent animations — in real time.
What this Stage Establishes
-
SWCharacter — the new class that wraps a single
alphanumeric or punctuation symbol with rich configurable display and animation.
-
SWBug for position — the character's location
is managed by a SWBug instance (stationary in Stage 1; it will
wander in later stages).
-
Breathing — size oscillates using a sinusoid:
size = A • sin(B • t) + baseSize.
Toggle it on and experiment with amplitude and speed.
-
Spin — the character rotates around its own centroid at a
controllable speed in rad/s.
-
Hue cycling — the fill hue advances each frame, cycling
continuously through the color wheel at a controllable speed in °/s.
Size in User Units
Size is expressed in grid user units, not screen pixels.
The grid spans 600 user units across 30 columns, so each cell is
20 user units wide. A character with
baseSize = 18 fills about 90 % of its cell — and
scales automatically when the canvas is resized, exactly like
SWSquare in the Island saga.
How to Use
- Configure the Character panel: symbol, font, size, fill color.
- Click anywhere on the canvas — the symbol snaps to the nearest grid cell.
- Change any panel control and watch the character update live.
- Enable Breathe, Spin, or Cycle Hue in the Animations panel.
- Use Clear to remove the character; click again to place a new one.
The Road Ahead
Stage 1 → one character, stationary, fully configurable.
Stage 2 → multiple characters, each in its own cell.
Stage 3 → bug motion — random walk and Perlin noise.
Stage 4+ → character “tricks” and group behaviors.