Repository navigation
Palinopsia v1.2.6 : points and planes
Palinopsia v1.2.6 : points and planes.
A release about space. Lattice puts points in three dimensions in front of a moving
camera, Perspective lays any layer on a plane that runs off to the horizon, and
Lowercase learns to lean its bars into crossing slants. A new Space family in Generate
and a Space group of master chains reach all of it in one click. The fulldome output
becomes something you can play : every mapping slider takes a modulator or a Meta knob,
spin reaches a full turn a second, and feather softens the picture's own edges. And the
console, which Chromium had been filling with a readback warning thirteen times a second
since launch, is quiet.
Highlights
-
Lattice, a new source : a lattice of points in space seen through a moving camera.
A floor of dots that sinks into a gravity well and rings with ripples, heaves like a
sea or rises with the sound or with another layer's picture; or a room full of points
the camera flies through forever, streaking them into a warp. Overlapping dots never
pile up into a glow, and the ground can be transparent so the layers below show
between the points. Ten presets, from Gravity well and Calm sea to Crystal room and
Warp. -
Perspective, a new effect. It lays a layer on a plane in space and looks at it
through a lens : lean it back into a floor running to the horizon, swing it into a
wall that runs off to the side, curl it like a curved screen or ripple it into a
travelling ribbon. lens goes from a flat telephoto to a wide angle, fog lets the
far side melt into the layers below, travel slides the picture along the plane. Put
it after Lowercase, Op-Art or Interference and flat line fields become architecture. -
Lowercase : slant, a ninth figure. Full-height bars that each lean their own way and
cross into X shapes and fans, thin ones and fat ones, dealt on the step and held like
every other figure. split is how far they lean, density how many stand. Three
presets : Crossing, Leaning comb, Fallen bars. -
A Space family in Generate : eight themes built around the new pieces (Gravity Well,
Starfield, Crystal Room, Dot Sea, Spectral Floor, Line Wall, Data Floor, Crossing), and
a Space group of nine master chains that lay the whole picture on a floor, a wall,
a ribbon or a horizon (Floor, Corridor, Ribbon, Horizon, Curved Screen, Data Wall,
Halftone Floor, Scan Relief, Starlight). Generate now counts 108 themes, the chain menu
109 chains. -
Fulldome you can play : every mapping slider (rotate, spin, feather, turns, top,
bottom, azimuth, elevation, width, roll, surround, scale, offset) takes a modulator or
a Meta knob, and turns the modulated color while it moves : a screen drifting around
the room, a panorama breathing toward the zenith, a full-dome frame swelling on the
beat. spin reaches 360°/s either way, a full turn a second, and never jumps when it
changes. feather starts at 0, every edge crisp.
Fixed
-
Fulldome : feather now softens the picture's own edges in every mode (the
screen's border, the panorama's top and bottom, a contained frame), not only the rim
below the horizon; the projector window no longer shows the Mapping grid over a
domemaster; in Screen mode the surround's top and bottom sit under their own heading
(behind the screen); and changing spin no longer makes the dome jump. -
A console flood, and a hidden cost, gone. Reading the picture back (for the vision
features, Sonify, the depth input and every output capture) made Chromium copy each
read-back buffer into shared memory, a copy that was never used and that printed a
performance warning each time, about thirteen times a second from the moment the app
started. Besides the noise, it used up the browser's budget of console messages, so a
real graphics error would have gone unreported. Now no copy is made : no warnings, and a
projector or Spout capture costs about a third of what it did. -
Generate never sweeps a whole-frame flip. A theme's motion could bind Lowercase's
flip, which inverts the whole frame on every swing : a strobe. It now joins the seed
in the inputs no theme modulates.
Opening an older session
Everything opens and plays as before. Two looks change on purpose :
- a dome mapped in Screen mode has a crisper border at feather 0 (it kept a hidden
1.5 % softness), and a fresh dome starts at feather 0 instead of 0.01. A dome you saved
keeps its own feather : double-click the slider to set it to 0; - a dome that was spinning keeps its speed, and now turns smoothly when the speed changes.
Install
| Platform | File |
|---|---|
| Windows | Palinopsia-1.2.6-win-x64.exe (installer) or Palinopsia-1.2.6-portable.exe |
| macOS (Apple Silicon) | Palinopsia-1.2.6-mac-arm64.dmg |
| Linux | Palinopsia-1.2.6-linux-x86_64.AppImage or Palinopsia-1.2.6-linux-amd64.deb |
Builds are unsigned :
- Windows : SmartScreen may warn, click More info → Run anyway.
- macOS (Apple Silicon) : not notarized. Drag Palinopsia into Applications first
(run from the disk image or Downloads, macOS runs a hidden temporary copy), then run
xattr -cr /Applications/Palinopsia.apponce in Terminal, or open it and click Open
Anyway in System Settings → Privacy & Security. The first launch asks for the local
network, and for the camera and the microphone when you use them : accept, or OSC, NDI
and light output stay silent. Screen capture is the one permission macOS never prompts
for : switch Palinopsia on under Privacy & Security → Screen & System Audio Recording,
then start it again. - Linux :
chmod +xthe AppImage, then run it.
Intel Macs (x64) : this release ships Apple Silicon only. On an Intel Mac, build from
source (npm install, then npm run build:mac).
For developers
- Native generators can read the sound and another layer.
NativeGeneratorgains an
optionalfeed(audio, side), called by the Compositor just beforerender: the shared
128×2 audio texture and the slot's sidechain layer (the Background feeds the sound
only). Lattice is the first to use it; the Inspector's sidechain row is a per-source
entry with its own hint. - Generate recipes gain
stackFx(per-layer effects that close that layer's rack : the
effect a theme cannot do without),bgOpacity(lower it when the layers carry their
own dark ground : in group mode the Background shows through every dark part) and a
motion recipe'sskip(a RegExp of inputs that family never binds). - A new modulation target,
{ kind: 'dome', field }, overDOME_MOD_RANGEin
shared/dome.ts: a final override on the dome stage through
Compositor.setDomeParam/domeParam, the base back from the dome settings every
frame. - Read-back buffers use
STREAM_COPY, never a*_READusage : with a read usage
Chromium makes a shadow copy at every fence, which these reads never used. - A GLSL lesson from Lowercase slant : a texture read inside one branch of a figure
switch made the compiler run every figure for every pixel (1.9 → 12.5 ms at 4K). ISF
shaders are GLSL ES 1.00, with no gradient-free texture read in a fragment shader : read
textures outside the branches.