Skip to content

Tombigel/llm preset rules#78

Open
tombigel wants to merge 17 commits intomasterfrom
tombigel/llm-preset-rules
Open

Tombigel/llm preset rules#78
tombigel wants to merge 17 commits intomasterfrom
tombigel/llm-preset-rules

Conversation

@tombigel
Copy link
Contributor

No description provided.

Generate structured rule files to help LLMs understand and recommend motion presets.
Includes 15 pilot files across all 5 categories for format validation:
- entrance: FadeIn, ArcIn, BounceIn
- scroll: ParallaxScroll, FadeScroll, ArcScroll
- ongoing: Pulse, Bounce, Spin
- mouse: Tilt3DMouse, TrackMouse, BounceMouse
- background-scroll: BgParallax, BgZoom, BgFade

Each rule contains: synonyms, visual description, when to use/not use,
TypeScript parameters with constraints, minimal examples, and related presets.
- Updated visual descriptions to use plain language, focusing on user experience rather than technical details.
- Streamlined "When to Use" and "When NOT to Use" sections for clarity and brevity.
- Enhanced examples to demonstrate meaningful differences in behavior.
- Removed unnecessary technical jargon and emphasized user-centric language across multiple preset files.
- Add 5 category files (entrance.md, scroll.md, ongoing.md, mouse.md, background-scroll.md) with decision guides
- Each preset now has tags and synonyms for better LLM intent matching
- Simplified preset files to focus on visual description, parameters, examples
- Added accessibility considerations section to category files
- Added time units (ms) to all duration/delay parameters
- Updated PLAN.md with new structure and guidelines
- Updated descriptions, tags, and synonyms across multiple preset files to ensure uniform formatting.
- Enhanced readability by standardizing bullet points and spacing.
- Improved accessibility considerations and decision guides in category files for better user guidance.
@tombigel tombigel requested a review from ydaniv January 25, 2026 08:50
Copy link
Collaborator

@ydaniv ydaniv left a comment

Choose a reason for hiding this comment

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

@tombigel @ameerabuf I don't think there's any use for a rules file per effect. I don't think there's a use-case for asking a whole file for a specific effect.
IMO there should be a single file per feature (e.g. entrance, loop) with a comparison table of all effects in that category.
Perhaps we need another single file which allows to quickly review all possible categories.
I think we should delete the single preset files. I don't think anyone will be able to review and maintain those.

Also, let's rename ongoing -> loop and mouse -> pointer

…e of truth

- Add power-controlled params notes to all presets (Entrance, Scroll, Ongoing, Mouse)
- Update PLAN.md with complete power mappings for regeneration
- Consolidate documentation structure with presets-reference.md
- Clarify that background scroll requires data-motion-part attributes
- Note that these animate DOM elements via transforms, not CSS background-position
- Add ImageParallax exception for regular img elements
@tombigel tombigel requested review from ameerabuf and ydaniv January 28, 2026 12:18
…n tation plan

- Refactor section headings for better readability across all preset files.
- Standardize usage notes for when to use and not use each animation type.
- Consolidate available presets information and enhance quick decision tables.
- Update PLAN.md to reflect the current status and versioning of presets.

**Important:** Entrance animations only support the `viewEnter` trigger natively. For click, toggle, or other event-based triggers, implement triggering logic separately.

### Combining Animations
Copy link
Collaborator

Choose a reason for hiding this comment

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

@tombigel this requires some adjustments

Comment on lines 160 to 166
### Background Scroll Requirements

Requires `data-motion-part` attributes: `BG_LAYER`, `BG_MEDIA`, `BG_IMG`

Animates DOM elements via CSS transforms (not `background-position`).

**Exception:** `ImageParallax` works on regular `<img>` elements without `data-motion-part`.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be removed. Some of it is completely off, the rest not relevant for now, we'll have to review this mechanism.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok


**Important:** Entrance animations only support the `viewEnter` trigger natively. For click, toggle, or other event-based triggers, implement triggering logic separately.

### Combining Animations
Copy link
Collaborator

Choose a reason for hiding this comment

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

@tombigel this requires some adjustments

Comment on lines 140 to 146
| Trigger | Mechanism | Notes |
| ----------------- | ------------------------------------- | --------------------------------------- |
| entrance | `viewEnter` (intersection observer) | Plays once when element enters viewport |
| scroll | Scroll position binding | Tied to scroll progress (0-100%) |
| ongoing | Continuous loop | Runs indefinitely until stopped |
| mouse | Pointer position binding | Desktop only, real-time response |
| background-scroll | Scroll + `data-motion-part` targeting | Requires structured DOM (see below) |
Copy link
Collaborator

Choose a reason for hiding this comment

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

These are not triggers, these are sort of preset categories. They are sometimes optimized for a specific trigger but not necessarily.
entrance can be used with hover, click, animationend, etc.
So this section requires rewriting.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah, i get it, it should be more like "what to use when the user asks for..." right?


**Important:** Entrance animations only support the `viewEnter` trigger natively. For click, toggle, or other event-based triggers, implement triggering logic separately.

### Combining Animations
Copy link
Collaborator

Choose a reason for hiding this comment

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

@tombigel this requires some adjustments


## Regeneration Steps

1. Check Preset Registry in this file for active presets (skip REMOVED presets)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Not necessary

3. For each active preset, get params from library implementation
4. Apply parameter naming conventions from this file
5. Generate using preset entry format above
6. Organize by trigger category
Copy link
Collaborator

Choose a reason for hiding this comment

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

Not "trigger", category maybe yes


## Intensity Value Guide (Legacy Power Reference)

The `power` parameter was removed from presets. When users ask for "soft", "subtle", "medium", or "hard"/"dramatic" effects, use these value mappings as guidance for suggesting appropriate parameter values.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Since we're removing power, we can remove referencing it.

| Preset | Parameter | Subtle/Soft | Medium | Dramatic/Hard |
| -------- | ---------------- | ----------- | ------- | ------------- |
| ArcIn | easing | quintInOut | backOut | backInOut |
| BlurIn | blur | 6px | 25px | 50px |
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think 50px is kinda extreme.

Maybe use 12-15 for Med and 20-30 for Hard

Comment on lines 470 to 483
## Migration Reference

For users migrating from removed presets:

| Removed Preset | Migration |
| -------------- | --------------------------------------------------------------------------- |
| GlitchIn | Use `GlideIn` with desired `angle` (default 270 = from left) |
| ExpandIn | Use `GrowIn` with `angle` and `distance` to achieve expand-from-edge effect |
| CircleIn | No direct replacement (legacy preset) |
| PunchIn | No direct replacement (legacy preset) |

### GlideIn Default Change

GlideIn default `angle` changed from `0` (from top) to `270` (from left) to match the more common slide-in-from-left behavior.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Remove, not needed.

tombigel and others added 4 commits February 12, 2026 11:22
Co-authored-by: Yehonatan Daniv <maggotfish@gmail.com>
- Rewrite trigger mechanisms as preset categories (not triggers)
- Remove background scroll section (not functional yet)
- Remove Status column and deleted presets from registry tables
- Clarify animation options vs preset parameters (duration/delay are config-level)
- Fix intensity values to match actual code powermaps (ArcIn, SpinIn, TiltScroll, ongoing presets)
- Remove power reference from intensity guide heading
- Add conditions note for reduced motion in accessibility section
- Rewrite combining animations as general rules about CSS property conflicts
- Remove migration reference and merge data sources into regeneration steps
- Clean up Bg* preset references, fix desktop-only claim for mouse presets
- Trim parameter naming conventions to overloaded names only (direction)
- Remove --motion-opacity (unused), update distance units documentation

Co-authored-by: Cursor <cursoragent@cursor.com>
- Rename GrowIn to ExpandIn across all preset docs (aligned with src/library)
- Remove duplicate ExpandIn section in presets-reference.md
- Remove deleted background-scroll.md
- Add registry verification as first regeneration step in PLAN.md
- Regenerate all category docs from updated PLAN.md

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

3 participants