example-p5-animation
Learn how to use P5.js with Helios. Use when creating creative coding sketches or generative art.
Best use case
example-p5-animation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Learn how to use P5.js with Helios. Use when creating creative coding sketches or generative art.
Teams using example-p5-animation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/p5/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How example-p5-animation Compares
| Feature / Agent | example-p5-animation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Learn how to use P5.js with Helios. Use when creating creative coding sketches or generative art.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# P5.js Animation
Integrate P5.js with Helios by using P5's **Instance Mode** and driving the `draw()` loop via Helios's state.
## Quick Start
```typescript
import { Helios } from '@helios-project/core';
import p5 from 'p5';
const helios = new Helios({ duration: 10, fps: 60 });
const sketch = (p: p5) => {
p.setup = () => {
p.createCanvas(1920, 1080);
p.noLoop(); // Disable P5's internal loop
};
p.draw = () => {
// Get time from Helios
const { currentFrame, fps } = helios.getState();
const time = currentFrame / fps;
p.background(200);
p.fill(255, 0, 0);
// Animate based on time
const x = time * 100;
p.circle(x, 540, 50);
};
};
new p5(sketch, document.getElementById('canvas-container'));
// Drive P5 from Helios
helios.subscribe(() => {
// Manually trigger P5 redraw
// Note: If you have a reference to the p5 instance, call instance.redraw()
// Or simply put drawing logic here directly.
});
```
## Key Patterns
### Instance Mode
Always use Instance Mode (`new p5(sketch)`) instead of Global Mode. This prevents global variable pollution and ensures compatibility with module bundlers.
### Disable Internal Loop
Call `p.noLoop()` in `setup()`. P5's internal loop uses `requestAnimationFrame` which runs independently of Helios. By disabling it, you ensure P5 only draws when Helios updates.
### Reactive Drawing
Instead of relying on P5's `frameCount`, calculate positions based on `helios.getState().currentFrame`.
```typescript
helios.subscribe(() => {
// Assuming 'myp5' is your instance
myp5.redraw();
});
```
## Source
- Example: `examples/p5-canvas-animation/`Related Skills
example-vue
Patterns for using Helios with Vue. Use when building compositions in a Vue environment.
example-vanilla
Patterns for using Helios with Vanilla JavaScript/TypeScript. Use when building compositions without a framework, or for simple DOM/Canvas manipulations.
example-threejs
Patterns for using Helios with Three.js and React Three Fiber. Use when creating 3D animations or integrating WebGL scenes.
example-tailwind-animation
Learn how to use Tailwind CSS with Helios. Use for styling compositions and animating with utility classes.
example-svelte
Patterns for using Helios with Svelte. Use when building compositions in a Svelte environment, utilizing Svelte stores for reactive frame updates.
example-solid
Patterns for using Helios with SolidJS. Use when building compositions in a SolidJS environment, utilizing signals for fine-grained reactivity.
example-signals-animation
Learn how to use Helios Signals for high-performance, fine-grained reactivity. Use for complex dependency graphs or when optimizing performance.
example-react
Patterns for using Helios with React. Use when building compositions in a React environment.
example-podcast-visualizer
Workflow for creating a podcast visualizer with multi-track audio mixing and DOM-based synchronization. Use when building audio-reactive compositions.
example-pixi
PixiJS integration patterns for Helios. Use when creating high-performance WebGL 2D animations with PixiJS.
example-lottie
Lottie integration patterns for Helios. Use when rendering Lottie (Bodymovin) JSON animations synchronously with Helios.
example-gsap
Patterns for using Helios with GSAP (GreenSock). Use when integrating GSAP timelines with the Helios timeline for precise scrubbing and rendering.