Skip to main content

Set dressing (props)

@scenography/props is an optional, tree-shakeable catalog of ready-made objects — the stage's set dressing (Spanish atrezzo): plinths, benches, frames, and so on. A minimal engine user shouldn't pay for the furniture, so it ships as its own package and every prop is an independent named export.

Today the catalog has one prop, deliberately: a cube. It is the seed the rest of the catalog grows from, and the template each project follows to add its own.

import { createCube } from '@scenography/props';

const cube = createCube({ size: 50, color: '#b88b5c', position: [0, 25, 0] });

// Props are plain three.js objects, so you add them via the engine's escape hatch:
gallery.ctx.three.scene.add(cube);

Extensibility

A prop is just a factory function returning a three.js Object3D. Your own project can define props the same way and mix them with the catalog — nothing in the engine needs to know about them in advance.

import { Mesh, ConeGeometry, MeshStandardMaterial } from 'three';

export function createSpotlightStand() {
return new Mesh(new ConeGeometry(10, 40), new MeshStandardMaterial({ color: '#222' }));
}