Skip to content

Latest commit

 

History

History
246 lines (138 loc) · 9.67 KB

File metadata and controls

246 lines (138 loc) · 9.67 KB

Layouts

layouts controls

Every layout, one block each: what it does and what each control means — together. A layout maps light indices to physical (x, y, z) positions — it defines the shape an effect draws onto and a driver sends out. The Layouts container holds one or more layout children and composes them into one coordinate space; a Layer renders over that combined space. (For how this page maps to the source/asset folders, see the folder-structure decision.)

MoonLight layouts

Car Lights

A pair of concentric-ring "headlight" clusters (nested rings of 1/8/12/16/24 LEDs) positioned to mimic a car's front lights — a fixed arrangement composed from Ring geometry.

Car Lights layout preview

  • scale — overall size scale (1–10).

Origin: Eric Marciniak (Discord) — custom car-lights fixture

Detail: technical

Cube

A 3D cube volume, width×height×depth, wired in a configurable axis order with optional per-axis serpentine — the 3D generalisation of Panel.

  • width / height / depth — cube extent per axis (1–128).
  • wiringOrder — the axis nesting order the strip follows.
  • X++ / Y++ / Z++ — count up (vs down) along that axis.
  • snakeX / snakeY / snakeZ — serpentine (alternate rows/columns reverse) on that axis.

Origin: MoonLight · via MoonLight

Detail: technical

Human-Sized Cube

A hollow walk-in cube built from five LED-curtain faces (front, back, top, left, right), each a width×height×depth curtain — for large/room-scale cube installations.

  • width / height / depth — cube extent per axis (1–20).

Origin: MoonLight · via MoonLight

Detail: technical

Panel

A 2D matrix panel with full wiring control: choose the axis order, per-axis direction, and serpentine — the general matrix layout (Grid is the simple case).

  • panelWidth / panelHeight — panel size in lights (1–512).
  • wiringOrderXY (rows) or YX (columns) nesting.
  • X++ / Y++ — count up vs down along that axis.
  • snake — serpentine wiring (alternate lines reverse).

Origin: MoonLight · via MoonLight

Detail: technical

Panels

Tiles an M×N grid of full matrix panels into one large display: an outer walk over the panel grid plus an inner walk over each panel's lights, both independently wired — for multi-panel video walls.

  • horizontalPanels / verticalPanels — panel-grid size (1–32 each).
  • wiringOrderP / X++P / Y++P / snakeP — the panel-to-panel wiring (order, direction, serpentine).
  • panelWidth / panelHeight — each panel's size (1–512).
  • wiringOrder / X++ / Y++ / snake — the per-panel light wiring.

Origin: MoonLight · via MoonLight

Detail: technical

Ring

A single ring of LEDs evenly spaced around a circle — nrOfLEDs points, starting at angleFirst, spanning rotation degrees.

  • nrOfLEDs — LEDs around the ring (1–255).
  • angleFirst — starting angle in degrees.
  • rotation — arc spanned (360 = full circle).
  • clockwise — direction of travel.
  • scale — spacing/radius scale.

Origin: MoonLight · via MoonLight

Detail: technical

Rings 241

The classic 241-LED concentric-ring disc: nested rings of 1, 8, 12, 16, 24, 32, 40, 48, 60 LEDs sharing a centre.

  • scale — overall radius scale (1–10).

Origin: MoonLight · via MoonLight

Detail: technical

Single Column

A vertical line of LEDs at a fixed X — the 1D column primitive.

  • starting Y — the column's start row.
  • height — LEDs in the column (1–1000).
  • X position — the column's x.
  • reversed order — wire top-to-bottom instead of bottom-to-top.

Origin: MoonLight · via MoonLight

Detail: technical

Single Row

A horizontal line of LEDs at a fixed Y — the 1D row primitive.

  • starting X — the row's start column.
  • width — LEDs in the row (1–1000).
  • Y position — the row's y.
  • reversed order — wire right-to-left instead of left-to-right.

Origin: MoonLight · via MoonLight

Detail: technical

Spiral

A conical spiral: ledCount LEDs winding up a cone from bottomRadius to a point over height.

  • ledCount — LEDs along the spiral (1–2048).
  • bottomRadius — radius at the base.
  • height — spiral height.

Origin: MoonLight · via MoonLight

Detail: technical

Toronto Bar Gourds

Maps a set of decorative "gourd" objects (a specific bar installation), each rendered at one of three granularities — one light per gourd, per side, or per LED.

Toronto Bar Gourds layout preview

  • granularityOne Gourd One Light, One Side One Light, or One LED One Light.
  • nrOfLightsPerGourd — LEDs per gourd in the coarsest mode (1–128).

Origin: troyhacks — custom Toronto bar gourd installation

Detail: technical

Tubes

Parallel vertical tubes: nrOfTubes columns of ledsPerTube LEDs, spaced tubeDistance apart.

  • nrOfTubes — number of tubes (1–64).
  • ledsPerTube — LEDs per tube (1–255).
  • tubeDistance — spacing between tubes.
  • reversed — reverse the wiring order.

Origin: MoonLight · via MoonLight

Detail: technical

projectMM-native layouts

Grid

A dense 3D grid, row-major (x fastest, then y, then z); every position maps to a light.

  • width / height / depth — grid extent on each axis in lights (1–512).
  • serpentine — boustrophedon-wire alternate rows (every other row runs in reverse, matching a snaked strip).

Origin: MoonLight · via MoonLight

Detail: technical

Tests

GridBlacks

A Grid with mid-strand dark columns (a spacer). Columns [blackStart, blackStart+blackCount) are held black in every row, for a sealed/continuous panel that must stay dark down a strip, or a slat wall. A dark column is still a physical wire position the driver clocks, so WS2812 data flows through the unlit LEDs to reach the lit columns beyond; the lit columns keep their true positions (the picture is holed, not squeezed), so an effect maps straight across the gap. Use plain Grid when you need no dark columns.

  • width / height / depth — grid extent on each axis in lights (1–512).
  • serpentine — boustrophedon-wire alternate rows.
  • blackCount — number of dark columns; 0 (the default) means no gap, so it renders exactly like a Grid.
  • blackStart — first dark column (shown only once blackCount is set).

Origin: projectMM

Detail: technical

Tests

Sphere

Lights on the surface of a hollow sphere — a one-light-thick shell inside a (2·radius+1)³ box, no interior lights.

  • radius — surface radius in light-units (1–64); the shell is every cell whose distance from the centre rounds to radius.

Origin: MoonLight · via MoonLight

Detail: technical

Tests

Wheel

A bicycle-wheel: spokes straight rows radiate from a centre hub, each carrying ledsPerSpoke LEDs spaced one unit apart outward.

  • spokes — number of spokes radiating from the hub (2–64).
  • ledsPerSpoke — LEDs along each spoke, spaced one unit apart from the centre outward.

Origin: MoonLight · via MoonLight

Detail: technical

Tests

The Layouts container itself takes no controls — see its page for coordinate iteration, reordering, and rebuild propagation.