PulsR

Reference

Every section, every parameter, with values and ranges. The same names are used by templates, OSC mappings, setlist cues, and the external API.

Parameter Reference

Every section, every parameter, with values and ranges. The same names are used by templates, OSC mappings, setlist cues, and the external API.

Background

bg_color — solid background colour (#hex). Behind any image/video.

bg_image_data / bg_image_name — uploaded image asset (PNG/JPG). bg_image_opacity 0–1.

bg_video_data / bg_video_name — uploaded video asset (MP4/WebM). bg_video_opacity 0–1.

Background sits at the back of the canvas and is not part of the draggable section stack.

Visuals

Mode app_mode

canvas (Abstract)quadratcurviclucid particlecloudfusionmatrix vectorfeedbackflowfieldmetaballs wireframescopehudtopograph lidardatamosh

pattern 0–9 — pattern index

shape 0–9 — shape index

color_mode 0–50 — colour palette index

particle_size 1–50

speed_x/y/z −2…2

opacity 0–1

emission 0–20

velocity 0.1–3

ambience 0–9

visual_x, visual_y −100…100 (%)

canvas_aspect film | social

Custom Visuals Agency

custom_generator_id — id of the user's saved Python generator. Active when app_mode = "custom".

Manage at /pulsr/customvisuals.

Strobe

strobe_enabled bool

strobe_shape 0–13

strobe_fill_color 0–50 — colour mode

strobe_opacity 0–1

strobe_size 5–200 (%)

strobe_rotation 0–360 (°)

strobe_flip_h, strobe_flip_v bool

Shape reference (0–13)

0 Square1 Circle2 Diamond3 Triangle 4 Star5 H-Bar6 V-Bar7 Cross 8 Rectangle9 Heart10 Spade11 Fast Fwd 12 Arrow13 Pause

Beat-sync reacts to pulsr-beat from the audio engine and to keys 0–9 when active.

Logo multi-section

Section 1 uses logo_* columns. Sections 2+ ride on extra_logos JSONB.

enable bool

image_data / image_name

position tl/tc/tr/ml/mc/mr/bl/bc/br

animation none, fade, slide-*, pulse, glow, shake, scroll-h/v, flicker, bounce, wave, rotate, zoom, blur

orientation horizontal | vertical

direction ltr | mirror | upside-down

size 10–1000 (px)

speed 0.3–12 (s)

opacity 0–1

fill-color, stroke-color, stroke-width — 3D-only

Text multi-section

Section 1 uses dp_* columns. Sections 2+ ride on extra_texts JSONB.

enable bool

text string

family Google Font name (50+ choices)

weight 300/400/600/700/900

decoration none/underline/line-through

align left/center/right/justify

orientation horizontal/vertical

direction ltr/rtl/mirror/upside-down

spacing −5…40

color, stroke-color #hex

stroke-width 0–20

size 12–200 (px)

speed 0.3–12 (s)

opacity 0–1

position tl/tc/tr/ml/mc/mr/bl/bc/br

animation none, fade, slide-*, pulse, glow, shake, scroll-h/v, flicker, bounce, wave, rotate, zoom, typewriter, blur

3D Text per Text section

Stored in threed_state.text_1 for section 1, or per extra_texts[N]. Text content/family/weight come from the parent Text section.

3d-enable bool

3d-material plastic/metal/glass/gold/chrome/matte/neon

3d-animation none/spin/float/pulse/wobble/swing

3d-depth 2–80

3d-pos-x/y/z −400…400

3d-rot-x/y/z −180…180 (°)

3D Logo SVG only

Stored in threed_state.logo_1 or per extra_logos[N]. Requires the uploaded asset to be an SVG file.

3d-enable, 3d-material, 3d-animation, 3d-depth

3d-pos-x/y/z, 3d-rot-x/y/z

Logo's fill-color overrides SVG fills

stroke-color + stroke-width add a 3D outline

3D Shapes (drawer)

Drawer state in threed_state.drawer. Per-shape entries in drawer.shapes[]; section also has global transforms.

Per-shape

type square/rectangle/circle/triangle/diamond/pentagon/hexagon/star/plus

color #hex

w, h width/height

depth 4–80

material plastic/metal/glass/gold/chrome/matte/neon

animate none/spin/float/pulse/wobble/swing

opacity 0.1–1

gx, gy grid coord (10×10)

Global

enabled bool

globalColorMode 0–50 — hue-shift

globalOpacity 0–1

globalPos { x,y,z } −400…400

globalRot { x,y,z } −180…180

Camera session-only

cam_scale 10–200 (%)

cam_pos_x/y 0–100 (%)

cam_opacity 0–1

cam_fill_mode fit / fill / stretch

BG removal — AI body keying via MediaPipe Tasks Vision

Webcam selection + permission are session-only and not persisted in templates.

Display Position & Section Order

visual_x, visual_y −100…100 — pan the visual canvas.

canvas_aspect film (16:9) | social (9:16).

threed_state.section_order — array of group keys (visuals/custom/strobe/logo/text/threed/camera) reflecting the sidebar drag order. Top of the list = back of canvas (lower z-index); bottom = front. Background fixed at the back; Templates/Setlist/Stream/Recording fixed at the bottom.