Repository navigation
trama node chains
trama is a small node graph that post-processes a layer's picture after the layer has rendered it. Every layer can carry its own chain, and one more, the master chain, runs on the whole composited frame. Move, scale or spin one layer without touching the rest, put echo trails on it, then do the same to everything at once.
The name is Portuguese: trama is the weft, the threads woven across the warp. Saved chains are
.fio.jsonfiles; fio is a thread.
- Select a layer and press G. The Layer: name tab is that layer's chain.
- Right-click the canvas → Sources → Layer input. That node is the layer's own picture.
- Right-click → Effects → Transform.
- Drag from Layer input to Transform, then from Transform to Output.
- Click Transform and move scale. The layer shrinks and the layers beneath show around it.
Nothing happens until a chain reaches its Output, so building one never blanks a layer. To remove a wire, right-click it; hovering one says so. A layer with a chain wears a diamond in the layer list, filled when active and hollow when not. The master chain gets its own Master row.
Sixteen nodes, and every Float on them can be driven by an oscillator or by the music.
- Shape it: Transform, Mirror, Kaleidoscope, Pixelate
- Grade it: Levels, Hue Drift, Palette Map, Key
- Rough it up: Blur, Edge, Chromatic Aberration, Scanlines
- From nothing: Noise Field, Gradient, Solid
- Plumbing: Layer input, Mix, Feedback, Anchor, Output
Key is the one to know about. It turns dark into transparent, which is what lets a particle layer sit on top of another one at all (see below). Anchor is a bend in a wire: drop one in a wire's path to route a patch around a node instead of across it. It renders nothing and is not counted in the layer's badge.
Every parameter and its range is in the tutorial's node table.
Every clip below was filmed from the running app. Each has a preset you can load.
- Top layer: Astrolabe. Bottom layer: Murmur.
- On Astrolabe:
Layer input → Transform → Output. - Transform:
scale0.45, then pushtranslate_x/translate_ytoward a corner.
Load it and look inside: Trama 1 Picture in Picture.json. Copy it into your presets folder to try it.
- Top layer: Prism over Drift, same chain as above with
scalearound 0.7. - Open the mod row under
scale, pick bass, and set amount to about 0.1. - Swap bass for onset for a sharper punch.
Load it and look inside: Trama 2 Pump.json. Copy it into your presets folder to try it.
- Top layer: Reticle over Symbiosis.
- On Transform's
rotate, open mod and pick the Saw oscillator, beat-synced to four bars. - Mode Repl, amount 1.0, smoothing 0. The sweep is one full turn, so the saw's wrap is seamless.
Load it and look inside: Trama 3 Spin.json. Copy it into your presets folder to try it.
- Two Astrolabe layers over Polycephalum.
- Give each a Transform:
scale0.6, one withtranslate_x−0.22, the other +0.22 androtate0.5. - Every Float is a slider and a modulation target, so each copy can move on its own.
Load it and look inside: Trama 4 Twin.json. Copy it into your presets folder to try it.
- One layer: Beam.
- Wire
Layer input → Mix (input 0) → Output. - Also wire Mix → Transform → Feedback → back into Mix's input 1.
- Mix
amount≈ 0.8 is the trail length; Transform a whisker off identity (scale1.03,rotate0.004) makes the trails spiral.
Load it and look inside: Trama 5 Echo.json. Copy it into your presets folder to try it.
- Any stack will do. This one is Symbiosis over Drift.
- Switch the canvas to the Master tab and build the echo loop there, then a Hue Drift (
speed0.05) before Output. - It runs on the composited frame, before tonemapping, so the whole picture smears and shifts.
Load it and look inside: Trama 6 Master.json. Copy it into your presets folder to try it.
To place a layer cleanly, it needs real transparency. The overlay effects have it: Astrolabe, Reticle, Limn, Tessera, Bezel, Intarsia and Fenestra. A particle effect's "black" is really a dim haze, so shrinking one leaves a visible box around it whatever blend mode or opacity you choose. Put the particles underneath and place an overlay effect on top.
That box is what the Key node was built for. Put one in front of the Transform and the haze becomes real transparency, so a particle layer can be the placed layer after all.
-
Chains are saved with presets, node positions included, and scenes that cue presets restore them. Export… / Import… in the canvas header moves a single chain as a
.fio.jsonfile. - An effect you don't have installed loads as a magenta
missing:node with its wires and values kept. - A 10-node chain at 1080p costs under 1 ms of GPU time on an RTX 4090.
- The full chapter, with the node table and every parameter range: trama in the tutorial.
- trama effects are plain
.wgslfiles with a small JSON manifest, and they hot-reload while you edit. See Writing your own effects.