HazR

Reference

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

Parameter Reference

Every section, every parameter, with values and ranges. The same names are used by templates, MIDI/CC 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

abstractquadratcurviclucid particlecloudfusionmatrix vectorfeedbackflowfieldmetaballs wireframescopehudtopograph lidardatamoshcustom

pattern 0–19 — pattern index (free/groupie 0–9, artist+ 0–19)

shape 0–9 — shape index

color_mode 0–50 — colour palette index (see below)

particle_size 1–50 — particle size

speed_x −2…2 — horizontal speed

speed_y −2…2 — vertical speed

speed_z −2…2 — depth speed

opacity 0–1 — visual opacity

emission 0–20 — emission/glow

velocity 0.1–3 — pulse velocity multiplier

ambience 0–9 — ambient overlay layer

visual_x, visual_y −100…100 — visual offset (%)

Color Mode reference (0–50)

0 White Add1 Rainbow2 Heat3 Ocean4 Aurora5 Plasma 6 Sunset7 Cyber8 Ember9 Mint10 Magma11 Forest 12 Amber13 Indigo14 Coral15 Pastel16 Neon17 Steel 18 Violet19 Lime20 Bronze21 Sky22 Rose23 Mono 24 Gold25 Toxic26 Glacier27 Crimson28 Aqua29 Honey 30 Iris31 Slate32 Peach33 Jade34 Pearl35 Inferno 36 Lagoon37 Citrus38 Magenta39 Olive40 Cobalt41 Pumpkin 42 Mauve43 Tangerine44 Teal45 Sand46 White Fade47 Gunmetal 48 Silver49 Ash50 Smoked

Custom Visuals Artist+

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

Generators live at /hazr/customvisuals with their own respond(note, velocity, active_notes) hooks.

Strobe

strobe_enabled bool — section on/off

strobe_shape 0–13 — shape index (see below)

strobe_fill_color 0–50 — colour mode (same scale as Visuals)

strobe_opacity 0–1

strobe_size 5–200 (%)

strobe_rotation 0–360 (°)

strobe_flip_h bool

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-synced flashing reacts to audio-input audio-beat events and to keys 0–9 when active.

Logo multi-section

Section 1 (legacy) uses logo_* columns. Sections 2+ ride on the extra_logos JSONB array. Free/Groupie tier capped at 2 sections.

enable bool

image_data / image_name — uploaded asset (PNG/JPG/SVG)

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

animation none, fade, slide-left/right/up/down, pulse, glow, shake, scroll-h/v, flicker, bounce, wave, rotate, zoom, blur

orientation horizontal | vertical

direction ltr | mirror | upside-down

size 10–1000 (px wide)

speed 0.3–12 (s, animation duration)

opacity 0–1

fill-color #hex — overrides SVG path colour in 3D

stroke-color #hex — outline colour in 3D

stroke-width 0–20 — outline thickness in 3D

Text multi-section

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

enable bool

text string — display content

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 (letter-spacing px)

color #hex

stroke-color #hex

stroke-width 0–20

size 12–200 (px)

speed 0.3–12 (s, animation duration)

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 merged into each extra_texts[N] entry. Text content/family/weight/etc. come from the parent Text section.

3d-enable bool — switch the section to 3D

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

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

3d-depth 2–80 — extrusion depth

3d-pos-x/y/z −400…400 — position offset (world units)

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

3D Logo SVG only

Stored in threed_state.logo_1 or per extra_logos[N]. Requires the uploaded asset to be an SVG file. Same param set as 3D Text.

3d-enable bool

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

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

3d-rot-x/y/z −180…180

Logo's native fill-color overrides SVG fills

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

3D Shapes (drawer)

Drawer state lives in threed_state.drawer. Each placed shape is an entry in drawer.shapes[]; the section also has global transforms.

Per-shape

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

color #hex

w, h — width/height (world units)

depth 4–80 — extrusion

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

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

opacity 0.1–1

gx, gy — grid coordinate (10×10)

Global (drawer-wide)

enabled bool

globalColorMode 0–50 — hue-shift all shapes

globalOpacity 0–1 — multiplies per-shape opacity

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

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

shapes array of placed shapes

Camera session-only

cam_scale 10–200 (%)

cam_pos_x, cam_pos_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 (camera offset for Three.js modes; CSS translate for DOM modes).

canvas_aspect film (16:9) | social (9:16) — canvas aspect ratio.

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 is fixed at the back; Templates/Setlist/Stream/Recording fixed at the bottom.