SuperRoom generates digital cousins of an existing indoor scene: stylistic and geometric variations that preserve layout, object positions, and scales while adapting shapes and materials to a target text prompt (e.g., “modern kitchen”). Rooms stay editable: you can move, resize, and regenerate objects without breaking structure.
We represent each scene as a superquadric proxy (parametric primitives capturing object extents and poses) and perform text-conditioned retargeting of shape and image-conditioned retargetting of texture under hard constraints from the proxy. This cleanly separates what must not change (layout, affordances, spatial feasibility) from what should change (style, shape and fine geometry), yielding structure-preserving yet visually diverse rooms.
We release code and interface for our method.
- Input: Complex objects in the scene can be represented by data efficient parametric primitives (Superquadrics)
- 3D generation: We use SpaceControl/TRELLIS to guide diffusion at test time with superquadric constraints—no extra training.
- Deterministic, batched scene generation: Iterate per object with fixed seeds; batch across rooms × prompts × seeds; runs headless on multi-GPU.
- Test with Prototype then finalise: Generate geometry first, then texture with multi-view conditioning for cleaner mapping and consistency.
- Fixing the input: Fix the first stage of pointclouds by Plane-fit points to roof → rasterize/close holes → meshify → clone to floor → extrude walls for stable diffusion targets = complete watertight envelope.
- Object-first editing: Per-object visibility, labels, select/duplicate/delete; edit dataset (superquadric shape/scale).
- Lighting & background: One-click white/black background; presets (six-point rig or single bulb) with intensity/color controls.
- Modes: Generation / Saved Scene.
- Room envelope tools: Compute or import cached envelopes; optional “plain envelope” cache for fast previews.
- Prompting: Global room prompt OR manual per-object text or image prompts for the active object.
- Determinism & seeds: Reproducible outputs with seed control; mini 3-object sanity run.
- Batching: Iterate objects; run full prototypes → full pass; batch across datasets × prompts from CSV and scale linearly with GPUs.
- Scenes Browser: Load saved scenes by dataset × prompt × seed from the UI.
- Robust core: OOM auto-switch, deterministic seeds, envelope caching, GLB export, memory monitor.
pip install -r requirements.txtP.S. I have tried my best to get this working out of the box but might need some debugging
