Appearance
Media sources
A surface's Source decides what it shows. Besides the built-in test patterns, you can upload your own still image or video (the show content, a client logo loop, a camera plate) and see it on the wall in 3D, in the previews, and on the Live Output window.
| Source | What the surface shows |
|---|---|
| None | Nothing: a blank placeholder. Useful for reserving space on an output; it still shows its logo overlay on black if one is enabled. |
| Image | An uploaded still image. |
| Video | An uploaded video file, playing (muted) on loop. |
| Test pattern | One of the 13 built-in patterns; see Test patterns. |
New surfaces default to None; surfaces created From Screen default to the Data path test pattern.
Uploading images & video
With Source set to Image or Video, the Media row appears: Upload… opens a file picker (Replace… once something is loaded), and the status text next to it reads loaded or no media. The picker accepts any image or video format your browser can decode; the file is decoded locally and never leaves your machine.
Videos start playing as soon as they load.
Media is session-only, for now
Uploaded media lives only in the current browser session. The project file stores just the media's native resolution, so after a reload the surface renders nothing until you upload the file again. The Inspector reminds you: Media is session-only until cloud storage lands. Re-upload after a reload. The logo overlay is the exception: it travels inside the project file.
Switching the Source type discards content
Changing a surface's Source drops any loaded media, and switching away from Test pattern deletes the stored pattern configuration; switching back later starts from that pattern's defaults, not where you left off.
Scale modes
The Scale dropdown (media sources only) controls how the image or video fills the surface's pixel buffer. It's applied once, at the buffer level; placements then crop and position that buffer (see placements).
| Mode | What it does | Default |
|---|---|---|
| Fit | Letterbox: the whole frame is visible, bars fill the leftover space. | ✓ |
| Fill | Cover: fills the buffer completely, cropping whatever overflows. | |
| Stretch | Distorts the frame to exactly the buffer's aspect. | |
| 1:1 | Native pixels, no scaling; the frame is drawn at its natural size. |
Test patterns ignore this control; they always fill the buffer (see how patterns fill the surface).
Video playback
With Source = Video, a Playback section appears:
| Control | What it does | Default |
|---|---|---|
| Loop | Loop playback. This one is saved in the project. | on |
| Play / Pause | Toggles playback. The button appears only once a video has been uploaded this session. It's deliberately runtime-only: not an edit, so it isn't undoable and isn't saved. | playing |
Videos are always muted
There is no volume control anywhere, by design: a design tool previews pixels, not audio. (V1's volume slider and its YouTube-URL source are both gone; V2 plays only uploaded files.)
Logo overlay
Every surface can draw an uploaded logo image on top of its content (topmost, after everything else) through the one shared compositor, so the 3D wall, 2D mapping, Video workbench, PNG exports, and sheet rasters all agree. A surface with no other content (Source = None) still shows its logo on black.

| Field | What it does | Default |
|---|---|---|
| Show logo | Enables/disables the overlay. Uploading an image switches it on automatically. | off |
| Upload image… / Replace… / Remove | The logo image (any image format), max 256 KB. A thumbnail previews the loaded image. | none |
| Position | Center · Top left · Top right · Bottom left · Bottom right | Center |
| Scale | Logo width as a percentage of the surface buffer width, 5–50 %. Height follows the image's aspect. | 20 % |
| Opacity | Logo alpha, 0–1. | 1.00 |
| Padding | Distance from the edges in px for the corner positions (disabled for Center). | 10 px |
Unlike session media, the logo image is stored inside the project file, so it survives reloads and rides along with autosave and cloud saves. That's also why there's a size cap: files over 256 KB are rejected with a Logo too large toast (Keep it under 256 KB (it travels inside the project file until cloud storage lands).).
Projects imported from V1
V1 project files never carried the logo image itself, so an imported project's logo settings arrive without their picture; the section hints No image yet. V1 files never carried the logo image, so re-upload it here.

