AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Cesium Agents Scene Architect

skill-impertio-studio-cesiumjs-claude-skill-package-cesium-agents-scene-architect · by Impertio-Studio

>

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-impertio-studio-cesiumjs-claude-skill-package-cesium-agents-scene-architect

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-impertio-studio-cesiumjs-claude-skill-package-cesium-agents-scene-architect)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Cesium Agents Scene Architect? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Cesium Agents : Scene Architect

Overview

This is an orchestration skill. It does not teach one API; it sequences the setup decisions for a CesiumJS scene and routes each one to the skill that covers it in depth. Follow the decisions in order. Each produces a concrete choice and names the skill to consult.

CesiumJS is WebGL2 only (1.124+). There is no WebGPU path; never plan for one.

When to Use

  • Starting a new CesiumJS application or a new map feature.
  • A prompt asks "how should I show this data in Cesium" or "how do I set this

up".

  • Reviewing a scene that was assembled without a clear plan and renders slowly,

blank, or wrong.

The Setup Decision Order

Resolve these six decisions in sequence. Skipping ahead causes rework.

digraph setup {
  rankdir=TB; node [shape=box];
  d1 [label="1. Viewer or CesiumWidget"];
  d2 [label="2. Imagery base layer"];
  d3 [label="3. Terrain"];
  d4 [label="4. Data representation per dataset"];
  d5 [label="5. requestRenderMode"];
  d6 [label="6. Teardown plan"];
  d1 -> d2 -> d3 -> d4 -> d5 -> d6;
}

Decision 1 : Viewer or CesiumWidget

digraph viewer {
  q [shape=diamond, label="Need built-in UI widgets\n(timeline, geocoder, infobox)?"];
  v [shape=box, label="Viewer"];
  q2 [shape=diamond, label="Need one or two widgets?"];
  v2 [shape=box, label="Viewer, disable the rest"];
  cw [shape=box, label="CesiumWidget"];
  q -> v [label="yes, most"];
  q -> q2 [label="no / minimal"];
  q2 -> v2 [label="one or two"];
  q2 -> cw [label="none, custom UI"];
}
  • ALWAYS set Ion.defaultAccessToken before constructing, if any ion asset is

used. A missing token is the top cause of a blank globe.

  • Depth: cesium-core-architecture, cesium-syntax-viewer.

Decision 2 : Imagery Base Layer

| Need | Choice | Skill | |------|--------|-------| | Cesium-hosted default imagery | ImageryLayer.fromWorldImagery (ion) | cesium-syntax-imagery | | OpenStreetMap raster | OpenStreetMapImageryProvider | cesium-syntax-imagery | | Bing or ArcGIS imagery | BingMapsImageryProvider, ArcGisMapServerImageryProvider | cesium-syntax-imagery | | A custom XYZ or WMTS source (incl. MapTiler) | UrlTemplateImageryProvider or WebMapTileServiceImageryProvider | cesium-syntax-imagery | | No imagery, abstract globe | construct with baseLayer: false | cesium-syntax-viewer |

All metadata-fetching providers use async factories. NEVER plan around readyPromise.

Decision 3 : Terrain

| Need | Choice | Skill | |------|--------|-------| | Realistic global elevation | Terrain.fromWorldTerrain() or createWorldTerrainAsync() (ion) | cesium-syntax-terrain | | A custom quantized-mesh server | CesiumTerrainProvider.fromUrl(url) | cesium-syntax-terrain | | Esri elevation | ArcGISTiledElevationTerrainProvider.fromUrl(url) | cesium-syntax-terrain | | Flat ellipsoid, no elevation | EllipsoidTerrainProvider (default) | cesium-syntax-terrain |

When terrain is enabled, plan ground clamping for every dataset that must sit on the surface. Depth: cesium-errors-coordinates.

Decision 4 : Data Representation Per Dataset

This is the decision most often made wrong. Choose per dataset.

digraph datarep {
  q1 [shape=diamond, label="Streamed city, point cloud,\nphotogrammetry, or large BIM?"];
  tiles [shape=box, label="3D Tiles : Cesium3DTileset"];
  q2 [shape=diamond, label="Time-dynamic or interactive,\nunder ~10k features?"];
  entity [shape=box, label="Entity API"];
  q3 [shape=diamond, label="Large static geometry set\n(>10k), no time animation?"];
  prim [shape=box, label="Primitive API, batched"];
  single [shape=box, label="One glTF asset: Model.fromGltfAsync"];
  q1 -> tiles [label="yes"];
  q1 -> q2 [label="no"];
  q2 -> entity [label="yes"];
  q2 -> q3 [label="no"];
  q3 -> prim [label="yes"];
  q3 -> single [label="no, a single model"];
}

| Representation | Use for | Skill | |----------------|---------|-------| | Cesium3DTileset | cities, point clouds, photogrammetry, massive BIM | cesium-syntax-3d-tiles, cesium-impl-3d-tiles-styling | | Entity API | interactive markers, tracks, time-dynamic data under ~10k | cesium-syntax-entity, cesium-syntax-time | | Primitive API | large static geometry sets above ~10k features | cesium-syntax-primitive | | Model | a single glTF or glb asset | cesium-syntax-gltf-model | | GeoJsonDataSource, KmlDataSource, CzmlDataSource | file-based vector or time-dynamic data | cesium-syntax-datasources |

  • NEVER place tens of thousands of individual Entity objects. The per-tick

visualizer loop becomes the bottleneck. Use batched primitives or 3D Tiles.

  • For georeferencing a BIM or CityGML model, see cesium-impl-aec-georef.

Decision 5 : requestRenderMode

digraph rrm {
  q [shape=diamond, label="Does the scene change\nevery frame on its own?"];
  on [shape=box, label="requestRenderMode: true\ncall scene.requestRender() on manual change"];
  off [shape=box, label="Leave continuous rendering"];
  q -> off [label="yes, constant animation"];
  q -> on [label="no, mostly static"];
}
  • ALWAYS enable requestRenderMode for a static or rarely-changing scene. It

is the largest single performance and battery win.

  • Depth: cesium-core-performance, cesium-core-architecture.

Decision 6 : Teardown Plan

Decide teardown before shipping, not after a leak appears.

  • ALWAYS plan one viewer.destroy() on the cleanup path.
  • ALWAYS plan removers for every addEventListener, and destroy() for every

ScreenSpaceEventHandler and custom primitive.

  • In a single-page app or React, plan ONE long-lived viewer, not one per route.
  • Depth: cesium-core-memory, cesium-errors-memory.

React Applications

When the host app is React, the structural choices above still hold; the component wiring is delegated to cesium-impl-resium.

Output of This Skill

Applying the six decisions yields a written setup plan: the viewer class, the imagery and terrain providers, a representation per dataset, the render mode, and a teardown checklist. Hand each item to the named skill for the code.

Reference Files

  • references/methods.md : the decision criteria as lookup tables with the

governing skill for each.

  • references/examples.md : three worked scene plans (a static AEC site

viewer, a time-dynamic tracking app, a minimal custom-UI globe).

  • references/anti-patterns.md : the recurring scene-architecture mistakes.

Related Skills

  • cesium-core-architecture : the object hierarchy these decisions rest on.
  • cesium-syntax-viewer, cesium-syntax-imagery, cesium-syntax-terrain.
  • cesium-syntax-entity, cesium-syntax-primitive, cesium-syntax-3d-tiles.
  • cesium-core-performance, cesium-core-memory.
  • cesium-agents-skill-validator : checks the generated code after setup.

Sources

Built on the project research base (docs/research/vooronderzoek-cesium.md), itself verified via WebFetch against the CesiumJS API Reference and learn tutorials on the approved sources, 2026-05-20.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.