Skip to content

Both copy text to your clipboard — Build with AI copies a setup prompt to paste into Claude Code, Cursor, Codex or Copilot; Copy page as Markdown copies this page to paste into a chat. How it works

ImageManager ​

Defined in: src/render/image_manager.ts:40

ImageManager does three things:

  1. Tracks requests for icon images from tile workers and sends responses when the requests are fulfilled.
  2. Builds a texture atlas for pattern images.
  3. Rerenders renderable images once per frame

These are disparate responsibilities and should eventually be handled by different classes. When we implement data-driven support for *-pattern, we'll likely use per-bucket pattern atlases, and that would be a good time to refactor this.

Extends ​

Methods ​

listens() ​

listens(type: string): boolean

Defined in: src/util/evented.ts:165

Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.

Parameters ​

ParameterTypeDescription
typestringThe event type

Returns ​

boolean

true if there is at least one registered listener for specified event type, false otherwise

Inherited from ​

Evented.listens


off() ​

off(type: string, listener: Listener): ImageManager

Defined in: src/util/evented.ts:90

Removes a previously registered event listener.

Parameters ​

ParameterTypeDescription
typestringThe event type to remove listeners for.
listenerListenerThe listener function to remove.

Returns ​

ImageManager

Inherited from ​

Evented.off


on() ​

on(type: string, listener: Listener): Subscription

Defined in: src/util/evented.ts:73

Adds a listener to a specified event type.

Parameters ​

ParameterTypeDescription
typestringThe event type to add a listen for.
listenerListenerThe function to be called when the event is fired. The listener function is called with the data object passed to fire, extended with target and type properties.

Returns ​

Subscription

Inherited from ​

Evented.on


once() ​

once(type: string, listener?: Listener): Promise<any> | ImageManager

Defined in: src/util/evented.ts:106

Adds a listener that will be called only once to a specified event type.

The listener will be called first time the event fires after the listener is registered.

Parameters ​

ParameterTypeDescription
typestringThe event type to listen for.
listener?ListenerThe function to be called when the event is fired the first time.

Returns ​

Promise<any> | ImageManager

this or a promise if a listener is not provided

Inherited from ​

Evented.once


setEventedParent() ​

setEventedParent(parent?: Evented, data?: any): ImageManager

Defined in: src/util/evented.ts:176

Bubble all events fired by this instance of Evented to this parent instance of Evented.

Parameters ​

ParameterType
parent?Evented
data?any

Returns ​

ImageManager

Inherited from ​

Evented.setEventedParent

Properties ​

requestors ​

requestors: object[]

Defined in: src/render/image_manager.ts:49

This is used to track requests for images that are not yet available. When the image is loaded, the requestors will be notified.

ids ​

ids: string[]

promiseResolve() ​

promiseResolve: (value: GetImagesResponse) => void

Parameters ​
ParameterType
valueGetImagesResponse
Returns ​

void