Skip to content

galavi / BaseView

Class: abstract BaseView

Defined in: view/base.ts:86

Constructors

new BaseView()

new BaseView(id): BaseView

Defined in: view/base.ts:115

Parameters

id

string

Returns

BaseView

Properties

id

readonly id: string

Defined in: view/base.ts:87


viewType

readonly viewType: string

Defined in: view/base.ts:88


canvas

canvas: HTMLCanvasElement

Defined in: view/base.ts:90


device

protected device: GPUDevice

Defined in: view/base.ts:91


context

protected context: GPUCanvasContext

Defined in: view/base.ts:92


galavi?

protected optional galavi: Galavi

Defined in: view/base.ts:94


layerEntries

protected layerEntries: BaseLayer[] = []

Defined in: view/base.ts:95


overlays

protected overlays: BaseOverlay[] = []

Defined in: view/base.ts:96


isActive

isActive: boolean = false

Defined in: view/base.ts:106

Whether this view is currently active (managed by Explorer)

Accessors

hasEventsEnabled

Get Signature

get hasEventsEnabled(): boolean

Defined in: view/base.ts:701

Returns

boolean


gpuDevice

Get Signature

get gpuDevice(): GPUDevice

Defined in: view/base.ts:746

Returns

GPUDevice


gpuContext

Get Signature

get gpuContext(): GPUCanvasContext

Defined in: view/base.ts:749

Returns

GPUCanvasContext


canvasElement

Get Signature

get canvasElement(): HTMLCanvasElement

Defined in: view/base.ts:752

Returns

HTMLCanvasElement

Methods

initGPUResources()

abstract protected initGPUResources(): Promise<void>

Defined in: view/base.ts:132

Override to create device-scoped GPU resources (pipelines, buffers, bind groups, samplers). Called at most once per view instance, before the first mount() returns.

Format-bound resources (render pipelines targeting the swap-chain format) may be created here, but subclasses MUST also handle onCanvasFormatChanged to invalidate them when the preferred canvas format changes between mounts (e.g. swapping to an HDR display).

Returns

Promise<void>


onCanvasFormatChanged()

protected onCanvasFormatChanged(): void

Defined in: view/base.ts:139

Hook called by mount() when re-mounting on a different canvas whose preferred format differs from the previously-bound canvas. Default no-op; override to invalidate format-bound render pipelines (e.g. by calling pipeline.markDirty() on any owned ImagePipeline).

Returns

void


onDestroy()

protected onDestroy(): void

Defined in: view/base.ts:140

Returns

void


renderFrame()

abstract protected renderFrame(state): void

Defined in: view/base.ts:146

Override to render all layer entries. Called on each state change.

Parameters

state

State

Returns

void


render()

render(state): void

Defined in: view/base.ts:147

Parameters

state

State

Returns

void


setDevice()

setDevice(device): void

Defined in: view/base.ts:174

Parameters

device

GPUDevice

Returns

void


mount()

mount(canvas): Promise<void>

Defined in: view/base.ts:185

Parameters

canvas

HTMLCanvasElement

Returns

Promise<void>


unmount()

unmount(): void

Defined in: view/base.ts:238

Returns

void


destroy()

destroy(): void

Defined in: view/base.ts:251

Returns

void


onLayersChanged()

abstract protected onLayersChanged(): void

Defined in: view/base.ts:284

Override to rebuild pipelines when layers change.

Returns

void


addLayer()

addLayer(layer): void

Defined in: view/base.ts:286

Parameters

layer

BaseLayer

Returns

void


removeLayer()

removeLayer(layer): void

Defined in: view/base.ts:294

Parameters

layer

BaseLayer

Returns

void


setLayers()

setLayers(entries): void

Defined in: view/base.ts:303

Parameters

entries

BaseLayer[]

Returns

void


getLayers()

getLayers(): readonly BaseLayer[]

Defined in: view/base.ts:314

Returns

readonly BaseLayer[]


addOverlay()

addOverlay(overlay): void

Defined in: view/base.ts:320

Parameters

overlay

BaseOverlay

Returns

void


removeOverlay()

removeOverlay(overlay): void

Defined in: view/base.ts:326

Parameters

overlay

BaseOverlay

Returns

void


setOverlays()

setOverlays(list): void

Defined in: view/base.ts:334

Parameters

list

BaseOverlay[]

Returns

void


getOverlays()

getOverlays(): readonly BaseOverlay[]

Defined in: view/base.ts:344

Returns

readonly BaseOverlay[]


setControls()

setControls(controls): void

Defined in: view/base.ts:351

Set the view's local control chain.

Parameters

controls

BaseControl[]

Returns

void


getControls()

getControls(): readonly BaseControl[]

Defined in: view/base.ts:356

Get the view's local controls.

Returns

readonly BaseControl[]


getSceneBounds()

protected getSceneBounds(): object

Defined in: view/base.ts:363

Compute world-space bounds of all layer entries

Returns

object

min

min: Vec3

max

max: Vec3

size

size: Vec3

center

center: Vec3

maxExtent

maxExtent: number


transformPoint()

protected transformPoint(matrix, point): Vec3

Defined in: view/base.ts:395

Transform a 3D point by a 4×4 column-major matrix

Parameters

matrix

Float32Array

point

Vec3

Returns

Vec3


createOrthographicUniforms()

protected createOrthographicUniforms(scene, aspect): Float32Array

Defined in: view/base.ts:410

Create orthographic scene uniform data (2D views). View = translation by -target; projection = ortho with Y-flip.

Parameters

scene

Scene

aspect

number

Returns

Float32Array


createPerspectiveUniforms()

protected createPerspectiveUniforms(scene, aspect): Float32Array

Defined in: view/base.ts:436

Create perspective scene uniform data (3D views). View = lookAt; projection = perspective with Y-flip.

Parameters

scene

Scene

aspect

number

Returns

Float32Array


clampState()

protected clampState(state): State

Defined in: view/base.ts:489

Post-control hook for views to clamp state (e.g. LOD safety caps).

The view-level LOD clamp is the canonical second tier of the three-tier LOD design (DESIGN.md §LOD): control expresses semantic intent, view caps to canvas / pyramid bounds, layer applies a final per-data backstop. Concrete views typically delegate to clampLodLevel.

Parameters

state

State

Returns

State


clampLodLevel()

protected clampLodLevel(state): State

Defined in: view/base.ts:500

Canonical view-tier LOD clamp — narrows a manual LOD level to the intersection of every layer's pyramid range. Returns the same state reference unmodified when no clamp is needed (mode != manual, no tiled layers, or value already in range), preserving forward()'s reference equality short-circuit.

Parameters

state

State

Returns

State


setOwner()

setOwner(galavi): void

Defined in: view/base.ts:524

Bind this view to its owning Galavi instance (used for requestRender).

Parameters

galavi

Galavi

Returns

void


registerDOMEvents()

protected registerDOMEvents(): void

Defined in: view/base.ts:538

Register standard DOM event handlers on the canvas. Called after mount.

Returns

void


enableEvents()

enableEvents(): void

Defined in: view/base.ts:684

Returns

void


disableEvents()

disableEvents(): void

Defined in: view/base.ts:690

Returns

void


on()

protected on(event, handler): void

Defined in: view/base.ts:705

Parameters

event

string

handler

EventListener

Returns

void


forward()

forward(action): void

Defined in: view/base.ts:723

Parameters

action

Action

Returns

void


getAxisMap()

protected getAxisMap(): undefined | [number, number, number]

Defined in: view/base.ts:757

Return the axis permutation for this view, or undefined for 3D views.

Returns

undefined | [number, number, number]

Released under the GPL-3.0 License.