cesiumgs/cesiumjs-skills/cesiumjs-3d-tiles
Claude Code and agent skill by cesiumgs/cesiumjs-skills
- community
Checking that the SKILL.md file is still in the repository.
CesiumJS 3D Tiles - Cesium3DTileset, compressed and CAD-style glTF content, MVTDataProvider, UrlTemplate3DTilesDataProvider, styling, metadata, feature picking, voxels, point clouds, I3S, Gaussian splats, clipping. Use when a task involves loading 3D Tiles or Mapbox Vector Tiles, draping vector tiles on terrain, rendering KHR meshopt/CAD content, styling or querying features, working with voxels or point clouds, or clipping spatial data.
Install
npx vskill@latest install cesiumgs/cesiumjs-skills/cesiumjs-3d-tilesSKILL.md
CesiumJS 3D Tiles
Version baseline: CesiumJS v1.144 (ES module imports, async factory methods).
Loading a Tileset
Always use async factory methods -- never call the constructor directly. For public/no-token examples, prefer URL-backed tilesets such as CesiumGS sample tilesets. fromIonAssetId, createOsmBuildingsAsync, and Google Photorealistic 3D Tiles require external entitlements; use them only when the caller explicitly asks for those services and the runtime is configured for them.
CesiumJS 1.143 applies standalone model loading to glTF embedded in tilesets. Read the glTF compatibility matrix for automatic KHR_meshopt_compression, CAD extension behavior, and the unsupported planar-fill boundary.
Key Constructor Options
| Option | Default | Purpose | |
|---|---|---|---|
maximumScreenSpaceError | 16 | LOD quality threshold (pixels) | |
cacheBytes | 536870912 | Tile cache trim target (bytes) | |
maximumCacheOverflowBytes | 536870912 | Extra cache headroom | |
shadows | ShadowMode.ENABLED | Shadow casting/receiving | |
modelMatrix | Matrix4.IDENTITY | Root transform | |
clippingPlanes | undefined | ClippingPlaneCollection | |
clippingPolygons | undefined | ClippingPolygonCollection (WebGL 2) | |
enableCollision | false | Camera collision with tileset surface | |
pointCloudShading | undefined | Point attenuation options object | |
classificationType | undefined | TERRAIN, CESIUM_3D_TILE, or BOTH | |
dynamicScreenSpaceError | true | Horizon LOD optimization | |
foveatedScreenSpaceError | true | Center-screen tile priority | |
preloadFlightDestinations | true | Prefetch tiles at flight target | |
featureIdLabel | "featureId_0" | EXT_mesh_features ID set label | |
backFaceCulling | true | Cull back faces per glTF material | |
edgeDisplayMode | EdgeDisplayMode.SURFACES_ONLY | Render glTF edge-visibility data when present |
Mapbox Vector Tiles as Runtime 3D Tiles (Experimental, 1.142+)
MVTDataProvider loads {z}/{x}/{y} Mapbox Vector Tile .mvt/.pbf templates and converts tile payloads into runtime 3D Tiles. Use it when vector data is naturally tiled and you want 3D Tiles styling, metadata picking, and LOD instead of a single GeoJSON primitive.
For one in-memory or URL-backed GeoJSON object, prefer GeoJsonPrimitive in cesiumjs-primitives. For Entity/DataSource conveniences, prefer GeoJsonDataSource in cesiumjs-entities.
Feature properties are encoded as EXT_structural_metadata, so standard 3D Tiles styling and picking patterns apply:
Notes:
- URL templates must contain
{z},{x}, and{y}placeholders; tile URLs are parsed from/z/x/y. - Empty 204/404 tiles are treated as missing instead of hard failures.
provider.showproxies visibility to the generated tileset.- Runtime vector glTF content uses draft
EXT_mesh_polygonand3DTILES_content_gltf_vectorsupport; treat this path as experimental.
Terrain draping (1.144+): clamped vector tile polylines and polygons drape onto terrain automatically, with screen-space-constant line width, and per-feature styling stays driven by Cesium3DTileStyle. There is no opt-in flag; clamped vector content follows the terrain surface beneath it.
Custom vector tile formats (1.144+): MVTDataProvider now extends UrlTemplate3DTilesDataProvider, a public base class that turns any {z}/{x}/{y} URL-template vector source into a runtime-generated Cesium3DTileset. Its fromUrl, tileset, show, extent, and minZoom/maxZoom options behave the same as on MVTDataProvider; subclass it and implement its protected codec hook to support a tiled vector format other than MVT.
Tileset Events and Render Readiness
fromUrl resolves when tileset metadata is usable; it does not mean the tiles for the current camera view have rendered. initialTilesLoaded fires only for the first loaded view, while allTilesLoaded and tilesLoaded are view-dependent. After zoomTo, flyTo, setView, or interactive camera movement, check readiness again. Do not substitute a fixed delay for this semantic condition.
Use loadProgress for loading UI, tileLoad/tileUnload for cache activity, and tileFailed for diagnostics. Do not treat an individual tileLoad event as proof that the current view is complete.
Runtime Properties
Declarative Styling
Assign a Cesium3DTileStyle to tileset.style. Expressions reference feature properties with ${PropertyName}.
Style DSL constraints:
defined()is not supported in the style expression language; using it causes a render error.- Referencing a property that does not exist in the tileset data (e.g.,
${Height}on a tileset with no height attribute) halts style evaluation and triggers a Cesium error panel. Always guard with a["true", "..."]catch-all as the last condition. - To reset styles, assign
tileset.style = undefined.
Color Blend Modes
Edge Display Mode (Experimental, 1.142+)
edgeDisplayMode controls edges contributed by the draft glTF EXT_mesh_primitive_edge_visibility extension. Tiles without that extension render normally regardless of this setting.
Feature Picking and Properties
Scene.pick returns Cesium3DTileFeature for 3D Tiles features. Modifications persist until the owning tile is evicted from the cache.
Inherited Metadata (3D Tiles 1.1 / EXT_structural_metadata)
Clipping Planes
ClippingPlaneCollection clips via half-space planes in the tileset's local coordinate system.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/cesiumjs-3d-tiles/SKILL.md
Popularity
- Repository stars
- 97
- Repository forks
- 13
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/cesiumgs/cesiumjs-skills/cesiumjs-3d-tiles)