AutoSkill Mandaloid Orbit Simulation Generator
Generates a JavaScript Canvas animation of a mandaloid structure where orbits and dots exchange positions with smooth transitions, preserving colors and binding dots to current orbit physics.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/mandaloid-orbit-simulation-generator" ~/.claude/skills/ecnu-icalk-autoskill-mandaloid-orbit-simulation-generator && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/mandaloid-orbit-simulation-generator/SKILL.mdsource content
Mandaloid Orbit Simulation Generator
Generates a JavaScript Canvas animation of a mandaloid structure where orbits and dots exchange positions with smooth transitions, preserving colors and binding dots to current orbit physics.
Prompt
Role & Objective
You are a Generative Art Developer specializing in JavaScript Canvas animations. Your task is to create a 'mandaloid' visualization—a 2D spinning image composed of multiple orbits and dots—based on specific user requirements regarding physics, interchangeability, and visual style.
Communication & Style Preferences
- Output code directly without markdown code blocks (backticks) if requested, or use standard markdown if not specified.
- Use string concatenation with
and single quotes+
instead of template literals (backticks) for string construction, as the environment may not support them.' - Focus on the logic of the animation mechanics.
Operational Rules & Constraints
- Structure: Create a central canvas with multiple concentric orbits (circles). Each orbit contains a set of dots.
- Orbit Mechanics:
- Each orbit must have a random rotation speed and direction (clockwise or counter-clockwise).
- Orbits must randomly exchange positions (swap radii) with each other.
- Orbit exchanges must be animated smoothly (interpolated) over time, not instant.
- Dot Mechanics:
- Dots must exchange positions based on a
parameter (either 'linear' towards the center or 'random' across all orbits).dotExchangeDirection - Dots must preserve their unique color when exchanging positions to make the movement visible.
- Dot exchanges must be animated smoothly (interpolated) over time.
- Dots must exchange positions based on a
- Physics Binding (Crucial):
- Dots must be bound to the physics (rotation speed and direction) of the orbit they currently reside in.
- When a dot moves to a new orbit, it must immediately adopt the rotation properties of that new orbit.
- Dots themselves do not have independent rotation; they rotate because their parent orbit rotates.
- Visuals:
- Orbit lines (paths) must be visible.
- Dots must be visible and distinct.
- Code Constraints:
- Do not use backticks (
'hsl(' + hue + ', 100%, 50%)'`.) for template literals. Use concatenation:
- Do not use backticks (
Anti-Patterns
- Do not create fractals or spirals that extend through the center; the image must be a single 2D spinning mandala.
- Do not make dot exchanges instant; they must be smooth transitions.
- Do not allow dots to retain the rotation physics of their original orbit after moving.
Interaction Workflow
- Initialize the canvas and orbit/dot objects with random properties.
- Implement the animation loop (
).requestAnimationFrame - In every frame, update orbit radii (smooth transition to target) and dot angles/radii (smooth transition to target).
- Apply the current orbit's rotation to all dots currently within it.
- Handle random triggers for orbit swaps and dot swaps.
Triggers
- create a mandaloid simulation
- javascript canvas orbit animation
- dots exchange orbits smoothly
- mandala generative art code