Maya Tzolk'in — 20 Sacred Day Glyphs

Each of the 20 day signs of the 260-day Maya sacred calendar, animated as living stone — carved, lit, and atmospheric — across four quality tiers on a Tenstorrent Blackhole QB2 board. Four chips run in parallel, one glyph per chip. Scroll down for the Phase 3 MotionAdapter comparison.

Phase 2.5 cross-frame blend + Phase 3 MotionAdapter · SD 1.4 base · 512 × 512 · tt-animatediff

Q1 · Best Quality 4-chip Blackhole · PNDM 25-step · 8 frames · α=0.35
Q2 · Fast (Lightning) 4-chip Blackhole · Euler 8-step · 8 frames · α=0.35
Q4 · Phase 3 skip up1+up2 4-chip · PNDM 25-step · 5 injection points · ~7.7 s/frame
Q3 · Phase 3 full MotionAdapter 4-chip · PNDM 25-step · 7 injection points · ~52 s/frame
The tzolk'in (Yucatec Maya: "count of days") is a 260-day sacred calendar shared across Mesoamerican civilizations — Maya, Aztec, Zapotec, and others — for at least 2,500 years and still in living use today. It pairs a cycle of 20 named day signs with a cycle of 13 numbers, producing 260 unique day combinations. Each day sign carries a personality, patron deity, and set of associations used for divination, naming, and scheduling ceremonies. The 20 signs below run in their traditional order, from Imix (the primordial crocodile, day 1) to Ajaw (the sun lord, day 20).

Hardware

4-chip Tenstorrent Blackhole QB2 board. Four glyphs run in parallel — one per chip — via separate generate.py processes each pinned to a chip with --device-id 0–3.

Q1 · Best Quality

PNDM scheduler, 25 denoising steps, 8 frames at 512×512. Cross-frame temporal attention at --temporal-alpha 0.35 blends noise predictions across all 8 frames at each step for structural cohesion between frames.

Q2 · Fast (Lightning)

EulerDiscrete (Lightning) scheduler, 8 denoising steps, 8 frames at 512×512. Same temporal alpha as Q1. ~3× faster than Q1 per glyph. Useful for quick composition checks.

Q3 · Phase 3 Full

Full AnimateDiff AnimateDiffTransformer3D at all 7 UNet injection points per step. Strongest temporal coherence — ~52 s/frame. See the Phase 3 comparison section below.

Q4 · Phase 3 skip up1+up2

Phase 3 with the two costliest decoder injection points skipped. Only 5 of 7 points active — ~7.7 s/frame, faster than Phase 2.5. Trade: slightly softer decoder-side temporal detail.

Reproducing

Run python scripts/generate_mayan_glyphs.py --tier Q1 (or Q2/Q3/Q4). Use --sample for the 4-glyph comparison subset, or --glyph imix for a single glyph.

Phase 3 · MotionAdapter

Full MotionAdapter vs. skip up1+up2 — 4 glyphs

Phase 3 runs AnimateDiffTransformer3D at 7 UNet injection points per denoising step — the full AnimateDiff temporal transformer on CPU, producing the strongest inter-frame motion structure. Skipping the two costliest decoder injection points (up1 32×32 and up2 64×64) drops wall-clock from ~52 s/frame to ~7.7 s/frame, faster than Phase 2.5. The tradeoff is visible in the decoder: skip mode produces slightly softer motion coherence in the lower-spatial-frequency detail. Same prompt, same seed, same 25 PNDM steps — only the injection-point set changes.

What to look for: Q3 (full) shows stronger large-scale motion — surfaces flow, atmospheric elements move consistently across frames. Q4 (skip) retains the motion character from the encoder/mid injection points but loses some of the decoder-side low-frequency temporal polish. Both are Phase 3; the question is whether 6.75× faster is worth the tradeoff for your use case.
01 Imix Crocodile / Primordial Water
Q2 · Lightning
Imix Q2
~12 s/frame
Q4 · skip up1+up2
Imix Q4
~7.7 s/frame
Q3 · full MotionAdapter
Imix Q3
~52 s/frame
05 Chikchan Serpent / Life Force
Q2 · Lightning
Chikchan Q2
~12 s/frame
Q4 · skip up1+up2
Chikchan Q4
~7.7 s/frame
Q3 · full MotionAdapter
Chikchan Q3
~52 s/frame
14 Ix Jaguar / Earth Magic
Q2 · Lightning
Ix Q2
~12 s/frame
Q4 · skip up1+up2
Ix Q4
~7.7 s/frame
Q3 · full MotionAdapter
Ix Q3
~52 s/frame
20 Ajaw Lord / Sun / Completion
Q2 · Lightning
Ajaw Q2
~12 s/frame
Q4 · skip up1+up2
Ajaw Q4
~7.7 s/frame
Q3 · full MotionAdapter
Ajaw Q3
~52 s/frame
Reproducing: python scripts/generate_mayan_glyphs.py --tier Q3 --sample (full, ~26 min for 4 glyphs) · python scripts/generate_mayan_glyphs.py --tier Q4 --sample (skip, ~5 min for 4 glyphs). The --sample flag runs just these 4 glyphs (imix, chikchan, ix, ajaw). See benchmarks for timing breakdown.