Taos API Reference
    Preparing search index...

    Class Geo3DTileset

    A streamed geospatial layer in the active GeoReference's scene. The source property picks the data:

    • 'ion' — a Cesium ion asset by assetId (OSM Buildings 96188, Google Photorealistic 3D Tiles 2275207, Cesium World Terrain 1, or any asset in your account). The token comes from the GeoReference's GeoReference.ionToken unless token overrides it. ion terrain assets (quantized-mesh) are auto-detected.
    • 'terrain' — keyless streamed raster-DEM terrain (AWS Terrarium elevation) draped with the imagery of your choice.
    • 'osm-buildings' — keyless OpenStreetMap extruded vector buildings (OpenFreeMap). Buildings only: draped fills/roads are excluded so the layer composes with a terrain source without z-fighting.

    Requires a GeoReference in the scene. All properties are live-editable (changing them re-streams).

    Hierarchy

    • GeoSceneComponent
      • Geo3DTileset
    Index

    Constructors

    Properties

    id: string = ...

    Stable identity for this component, unique within a session. Auto-generated for runtime-created components; the editor overwrites it with a persistent id when projecting a saved document so references survive save / load / undo.

    enabled: boolean = true

    Whether this component participates in simulation and rendering. When false, the GameObject skips its update/updateRender and the scene's render collectors (mesh renderers, camera, lights, …) ignore it — the component stays attached and keeps its state, like Unity's Behaviour.enabled / Renderer.enabled. Defaults to true.

    gameObject: GameObject

    The owning GameObject; assigned by addComponent before onAttach runs.

    _sceneAttached: boolean = false

    True between onAttach and onDetach — i.e. while this component sits on a GameObject that is part of a live Scene. Managed by GameObject. Internal — do not set directly.

    Accessors

    • get time(): Time

      The simulation clock of the scene this component belongs to. Read inside update (or any time after the GameObject is added to a scene) for absolute time, frame count, FPS, and timeScale-aware delta — e.g. this.time.elapsed, this.time.delta, this.time.frameCount.

      this.time.delta equals the dt argument passed to update, so components can ignore that argument entirely and pull everything from here.

      Returns Time

      if the owning GameObject is not currently part of a scene.

    • get maxRenderDistance(): number

      Render-distance cap in meters for 'ion' 3D-Tiles and 'osm-buildings' content (buildings / photogrammetry beyond it are skipped — a perf limit). 0 = unlimited (default): content draws to the horizon like terrain does. Editable live.

      Returns number

    • set maxRenderDistance(v: number): void

      Parameters

      • v: number

      Returns void

    • get castShadows(): boolean

      Whether this layer's tiles cast shadows (they receive them either way). Turning casting off roughly halves a dense layer's draw work — the biggest perf lever for building sprawl. Default true. Editable live.

      Returns boolean

    • set castShadows(v: boolean): void

      Parameters

      • v: boolean

      Returns void

    • get albedoBoost(): number

      Multiplies 'ion' tile material albedo — brightens photogrammetry content captured under flat lighting (e.g. Google Photorealistic under a bright sun). Default 1. Editing re-streams.

      Returns number

    • set albedoBoost(v: number): void

      Parameters

      • v: number

      Returns void

    • get lit(): boolean

      Force unlit (KHR_materials_unlit) 'ion' tile materials to lit so engine lighting/shadows affect them. Default true. Editing re-streams.

      Returns boolean

    • set lit(v: boolean): void

      Parameters

      • v: boolean

      Returns void

    • get workerDecode(): boolean

      Decode 'ion' tile content on a worker (off the main thread) — smoother frames while streaming, at a small latency cost. Default false. Read live per tile load.

      Returns boolean

    • set workerDecode(v: boolean): void

      Parameters

      • v: boolean

      Returns void

    • get preloadMargin(): number

      Extra frustum margin (meters) for 'ion' 3D-Tiles preloading: tiles just outside the view pre-fetch so a camera turn doesn't hit empty tiles. A good value scales with altitude. 0 = off (default). Editable live.

      Returns number

    • set preloadMargin(v: number): void

      Parameters

      • v: number

      Returns void

    • get buildsPerFrame(): number

      Max 'osm-buildings' tile GPU uploads applied per frame — raise for faster fill-in at the cost of bigger frame hitches. 0 = engine default. Editable live.

      Returns number

    • set buildsPerFrame(v: number): void

      Parameters

      • v: number

      Returns void

    Methods

    • Connect to a Signal with automatic disconnect when this component is removed from its GameObject — the safe default for cross-object listening, so a destroyed component never leaks into (or gets called by) a signal it once observed. Typically called from onAttach:

      onAttach(): void {
      const health = this.gameObject.getComponent(Health)!;
      this.listen(health.died, () => this.playDeathEffect());
      }

      Type Parameters

      • A extends unknown[]

      Parameters

      Returns () => void

      The unsubscribe function, for listeners that also want to disconnect early; calling it is optional and idempotent.

    • Disconnect every signal connection made through listen. Called by GameObject.removeComponent after onDetach (so it runs even when a subclass overrides onDetach without calling super). Internal — do not call directly.

      Returns void

    • Called every frame by the GameObject's update traversal.

      Parameters

      • _dt: number

        Frame delta time in seconds.

      Returns void

    • Called when this component's GameObject begins touching another body, with the GameObject it collided with. Dispatched by the physics system after each world step (only while playing), so handlers may freely mutate the scene. Requires a physics body (RigidBody / CharacterBody) on the object.

      Parameters

      • _other: GameObject

        The other GameObject involved in the contact.

      Returns void

    • Called every frame by the GameObject's render traversal, after update and any input/controller mutations to the transform. Override to refresh per-frame state that render passes consume (e.g. Camera recomputes its cached view/projection matrices here).

      Parameters

      • _ctx: RenderContext

        Active render context (provides canvas width/height etc.).

      Returns void

    • Called when the component joins a live scene — from addComponent when the GameObject is already in a scene, otherwise when the GameObject is added to one. this.gameObject.scene (and scene.engine) is always set here. Override to acquire references to siblings/children or initialize resources.

      Returns void

    • Called when the component leaves the scene — removed via GameObject.removeComponent, or its GameObject removed from the scene. Override to release resources or unsubscribe from events.

      Returns void