Build the room.
Take one more step.
Give Chisel a spatial plan. Turn its views into a real 3D scene. Then add coverage beyond the doorway and inspect what the larger reconstruction gains.
Before we hand over the keys, let me stand here once more.
The useful result is a scene you can explore and download. Chisel generates the posed images and depth; a separate beta reconstruction task fits the Gaussian splat.
A room, then the space beyond it.
The room fit uses eight posed RGBD views. The extended fit keeps those exact eight inputs and adds six usable views through the hallway into a new side alcove. Reconstruction produces SPZ Gaussian splats; exploration and downloads become available when each job finishes. The extension is a new reconstruction with more coverage; it does not modify the original SPZ in place.
Loading the completed world experiments…
Load the actual 3D scene, then switch between the room and its extension.
Drag to orbit. Choose Walk in the viewer to move with WASD or touch controls.
The requested layout and cameras
Teal cameras supply the base fit; orange cameras add the extension; gray marks the excluded view. Select a camera to inspect its input and position the loaded 3D viewer there. Switch worlds at an alcove camera to compare added coverage. This diagram is the plan, not measured splat geometry.
How to reproduce this world-building workflow
Prepare the depth layouts with the repository's world_demo.mjs CLI, run its views stage, inspect the RGB overlap and run review_rgbd.py, then run base and extended. Each stage saves its exact request and idempotency key. All twelve new views were generated together in one Chisel request to share sequence context. The first five supplement the room; six usable views add the hallway and alcove. The final return-facing view was excluded for insufficient reconstructed depth and remains in the inspection records. Three earlier Chisel views are reused in both fits.
Chisel and reconstruction are separately billed beta tasks. The CLI explicitly requests refine: false; refinement requires a separate request. These are draft visual scenes without collision meshes. Compare overlap, thin furniture, blank walls and unseen regions before using a result.
Change the layout. Hold the words still.
The baseline receives no geometric context. Layout A and layout B receive their own depth map at the same target camera. Only the furniture group moves between the two blockouts; the caption and sampling settings stay fixed.
Loading the published Chisel experiments…
Inspect the exact shared prompt and experiment records
This is a matched example set from one seed, not a model benchmark. Generated details and object counts can vary even when the layout is guided.
Keep a view the model has already committed.
Depth alone leaves the appearance open. Here the wooden-table result from layout B becomes sourceFrames for three overlapping, angled target cameras in the same room. This is a registered scene view, not an unposed mood board.
Restyle the walls. Preserve the known pixels.
The three generated views now supply the RGB context. Each has its own matching depth and mask. White marks the furniture and floor to keep; black leaves the walls and ceiling open to a sage-green finish. Cameras and layout stay fixed, and sourceFrames is omitted so it does not anchor the old wall color.
Look behind the rendered image.
The angled-view run requests reconstructed depth. Its returned cameras, RGB, and finite depth samples form this point cloud. Drag to orbit, scroll to zoom, or use the arrow keys. It is derived from the generated RGBD, not from the input blockout.
Change one thing and keep the comparison.
The published examples above need no key. These controls prepare your own inputs locally; only Generate submits a billable Chisel job. Completed results stay in the comparison history.
Choose the conditioning
Run explicitly
Requires an AI3D operator key allowed to use worldlabs2-chisel, with provider-cost tracking disabled during beta. Generation consumes provider credits; AI3D beta pricing is unavailable.
Preparing the local experiment…
Your inputs and result
Depth and target cameras match exactly and retain their order. Baseline mode shows the geometry for reference but sends none of it.
Inspect the exact request
Upload placeholders are replaced with the actual AI3D image_url values when you run.
Response, returned cameras, and asset references
Your retained comparisons
The latest eight completed runs stay in this browser. Removing a local comparison does not delete the server job. A pending submission always retains its original body and idempotency key for resumption.
Developer appendix: depth encoding, cameras, and command-line reproduction
The raycaster uses planar optical-axis depth at 1280 × 720. The submitted PNG is 8-bit single-channel inverted-log depth: p = clamp(round(255 × (1 − ln(z/zMin) / ln(zMax/zMin))), 1, 255), with zero reserved for no surface. Each map travels with its measured depth range and exact camera. Camera positions and depth share one world frame and distance unit; rotations are XYZW camera-to-world quaternions. Refer to the downloadable input kit and model guide for the matching Node CLI and request recipes.
Chisel produces posed RGB views and optional reconstructed depth. The main experiment adds the separate posedImages2Splats task to produce real SPZ scenes. The older PLY example above is a point cloud, not a Gaussian splat or mesh.