Commit 8acc71b
committed
fix(skill)!: rewrite text-effects bundle from scratch (license blocker)
Closes Rames's blocker on PR #991. The previous text-effects bundle
was vendored from `pixel-point/animate-text`, which the GitHub API
confirms has no license:
GET /repos/pixel-point/animate-text → license: null
GET /repos/pixel-point/animate-text/license → 404
With no explicit license, default US copyright is "all rights
reserved" by the upstream author. Cannot ship under Apache 2.0.
This commit replaces the 48 vendored JSON files (8451 lines) with a
24-file rewrite (525 lines) using a fresh, simpler schema. The
effect IDs (typewriter, soft-blur-in, etc.) are concept names — not
copyrightable. The schema (`enter`/`exit`/`swap`, `target`,
`durationMs`/`staggerMs`/`easing`) is standard motion-design
vocabulary. Per-effect parameter values are picked from
motion-design intuition for each effect's intent — not copied.
### Structure changes
Before: dual directory + per-effect schema duplication
assets/text-effects/effects/<id>.json (~330 lines each, GSAP
recipe + embedded spec)
assets/text-effects/specs/<id>.json (~40 lines each, portable
contract — duplicates the
spec section above)
After: flat single-file-per-effect with one shared rendering pattern
assets/text-effects/<id>.json (~20 lines each, just the
per-effect parameters)
references/text-effects.md (shared GSAP rendering
pattern, documented ONCE
with split rules,
CustomEase wiring,
layout-aware exceptions)
The shared rendering pattern (split by target → set initial state →
stagger to enter.to → exit symmetric to enter → hard-kill at beat
boundary) is in text-effects.md instead of repeated in every effect
JSON. Sub-agents read the catalog once and the per-effect JSON gives
them the parameters. ~94% smaller file footprint, single canonical
implementation pattern.
### Per-effect schema
{ id, name, description, target, enter, exit, swap, notes? }
target = "char" | "word" | "line" | "element"
enter / exit = { durationMs, staggerMs?, staggerOrder?, easing,
from, to }
swap = { mode: "crossfade" | "sequential", overlapMs, microDelayMs }
notes = implementation guidance (when present)
layoutAware = true for the 3 effects whose line container animates
separately (kinetic-center-build, short-slide-right,
short-slide-down)
### Reference updates
- references/text-effects.md: rewritten with our own catalog table,
fresh duration / stagger values per effect, and the shared GSAP
rendering pattern as one canonical section instead of per-effect
recipes.
- step-3-storyboard.md: path references updated from
`text-effects/effects/[id].json` → `text-effects/[id].json`.
Removed the upstream-specific `showcase.library_adapters.gsap`
reference; sub-agents now read the per-effect params + the shared
rendering pattern in text-effects.md.
24 effects total, unchanged set: 7 per-character, 8 per-word,
2 per-line, 7 whole-element. The 3 layout-aware effects keep their
custom behavior documented in their JSON `notes` field and in
text-effects.md's layout-aware section.1 parent 957aa1d commit 8acc71b
74 files changed
Lines changed: 644 additions & 8524 deletions
File tree
- skills
- hyperframes
- assets/text-effects
- effects
- specs
- references
- website-to-hyperframes/references
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
Lines changed: 0 additions & 335 deletions
This file was deleted.
Lines changed: 0 additions & 348 deletions
This file was deleted.
Lines changed: 0 additions & 53 deletions
This file was deleted.
0 commit comments