pylinka
Menu

Nodes

The v1 node catalog — 66 kinds, grouped by namespace. Rendered directly from @pylinka/graph.

input.*

Read particle and emitter state — position, velocity, age, life, time, spawn index.

input.age
Age
input.ageNormalized
Age (normalized)
input.emitterPosition
Emitter position
input.emitterVelocity
Emitter velocity
input.frame
Frame
input.life
Life
input.position
Position
input.spawnIndex
Spawn index
input.time
Time
input.velocity
Velocity

param.*

Read a project knob by reference.

param.ref
Param

gen.*

Generators: stable/per-frame randomness and value, colour, and scale curves over life.

gen.colorOverLife
Color over life
gen.curveOverLife
Curve over life
gen.frameRandom
Frame random
gen.noise med
Noise
gen.random
Random
gen.randomRange
Random range
gen.randomVec2
Random vec2
gen.scaleOverLife
Scale over life

math.*

Arithmetic and vector helpers.

math.abs
Abs
math.add
Add
math.clamp
Clamp
math.component
Component
math.cos
Cos
math.div
Divide
math.length
Length
math.mad
Multiply-add
math.makeVec2
Make vec2
math.makeVec4
Make vec4
math.max
Max
math.min
Min
math.mix
Mix
math.mul
Multiply
math.normalize
Normalize
math.rotate2d
Rotate 2D
math.sin
Sin
math.splat
Splat
math.sub
Subtract
math.swizzle
Swizzle

field.*

Analytic force fields that accumulate into a particle's motion.

field.directional
Directional (wind)
field.drag
Drag
field.gravity
Gravity
field.radial
Radial

shape.*

Spawn shapes, emitter-relative, feeding output.spawnPosition.

shape.burstRing
Burst ring
shape.circle
Circle
shape.point
Point
shape.polygonalChain
Polygonal chain
shape.rectangle
Rectangle
shape.torus
Torus

output.*

Sinks — where results are written. Every system needs spawnPosition and initLife.

output.addForce
Add force
output.drag
Drag
output.initLife
Init life
output.initTexIndex
Init texture index
output.initVelocity
Init velocity
output.killIf
Kill if
output.killIfOutOfRect
Kill if out of rect
output.reflectInRect
Reflect in rect
output.setVelocity
Set velocity
output.spawnPosition
Spawn position
output.writeAlpha
Write alpha
output.writeColor
Write color
output.writePosition
Write position
output.writeRotation
Write rotation
output.writeScale
Write scale

tex.*

Texture selection for rendering.

tex.random
Random texture
tex.single
Single texture

Reading a node

Each input port has a default value you can scrub inline or wire from another node's output. Ports are typed; an f32 splats into a vec2/vec4, and color interchanges with vec4, but other narrowing needs an explicit math.component or math.swizzle. Nodes tagged med/high cost more on low-tier devices.