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' }));
}