
Use this page when the task is about drawing, loading content, saving state, or using the core value and math helpers.
aura.draw2daura.assetsaura.audioaura.storageaura.mathTop-Level Utilities| Namespace | Exact Signatures | Additional Method Names | Native | Web |
|---|---|---|---|---|
aura.draw2d |
29 | 11 | supported |
supported |
aura.assets |
8 | 7 | supported |
supported |
aura.audio |
26 | 8 | supported |
unsupported |
aura.storage |
4 | 0 | supported |
supported |
aura.math |
5 | 1 | supported |
supported |
Top-Level Utilities |
30 | 0 | supported |
see_web_build_contract_v1 |
Immediate-mode 2D drawing primitives (shapes, sprites, text, transforms).
supportedsupported2911aura.draw2d.circle(x: number, y: number, radius: number, color: Color): void
aura.draw2d.circleFill(x: number, y: number, radius: number, color: Color): void
aura.draw2d.clear(color: Color): void
aura.draw2d.createRenderTarget(width: number, height: number): { ok: boolean, reasonCode: string, handle?: number, width?: number, height?: number, type?: "renderTarget", __renderTarget?: true }
aura.draw2d.destroyRenderTarget( target: number | { handle: number, __renderTarget?: true } ): { ok: boolean, reasonCode: string, handle?: number, destroyed?: boolean }
aura.draw2d.exportRenderTarget( target: | number | { handle: number, __renderTarget?: true } | { type: "compositorStage", graph: string, stage: string }, path: string ): { ok: boolean, reasonCode: string, handle?: number, path?: string, graphName?: string, stage?: string }
aura.draw2d.line(x1: number, y1: number, x2: number, y2: number, color: Color, width?: number): void
aura.draw2d.measureText(str: string, options?: TextMeasureOptions): { width: number, height: number }
aura.draw2d.nineSlice( image: Asset, x: number, y: number, width: number, height: number, options: { slice?: number, left?: number, right?: number, top?: number, bottom?: number, tint?: Color, alpha?: number } ): void
aura.draw2d.popClipRect(): { ok: boolean, reasonCode: string }
aura.draw2d.popTransform(): void
aura.draw2d.pushClipRect( rect: { x?: number, y?: number, width: number, height: number } ): { ok: boolean, reasonCode: string }
aura.draw2d.pushClipRect( x: number, y: number, width: number, height: number ): { ok: boolean, reasonCode: string }
aura.draw2d.pushTransform(): void
aura.draw2d.rect(...)
aura.draw2d.rect(x: number, y: number, w: number, h: number, color: Color): void
aura.draw2d.rectFill(x: number, y: number, w: number, h: number, color: Color): void
aura.draw2d.resizeRenderTarget( target: number | { handle: number, __renderTarget?: true }, width: number, height: number ): { ok: boolean, reasonCode: string, handle?: number, width?: number, height?: number, resized?: boolean }
aura.draw2d.rotate(angle: number): void
aura.draw2d.runCompositorGraph( graphName: string, stages: Array<{ id: string, target: number | { handle: number, __renderTarget?: true }, draw: () => void }> ): { ok: boolean, reasonCode: string, graphName?: string, stageCount?: number, commandCount?: number, stages?: Array<{ type: "compositorStage", __compositorStage?: true, graph: string, graphName: string, stage: string, id: string, handle: number }> }
aura.draw2d.scale(sx: number, sy: number): void
aura.draw2d.sprite(image: Asset, x: number, y: number, options?: SpriteOptions): void
aura.draw2d.spriteFx( image: | Asset | { handle: number, __renderTarget?: true } | { type: "compositorStage", graph: string, stage: string }, x: number, y: number, options: { width?: number, height?: number, alpha?: number, shadow?: { offsetX?: number, offsetY?: number, blur?: number, color?: Color, alpha?: number }, outline?: { thickness?: number, color?: Color, alpha?: number } } ): { ok: boolean, reasonCode: string, submittedFxDrawCount?: number }
aura.draw2d.text(str: string, x: number, y: number, options?: TextOptions): void
aura.draw2d.tileSprite( image: Asset, x: number, y: number, width: number, height: number, options?: { tileScaleX?: number, tileScaleY?: number, tileOffsetX?: number, tileOffsetY?: number, tint?: Color, alpha?: number } ): void
aura.draw2d.translate(x: number, y: number): void
aura.draw2d.withMask( source: | Asset | { handle: number, __renderTarget?: true } | { type: "analytic" | "shape", shape: "circle", feather?: number }, x: number, y: number, width: number, height: number, callback: () => void, options?: { invert?: boolean } ): { ok: boolean, reasonCode: string, commandCount?: number, maskKind?: "source" | "analytic", maskShape?: "texture" | "circle", maskFeather?: number }
aura.draw2d.withRenderTarget( target: number | { handle: number, __renderTarget?: true }, callback: () => void ): { ok: boolean, reasonCode: string, handle?: number, commandCount?: number }
aura.draw2d.withRenderTargets( stages: Array<{ target: number | { handle: number, __renderTarget?: true }, draw: () => void }> ): { ok: boolean, reasonCode: string, stageCount?: number, commandCount?: number, handles?: number[] }
aura.draw2d.arc(...)
aura.draw2d.arcFill(...)
aura.draw2d.bezier(...)
aura.draw2d.clearFill(...)
aura.draw2d.polygon(...)
aura.draw2d.polygonFill(...)
aura.draw2d.polyline(...)
aura.draw2d.quadratic(...)
aura.draw2d.setBlendMode(...)
aura.draw2d.setFill(...)
aura.draw2d.styledText(...)
Exact signature extraction is still incomplete for the methods above. Use the canonical contract source if argument or return-value detail matters.
Load and query bundled assets (images, audio, fonts, JSON, text).
supportedsupported87aura.assets.exists(path: string): boolean
aura.assets.getFormatSupport(path: string): AssetFormatSupport
aura.assets.load()
aura.assets.load(path: string): Asset
aura.assets.loadBitmapFont(options?: { cellWidth?: number, cellHeight?: number }): FontLoadResult
aura.assets.loadFont(path: string): FontLoadResult
aura.assets.loadJson(path: string): any
aura.assets.loadText(path: string): string
aura.assets.evict(...)
aura.assets.getCachePolicy(...)
aura.assets.getState(...)
aura.assets.getStateHistory(...)
aura.assets.preload2d(...)
aura.assets.preload3d(...)
aura.assets.setCachePolicy(...)
Exact signature extraction is still incomplete for the methods above. Use the canonical contract source if argument or return-value detail matters.
Play, pause, stop, and mix audio assets.
supportedunsupported268aura.audio.assignBus(handle: number, bus: string): { ok: boolean, reasonCode: string | null, handle?: number, bus?: string, effectiveVolume?: number }
aura.audio.attachEmitter(handle: number, nodeId: number): { ok: boolean, reasonCode: string | null, handle?: number, spatial?: object }
aura.audio.attachListener(nodeId: number): { ok: boolean, reasonCode: string | null, listener?: object }
aura.audio.clearEnvelopes(): { ok: boolean, reasonCode: null, cleared: number }
aura.audio.crossfade(fromHandle: number, toHandle: number, options: { duration: number, fromVolume?: number, toStartVolume?: number, toVolume?: number, stopFrom?: boolean }): { ok: boolean, reasonCode: string | null, fromEnvelopeId?: number, toEnvelopeId?: number }
aura.audio.detachEmitter(handle: number): { ok: boolean, reasonCode: string | null, handle?: number, detached?: boolean }
aura.audio.detachListener(): { ok: boolean, reasonCode: string | null, listener?: object }
aura.audio.fadeBus(bus: string, options: { to: number, duration: number }): { ok: boolean, reasonCode: string | null, envelopeId?: number }
aura.audio.fadeTrack(handle: number, options: { to: number, duration: number, stopOnComplete?: boolean }): { ok: boolean, reasonCode: string | null, envelopeId?: number }
aura.audio.getListenerState(): { ok: boolean, reasonCode: string | null, supported?: boolean, mode?: "manual" | "scene3d", attachedNodeId?: number | null, position?: object, forward?: object, up?: object, spatial?: object, hrtfEnabled?: boolean, reverbZone?: object | null }
aura.audio.getMixerState(): { buses: Array<{ bus: string, volume: number }>, tracks: Array<{ handle: number, bus: string, baseVolume: number, effectiveVolume: number, paused: boolean }>, envelopes: Array<{ id: number, kind: "track" | "bus", handle: number | null, bus: string | null, start: number, end: number, duration: number, elapsed: number, stopOnComplete: boolean }>, nextEnvelopeId: number }
aura.audio.getSpatialState(handle?: number): { ok: boolean, reasonCode: string | null, supported?: boolean, listener?: object, emitters?: object[], emitter?: object, lastReasonCode?: string, lastUpdate?: object }
aura.audio.pause(handle: number): void
aura.audio.play()
aura.audio.play(path: string, options?: AudioOptions): number
aura.audio.play3d(path: string, options?: AudioOptions & { position?: { x: number, y: number, z: number }, nodeId?: number, minDistance?: number, // default: 1 maxDistance?: number, // default: 32, must be > minDistance rolloff?: number, // default: 1, must be > 0 panStrength?: number // default: 1, clamped to [0,1] }): { ok: boolean, reasonCode: string | null, handle?: number, fallbackMode?: "stereo_2d", spatial?: object }
aura.audio.resume(handle: number): void
aura.audio.setBusVolume(bus: string, volume: number): { ok: boolean, reasonCode: string | null, bus?: string, volume?: number }
aura.audio.setEmitterTransform( handle: number, transform: { x: number, y: number, z: number } ): { ok: boolean, reasonCode: string | null, handle?: number, spatial?: object }
aura.audio.setListenerTransform(transform: { position?: { x: number, y: number, z: number }, rotation?: { x: number, y: number, z: number } }): { ok: boolean, reasonCode: string | null, listener?: object }
aura.audio.setMasterVolume(volume: number): void
aura.audio.setVolume(handle: number, volume: number): void
aura.audio.stop(handle: number): void
aura.audio.stopAll(): void
aura.audio.update(dt: number): { ok: boolean, reasonCode: string | null, advanced?: number, completed?: number, activeEnvelopes?: number }
aura.audio.updateSpatial(): { ok: boolean, reasonCode: string | null, updated?: number, fallbackCount?: number, missingTrackCount?: number, listenerMode?: "manual" | "scene3d", fallbackReasonCode?: "spatialization_unavailable_backend" | null }
aura.audio.addReverbZone(...)
aura.audio.clearReverbZones(...)
aura.audio.playSpatial(...)
aura.audio.removeReverbZone(...)
aura.audio.setEmitterPosition(...)
aura.audio.setHRTF(...)
aura.audio.setListener(...)
aura.audio.setOcclusion(...)
Exact signature extraction is still incomplete for the methods above. Use the canonical contract source if argument or return-value detail matters.
Persist and retrieve JSON-serializable data to local storage.
supportedsupported40aura.storage.delete(key: string): void
aura.storage.keys(): string[]
aura.storage.load(key: string): any | null
aura.storage.save(key: string, value: any): void
Common math utilities (lerp, clamp, random, distance, angle, constants).
supportedsupported51aura.math.angle(x1: number, y1: number, x2: number, y2: number): number
aura.math.clamp(value: number, min: number, max: number): number
aura.math.distance(x1: number, y1: number, x2: number, y2: number): number
aura.math.lerp(a: number, b: number, t: number): number
aura.math.random(): number aura.math.random(max: number): number aura.math.random(min: number, max: number): number
aura.math.setSeed(...)
Exact signature extraction is still incomplete for the methods above. Use the canonical contract source if argument or return-value detail matters.
Top-level color and vector construction helpers.
supportedsee_web_build_contract_v1300aura.Color.BLACK // { r: 0.0, g: 0.0, b: 0.0, a: 1.0 }
aura.Color.BLUE // { r: 0.0, g: 0.0, b: 1.0, a: 1.0 }
aura.Color.CYAN // { r: 0.0, g: 1.0, b: 1.0, a: 1.0 }
aura.Color.GREEN // { r: 0.0, g: 1.0, b: 0.0, a: 1.0 }
aura.Color.MAGENTA // { r: 1.0, g: 0.0, b: 1.0, a: 1.0 }
aura.Color.RED // { r: 1.0, g: 0.0, b: 0.0, a: 1.0 }
aura.Color.TRANSPARENT // { r: 0.0, g: 0.0, b: 0.0, a: 0.0 }
aura.Color.WHITE // { r: 1.0, g: 1.0, b: 1.0, a: 1.0 }
aura.Color.YELLOW // { r: 1.0, g: 1.0, b: 0.0, a: 1.0 }
aura.rgb(r: number, g: number, b: number): Color
aura.rgba(r: number, g: number, b: number, a: number): Color
aura.vec2.add(a: Vec2, b: Vec2): Vec2
aura.vec2.distance(a: Vec2, b: Vec2): number
aura.vec2.dot(a: Vec2, b: Vec2): number
aura.vec2.length(v: Vec2): number
aura.vec2.lerp(a: Vec2, b: Vec2, t: number): Vec2
aura.vec2.normalize(v: Vec2): Vec2
aura.vec2.scale(v: Vec2, s: number): Vec2
aura.vec2.sub(a: Vec2, b: Vec2): Vec2
aura.vec2(x: number, y: number): Vec2
aura.vec3.add(a: Vec3, b: Vec3): Vec3
aura.vec3.cross(a: Vec3, b: Vec3): Vec3
aura.vec3.distance(a: Vec3, b: Vec3): number
aura.vec3.dot(a: Vec3, b: Vec3): number
aura.vec3.length(v: Vec3): number
aura.vec3.lerp(a: Vec3, b: Vec3, t: number): Vec3
aura.vec3.normalize(v: Vec3): Vec3
aura.vec3.scale(v: Vec3, s: number): Vec3
aura.vec3.sub(a: Vec3, b: Vec3): Vec3
aura.vec3(x: number, y: number, z: number): Vec3