Gallery System
The gallery system presents artworks, examples, and exhibitions on the website.
Overview
| Area | Route | Description |
|---|---|---|
| Artworks | /artworks |
Finished artworks |
| Examples | /examples |
Code examples for learning |
| Exhibitions | /exhibitions |
Curated exhibitions |
3-Tier Concept
| Tier | Tweakpane | Usage |
|---|---|---|
| Artwork | ✅ Visible | Interactive presentation |
| Example | ✅ Visible | Learning & experimenting |
| Exhibition | ❌ Hidden | Curated presentation |
Artworks
Gallery Definition
content/galleries/
└── artworks.json{
"title": "Artworks",
"description": "Generative artworks",
"items": [
{
"slug": "entities",
"name": "Entities",
"description": "Agent-based particle system",
"path": "/item-cc-entities",
"sketch": "sketch-entities-001",
"thumbnail": "/assets/thumbs/entities.jpg",
"tags": ["particles", "agents", "interactive"]
}
]
}Detail Page
/artworks/entitiesFeatures:
- Artwork in iframe
- Tweakpane visible
- Overlay controls (Fullscreen, Reload, Live View)
- Navigation (Previous/Next)
- Keyboard shortcuts (←/→, F, R, L)
Examples
Gallery Definition
{
"title": "Examples",
"description": "Learn cc-toolbox through examples",
"items": [
{
"slug": "basic-shape",
"name": "Basic Shape",
"description": "Draw simple shapes",
"difficulty": "beginner",
"path": "/item-cc-shape",
"sketch": "sketch-basic",
"topics": ["shapes", "colors", "basics"]
}
]
}Difficulty Levels
| Level | Badge | Color |
|---|---|---|
beginner |
Beginner | 🟢 Green |
intermediate |
Intermediate | 🟠 Orange |
advanced |
Advanced | 🔴 Red |
Exhibitions
Playlist Format
content/galleries/
└── exhibitions/
└── mosaik-2027/
├── playlist.json
└── README.md{
"name": "Mosaik 2027",
"description": "Group exhibition",
"items": [
{
"id": "item-cc-entities",
"sketch": "sketch-entities-001",
"duration": 120
},
{
"id": "item-cc-particles",
"sketch": "sketch-particles-wind",
"duration": 90
}
],
"loop": true
}Exhibition Player
/exhibitions/mosaik-2027Features:
- Automatic playback
- Countdown timer
- No Tweakpane (
?mode=embedded) - Overlay controls
- Fullscreen mode
Controls
| Key | Action |
|---|---|
← |
Previous artwork |
→ |
Next artwork |
F |
Fullscreen toggle |
R |
Reload artwork |
L |
Open live view |
Space |
Play/Pause |
Lifestream
Live snapshots from running exhibitions:
/lifestream → All exhibitions
/lifestream/mosaik-2027 → Specific exhibitionSnapshot Interval
{
"lifestream": {
"enabled": true,
"interval": 300
}
}URL Parameters
| Parameter | Value | Effect |
|---|---|---|
mode |
embedded |
Tweakpane hidden |
autoplay |
true |
Starts automatically |
loop |
true |
Endless loop |
Thumbnails
Thumbnails should be:
- Format: JPEG or WebP
- Size: 400×300px (4:3)
- Quality: 80%
Storage location: content/assets/thumbs/