lumenapeiron.com
Create, explore, and animate IFS fractal flames in real time with Lumen Apeiron — a free, GPU-accelerated fractal flame editor that runs entirely in your browser with WebGPU.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 7 · Act 27 · Transact 0 · Score: Not yet scored
Tool inspector
create_custom_variation
Compiles and registers a new custom math variation. Returns the generated ID on success (like "custom_e1e54335_2e3b_4431_a197_9ef33d1c0afd"), which you can then use in a flame descriptor (e.g. `variations: { "custom_e1e54335_...": { type: "custom_e1e54335_...", weight: 1.0 } }`).
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Human-readable name for the variation (e.g. "My Swirl"). |
body |
string | no | JavaScript-syntax expression body, transpiled to WGSL. Receives `pos` (a 2-component vector with .x and .y) and must `return` a 2-component vector built with vec2f(x, y). Use JavaScript syntax, NOT WGSL syntax: - `let r = length(pos);` NOT `let r: f32 = length(pos);` - `vec2f(a, b)` NOT `vec2<f32>(a, b)` Multiple statements are fine. Semicolons required. Available: sin, cos, tan, atan2, sqrt, length, abs, floor, pow, min, max, vec2f, f32, and the constants PI and EPS. `Math.*` is NOT available — call `sqrt(x)`, not `Math.sqrt(x)`. Example: `let r = length(pos); let a = atan2(pos.y, pos.x) + r; return vec2f(r*cos(a), r*sin(a));` |
wgslBody |
string | no | Deprecated alias for `body`. |
updateId |
string | no | Optional. If you want to overwrite an existing custom variation, provide its ID here (e.g., "custom_e1e54335_2e3b_4431_a197_9ef33d1c0afd"). If omitted, a new variation is created. |
Raw JSON schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name for the variation (e.g. \"My Swirl\")."
},
"body": {
"type": "string",
"description": "JavaScript-syntax expression body, transpiled to WGSL. Receives `pos` (a 2-component vector with .x and .y) and must `return` a 2-component vector built with vec2f(x, y).\n\nUse JavaScript syntax, NOT WGSL syntax:\n - `let r = length(pos);` NOT `let r: f32 = length(pos);`\n - `vec2f(a, b)` NOT `vec2<f32>(a, b)`\nMultiple statements are fine. Semicolons required.\n\nAvailable: sin, cos, tan, atan2, sqrt, length, abs, floor, pow, min, max, vec2f, f32, and the constants PI and EPS. `Math.*` is NOT available — call `sqrt(x)`, not `Math.sqrt(x)`.\n\nExample: `let r = length(pos); let a = atan2(pos.y, pos.x) + r; return vec2f(r*cos(a), r*sin(a));`"
},
"wgslBody": {
"type": "string",
"description": "Deprecated alias for `body`."
},
"updateId": {
"type": "string",
"description": "Optional. If you want to overwrite an existing custom variation, provide its ID here (e.g., \"custom_e1e54335_2e3b_4431_a197_9ef33d1c0afd\"). If omitted, a new variation is created."
}
},
"required": [
"name"
]
}
Similar websites
wfsim.app
A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…
commonplace-webmcp.vercel.app
Commonplace is an editable social reading space built for people and their browser agents.
pixelforge-studio.appcaster.chatgpt.site
A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.
pixelite.taskcraft.site
Pixelite