Skip to content

Add motion domain and design dials (variance/motion/density) - #402

Merged
clark-cant merged 3 commits into
nextlevelbuilder:mainfrom
Abraham040203:feat/motion-domain-design-dials
Jul 2, 2026
Merged

Add motion domain and design dials (variance/motion/density)#402
clark-cant merged 3 commits into
nextlevelbuilder:mainfrom
Abraham040203:feat/motion-domain-design-dials

Conversation

@Abraham040203

Copy link
Copy Markdown
Contributor

Summary

  • Adds a new searchable motion domain (data/motion.csv, 16 GSAP animation skeletons across hover / scroll-reveal / stagger-list / page-transition / parallax / loading, each tagged Subtle/Standard/Complex)
  • Adds three optional 1-10 dials on --design-system: --variance, --motion, --density (inspired by taste-skill's DESIGN_VARIANCE/MOTION_INTENSITY/VISUAL_DENSITY sliders), documented in CLAUDE.md, templates/base/skill-content.md, and the compiled SKILL.md
    • --variance biases style search/selection toward centered-minimal (low) or bold-asymmetric (high)
    • --motion attaches a matching GSAP snippet (code + framework notes + do/don't + perf notes) from motion.csv
    • --density overrides the --space-* token scale in ASCII/markdown/MASTER.md output
  • All three dials are optional and purely additive — verified via regression diff that output with no dials set is byte-identical to before this change
  • Synced the same feature into .claude/skills/ui-ux-pro-max/ and cli/assets/ so the installed skill and publishable CLI package stay consistent with src/ui-ux-pro-max/ (source of truth)
  • Second commit separately catches up pre-existing cli/assets drift from src (unrelated to this feature, found while running the project's own sync-assets.mjs)

Test plan

  • python3 src/ui-ux-pro-max/scripts/search.py "<query>" --domain motion -n 2 returns well-formed GSAP snippets
  • --design-system with no dials produces byte-identical output to pre-change baseline (diffed)
  • --design-system --variance N --motion N --density N (low/mid/high combinations) produces expected tier selection, motion snippet, and spacing scale
  • --persist with dials renders "Design Dials" + "Motion" sections and overridden spacing table in MASTER.md
  • Verified identical behavior across all three copies: src/ui-ux-pro-max, .claude/skills/ui-ux-pro-max, cli/assets
  • node cli/scripts/sync-assets.mjs --check reports assets in sync
  • Out-of-range dial values (e.g. --variance 15) rejected with a clear argparse error

文敏華 and others added 2 commits July 1, 2026 22:54
Adds a new searchable `motion` domain (motion.csv, 16 GSAP animation
skeletons across hover/scroll-reveal/stagger/page-transition/parallax/
loading, each tagged Subtle/Standard/Complex) plus three optional 1-10
dials on `--design-system` — --variance, --motion, --density — inspired
by taste-skill's DESIGN_VARIANCE/MOTION_INTENSITY/VISUAL_DENSITY sliders.

- --variance biases style search/selection toward centered-minimal (low)
  or bold-asymmetric (high) categories
- --motion attaches a matching GSAP snippet (code + framework notes +
  do/don't) from motion.csv
- --density overrides the --space-* token scale in ASCII/markdown/MASTER.md
  output (spacious <-> dense/dashboard)

All three dials are optional and additive; output with no dials set is
byte-identical to before (verified via regression diff). Synced into
.claude/skills/ui-ux-pro-max and cli/assets alongside src/ui-ux-pro-max
(source of truth) so all three installed copies stay consistent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
cli/assets had fallen out of sync with src/ui-ux-pro-max ahead of this
change (unrelated to the motion-domain feature) - colors.csv, products.csv,
google-fonts.csv, draft.csv, several platform templates, and sub-skill
scripts/tests had all drifted. Ran the project's own `sync-assets.mjs`
to bring cli/assets back in line with the source of truth per the
documented Sync Rules; `--check` now reports assets as in sync.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@clark-cant

Copy link
Copy Markdown
Contributor

🤖 github-maintain cron review

Summary: Adds a motion search domain (16 GSAP animation skeletons) and three optional design dials (--variance, --motion, --density) to the design system generator. Also registers 6 new desktop/framework stacks (javafx, wpf, winui, avalonia, uno, uwp) and catches up cli/assets drift.

Risk level: Medium — well-structured feature addition, but touches core search, design system generation, and BM25 tokenizer behavior across all three distribution copies.

Mandatory gates:

  • Duplicate/prior implementation: overlap found — PR feat(data): add motion-principles domain (Emil Kowalski) #296 (feat/emil-motion-principles) also registers a motion domain in core.py CSV_CONFIG and detect_domain with 37 Emil Kowalski motion principles. This PR's motion.csv (16 GSAP skeletons) covers a different angle (code snippets vs design principles), so they are complementary rather than duplicate — but both register the same motion key in CSV_CONFIG and detect_domain. If both merge independently, one will overwrite the other's domain registration. These PRs need coordination.
  • Project standards: docs found — CLAUDE.md source-of-truth pattern followed; src/, .claude/skills/, and cli/assets/ all updated consistently.
  • Strategic necessity: clear value — GSAP animation skeletons with intensity tiers are a genuinely useful addition for the design system workflow.

Findings:

Verdict: Comment — valuable feature, but needs coordination with PR #296 on the motion domain registration before merge.


Posted by github-maintain cron at 2026-07-02T00:23:00Z

…der#296

PR nextlevelbuilder#296 (feat/emil-motion-principles) independently registers a "motion"
domain key in CSV_CONFIG/detect_domain for motion-principles.csv (37
design-principle rows). Both PRs adding the same dict key would cause
one to silently overwrite the other's domain registration if merged
independently, per the automated review on this PR.

The two domains are complementary, not duplicate (design principles vs.
ready-to-use GSAP code snippets), so this renames this PR's domain from
"motion" to "gsap" - a more precise name given every row is GSAP-specific
implementation code. The --motion CLI dial and its "Subtle/Standard/
Complex" tiers are unaffected (unrelated to the domain key; only the
`--domain gsap` search endpoint and its internal lookup changed). No
regressions: --design-system output with no dials set remains
byte-identical to before this feature.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Abraham040203

Copy link
Copy Markdown
Contributor Author

Thanks for catching the collision with #296 — fixed in the latest commit.

Renamed this PR's domain from motion to gsap (CSV_CONFIG key, detect_domain keywords, and the internal lookup in design_system.py). This PR's motion.csv is GSAP-specific implementation code, so gsap is arguably a more accurate name anyway; motion-principles.csv in #296 can keep the motion key for the broader design-principle rules.

Note the --motion CLI dial (--variance/--motion/--density on --design-system) is unrelated to this and unchanged — only the --domain <name> search key was renamed. Re-verified no regressions: --design-system with no dials set is still byte-identical to pre-PR output.

The other two items were "Suggestion" level, not blocking, but for the record: the extra stack registrations (javafx/wpf/winui/avalonia/uno/uwp) and the BM25 tokenizer fix (> 2>= 2) were pre-existing gaps between src/ and .claude/skills//cli/assets/ that I picked up while syncing this feature into all three copies — already isolated in a separate commit ("Sync cli/assets with src (catch up pre-existing drift)") from the actual feature commit.

@clark-cant clark-cant left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Approved — Collision resolved

Summary: Adds motion domain (16 GSAP skeletons) and three optional design dials (--variance, --motion, --density). Well-structured feature with proper source-of-truth sync across src/, .claude/skills/, and cli/assets/.

Collision fix verified:

  • Domain renamed from motiongsap in CSV_CONFIG, detect_domain, and search.py
  • --motion CLI dial unchanged (correctly decoupled from domain key)
  • motion.csv file name retained but registered under gsap domain
  • No collision with PR #296's Emil Kowalski motion-principles domain

Quality notes:

  • Clean separation: GSAP implementation code (this PR) vs design principles (#296)
  • BM25 tokenizer fix (> 2>= 2) is a good cross-domain improvement
  • Windows UTF-8 stdout wrapper is a nice touch
  • All three distribution copies kept in sync

Verdict: Approve — ready to merge.


Posted by github-maintain cron at $(date -u +"%Y-%m-%dT%H:%M:%SZ")

@clark-cant
clark-cant merged commit bf5c3cf into nextlevelbuilder:main Jul 2, 2026
Abraham040203 pushed a commit to Abraham040203/ui-ux-pro-max-skill that referenced this pull request Jul 6, 2026
- CLAUDE.md: add missing domains (icons, react, web, google-fonts);
  domain list now matches all 12 --help choices (gsap landed via nextlevelbuilder#402,
  stack list already synced by nextlevelbuilder#404)
- README.md / README.zh.md: complete Desktop row in Supported Stacks
  (add WPF, WinUI 3, Avalonia, Uno Platform, UWP); fix stack count
  (13+ -> 22); replace nonexistent --max-length flag with --json in
  Troubleshooting
- templates/base/skill-content.md (+ cli/assets mirror): add
  icons/google-fonts/gsap rows to search tables, drop invalid 'prompt'
  domain, list all 22 stacks instead of 2

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
clark-cant pushed a commit that referenced this pull request Jul 13, 2026
- CLAUDE.md: add missing domains (icons, react, web, google-fonts);
  domain list now matches all 12 --help choices (gsap landed via #402,
  stack list already synced by #404)
- README.md / README.zh.md: complete Desktop row in Supported Stacks
  (add WPF, WinUI 3, Avalonia, Uno Platform, UWP); fix stack count
  (13+ -> 22); replace nonexistent --max-length flag with --json in
  Troubleshooting
- templates/base/skill-content.md (+ cli/assets mirror): add
  icons/google-fonts/gsap rows to search tables, drop invalid 'prompt'
  domain, list all 22 stacks instead of 2

Co-authored-by: 文敏華 <guanweijie@wenminhuadeMacBook-Air.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Bradrichards15-creator pushed a commit to Bradrichards15-creator/ui-ux-pro-max-skill that referenced this pull request Aug 11, 2026
…n-domain-design-dials

Add motion domain and design dials (variance/motion/density)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants