thatopen-impl-viewer

Automate ThatOpen BIM viewer bootstrap with worlds, scene, renderer, and camera.

17|1|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/ThatOpen-Claude-Skill-Package --skill thatopen-impl-viewer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: thatopen-impl-viewer
Source: https://github.com/OpenAEC-Foundation/ThatOpen-Claude-Skill-Package/tree/main/skills/source/thatopen-impl/thatopen-impl-viewer
Command: npx skills add https://github.com/OpenAEC-Foundation/ThatOpen-Claude-Skill-Package --skill thatopen-impl-viewer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill streamlines the initial setup of a ThatOpen BIM viewer, ensuring worlds, renderers, and the 3D viewport are created in the correct order and init() is invoked to start the render loop.

Core Features & Use Cases

  • Complete bootstrap: orchestrates Worlds.create(), world scene, renderer, camera, and optional grids.
  • Lifecycle safety: binds container, validates geometry, and ensures proper dispose flow after components.init().
  • Use Case: Rapidly bootstrap a minimal viewer or a post-processed multi-view setup in web apps.

Quick Start

Create a Components container, build a world with the specified scene and renderer, assign the scene and renderer, attach the container, and call components.init() to start rendering.

Frequently Asked Questions about thatopen-impl-viewer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a ThatOpen BIM viewer in a web app?

To set up a ThatOpen BIM viewer, you create a Components container, build a world with the specified scene and renderer, attach the container, and call components.init() to start the render loop. This skill automates that entire bootstrap process.

What is the correct initialization order for ThatOpen worlds, scene, and renderer?

The correct initialization order for ThatOpen components is creating worlds via Worlds.create(), configuring SimpleScene and SimpleRenderer or PostproductionRenderer, adding an OrthoPerspectiveCamera, and finally invoking components.init() to safely start rendering.

Can I use PostproductionRenderer instead of SimpleRenderer for my BIM viewer?

Yes, you can use PostproductionRenderer instead of SimpleRenderer. This skill supports both minimal and post-processing configurations, allowing you to bootstrap a post-processed multi-view setup in web apps or React components.

Does ThatOpen viewer setup handle lifecycle disposal and grid management?

Yes, ThatOpen viewer setup handles lifecycle disposal and grid management. The skill ensures lifecycle safety by binding the container, validating geometry, managing optional Grids, and ensuring proper dispose flow after components.init() runs.

Why does my ThatOpen viewer not render after attaching the DOM container?

A ThatOpen viewer fails to render if components.init() is not invoked after attaching the DOM container. This skill prevents that by orchestrating the complete end-to-end setup and ensuring the render loop starts correctly.