Taos API Reference
    Preparing search index...

    Class GeoReference

    The scene's georeference: a floating-origin frame anchored at a longitude/latitude. Streamed content comes from sibling Geo3DTileset components; this component owns the frame they share, the scene-wide ion token, the camera reanchor, and the on-screen data-attribution overlay. Renders in both edit and play so the world is visible while authoring.

    Hierarchy (View Summary)

    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.

    ionToken: string = ''

    Cesium ion access token used by every Geo3DTileset in the scene that doesn't set its own — the scene-wide default token. Copy it from your ion account (Access Tokens page).

    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 attribution(): boolean

      Show the on-screen data-provider attribution overlay (bottom-left of the presentation canvas). Required by most providers' terms of service — leave on unless you render the copyrights yourself from GeoScene.copyrights. Default true.

      Returns boolean

    • set attribution(v: boolean): void

      Parameters

      • v: boolean

      Returns void

    • get frustumCulling(): boolean

      Frustum-cull streamed tiles against the camera (default true). A live debug toggle — turn off to see everything the streamer selected.

      Returns boolean

    • set frustumCulling(v: boolean): void

      Parameters

      • v: boolean

      Returns void

    • get curvedHorizon(): boolean

      Rebase the atmosphere sky dome onto the real globe so the horizon dips with altitude and the dome paints a lit ground sphere below it (ocean / far land the streamed tiles don't cover). Needs a Sky in atmosphere mode; quietly does nothing otherwise. Default true. Editable live.

      Returns boolean

    • set curvedHorizon(v: boolean): void

      Parameters

      • v: boolean

      Returns void

    • get cacheBudgetMB(): number

      GPU byte budget per streamed layer's tile cache, in MB (default 512). Editing while attached rebuilds the streaming scene (layers re-add themselves and re-stream).

      Returns number

    • set cacheBudgetMB(v: number): void

      Parameters

      • v: number

      Returns void

    • get maxConcurrentLoads(): number

      Max concurrent in-flight tile loads per layer (default 16). Editing while attached rebuilds the streaming scene.

      Returns number

    • set maxConcurrentLoads(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.

    • 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