poqpoq World Integration
Build terrain inside poqpoq World. One click to sculpt. One click to deploy.
How It Works
Terraformer integrates with poqpoq World through the NEXUS system — an iframe-based communication layer that lets World tools talk to each other.
When you're inside poqpoq World and want to create or edit terrain, the World app launches Terraformer in an embedded iframe. NEXUS passes context information (world instance ID, world name, user identity, and size constraints) via URL parameters.
Terraformer detects this context automatically and activates World Mode:
- Terrain size is capped to the world's maximum (typically 256)
- The Export to World hero button appears at the bottom of the screen
- Export sends the terrain data back to the parent World app via postMessage
The World Mode Workflow
- Open Terrain Editor in World Inside poqpoq World, navigate to your world space and click the terrain editor button. World opens Terraformer in a tool panel.
- Generate or Edit Terraformer loads in World Mode. All the same tools are available — generate from a biome preset, sculpt with brushes, add water, paint textures. The terrain size is capped to keep things consistent with the world's scale.
- Export to World When your terrain is ready, click the glowing Export to World button. Terraformer packages the terrain (heightmap, textures, water configuration) and sends it to the parent World app via the NEXUS postMessage bridge.
- Terrain Appears in World The World app receives the terrain data and places it in your world space. Walk around it. Invite others. It's live.
Standalone vs World Mode
| Feature | Standalone | World Mode |
|---|---|---|
| Access | Direct URL | Launched from World iframe |
| Max terrain size | 2000 | Capped by world (typically 256) |
| Export to World button | Hidden | Visible (hero button) |
| BBT / GLB export | Available | Available |
| All sculpting tools | Available | Available |
| Biome presets | All | All |
The NEXUS integration uses URL parameters for context passing: instance, name,
userId, and maxSize. If URL params aren't available, Terraformer falls back to
postMessage listening for 3 seconds. See the
source code for the
NEXUS protocol specification.
NEXUS Context Parameters
| Parameter | Type | Description |
|---|---|---|
instance |
string | World instance UUID — identifies which world to send terrain to |
name |
string | World name (displayed in UI for confirmation) |
userId |
string | Authenticated user ID from the parent World app |
maxSize |
number | Maximum allowed terrain size (Terraformer caps the size slider to this value) |