@opentui/three
Every export of @opentui/three in the 0.6.0 release, from its type declarations. A version names the release that added an export after the module's first release.
Classes#
class CLICanvasconstructor CLICanvas(device: GPUDevice, width: number, height: number, superSample: SuperSampleType, sampleAlgo?: SuperSampleAlgorithm)method CLICanvas.addEventListener(event: string, listener: any, options?: any): voidmethod CLICanvas.destroy(): voidmethod CLICanvas.dispatchEvent(event: Event): voidmethod CLICanvas.getContext(type: string, attrs?: WebGLContextAttributes): GPUCanvasContextMockmethod CLICanvas.getSuperSampleAlgorithm(): SuperSampleAlgorithmmethod CLICanvas.readPixelsIntoBuffer(buffer: OptimizedBuffer): Promise<void>method CLICanvas.removeEventListener(event: string, listener: any, options?: any): voidmethod CLICanvas.saveToFile(filePath: string): Promise<void>method CLICanvas.setSize(width: number, height: number): voidmethod CLICanvas.setSuperSample(superSample: SuperSampleType): voidmethod CLICanvas.setSuperSampleAlgorithm(superSampleAlgorithm: SuperSampleAlgorithm): voidproperty CLICanvas.mapAsyncTimeMs: numberproperty CLICanvas.superSample: SuperSampleTypeproperty CLICanvas.superSampleDrawTimeMs: number
class ExplodingSpriteEffectconstructor ExplodingSpriteEffect(scene: THREE.Scene, resource: SpriteResource, frameUvOffset: THREE.Vector2, frameUvSize: THREE.Vector2, spriteWorldTransform: THREE.Matrix4, userParams?: Partial<ExplosionEffectParameters>)method ExplodingSpriteEffect.dispose(): voidmethod ExplodingSpriteEffect.update(deltaTimeMs: number): voidproperty ExplodingSpriteEffect.isActive: boolean
class ExplosionManagerconstructor ExplosionManager(scene: THREE.Scene)method ExplosionManager.createExplosionForSprite(spriteToExplode: TiledSprite, userParams?: Partial<ExplosionEffectParameters>): ExplosionHandle | nullmethod ExplosionManager.disposeAll(): voidmethod ExplosionManager.fillPool(resource: SpriteResource, count: number, params?: Partial<ExplosionEffectParameters>): voidmethod ExplosionManager.update(deltaTimeMs: number): void
class InstanceManagerconstructor InstanceManager(scene: Scene, geometry: THREE.BufferGeometry, material: THREE.Material, options: InstanceManagerOptions)method InstanceManager.acquireInstanceSlot(): numbermethod InstanceManager.dispose(): voidmethod InstanceManager.getInstanceCount(): numbermethod InstanceManager.getMaxInstances(): numbermethod InstanceManager.releaseInstanceSlot(instanceIndex: number): voidreadonly property InstanceManager.hasFreeIndices: booleanreadonly property InstanceManager.mesh: THREE.InstancedMesh
class MeshPoolmethod MeshPool.acquireMesh(poolId: string, options: MeshPoolOptions): THREE.InstancedMeshmethod MeshPool.clearAllPools(): voidmethod MeshPool.clearPool(poolId: string): voidmethod MeshPool.fill(poolId: string, options: MeshPoolOptions, count: number): voidmethod MeshPool.releaseMesh(poolId: string, mesh: THREE.InstancedMesh): void
class PhysicsExplodingSpriteEffectconstructor PhysicsExplodingSpriteEffect(scene: THREE.Scene, physicsWorld: PhysicsWorld, resource: SpriteResource, frameUvOffset: THREE.Vector2, frameUvSize: THREE.Vector2, spriteWorldTransform: THREE.Matrix4, userParams?: Partial<PhysicsExplosionEffectParameters>)method PhysicsExplodingSpriteEffect.dispose(): voidmethod PhysicsExplodingSpriteEffect.update(deltaTimeMs: number): voidproperty PhysicsExplodingSpriteEffect.isActive: booleanstatic method PhysicsExplodingSpriteEffect.getSharedMaterial(texture: THREE.DataTexture, materialFactory: () => NodeMaterial): NodeMaterial
class PhysicsExplosionManagerconstructor PhysicsExplosionManager(scene: THREE.Scene, physicsWorld: PhysicsWorld)method PhysicsExplosionManager.createExplosionForSprite(spriteToExplode: TiledSprite, userParams?: Partial<PhysicsExplosionEffectParameters>): Promise<PhysicsExplosionHandle | null>method PhysicsExplosionManager.disposeAll(): voidmethod PhysicsExplosionManager.fillPool(resource: SpriteResource, count: number, params?: Partial<PhysicsExplosionEffectParameters>): voidmethod PhysicsExplosionManager.update(deltaTimeMs: number): void
class PlanckPhysicsWorld implements PhysicsWorldconstructor PlanckPhysicsWorld(planckWorld: planck.World)method PlanckPhysicsWorld.createCollider(colliderDesc: PhysicsColliderDesc, rigidBody: PhysicsRigidBody): voidmethod PlanckPhysicsWorld.createRigidBody(desc: PhysicsRigidBodyDesc): PhysicsRigidBodymethod PlanckPhysicsWorld.removeRigidBody(rigidBody: PhysicsRigidBody): voidstatic method PlanckPhysicsWorld.createFromPlanckWorld(planckWorld: planck.World): PlanckPhysicsWorld
class PlanckRigidBody implements PhysicsRigidBodyconstructor PlanckRigidBody(planckBody: planck.Body)method PlanckRigidBody.applyImpulse(force: PhysicsVector2): voidmethod PlanckRigidBody.applyTorqueImpulse(torque: number): voidmethod PlanckRigidBody.getRotation(): numbermethod PlanckRigidBody.getTranslation(): PhysicsVector2readonly property PlanckRigidBody.nativeBody: planck.Body
class RapierPhysicsWorld implements PhysicsWorldconstructor RapierPhysicsWorld(rapierWorld: World)method RapierPhysicsWorld.createCollider(colliderDesc: PhysicsColliderDesc, rigidBody: PhysicsRigidBody): voidmethod RapierPhysicsWorld.createRigidBody(desc: PhysicsRigidBodyDesc): PhysicsRigidBodymethod RapierPhysicsWorld.removeRigidBody(rigidBody: PhysicsRigidBody): voidstatic method RapierPhysicsWorld.createFromRapierWorld(rapierWorld: World): RapierPhysicsWorld
class RapierRigidBody implements PhysicsRigidBodyconstructor RapierRigidBody(rapierBody: RigidBody)method RapierRigidBody.applyImpulse(force: PhysicsVector2): voidmethod RapierRigidBody.applyTorqueImpulse(torque: number): voidmethod RapierRigidBody.getRotation(): numbermethod RapierRigidBody.getTranslation(): PhysicsVector2readonly property RapierRigidBody.nativeBody: RigidBody
class SheetSprite extends Spriteconstructor SheetSprite(material: SpriteMaterial, numFrames: number)property SheetSprite.setIndex: (index: number) => void
class SpriteAnimatorconstructor SpriteAnimator(scene: Scene)method SpriteAnimator.createSprite(userSpriteDefinition: SpriteDefinition, materialFactory?: () => NodeMaterial): Promise<TiledSprite>method SpriteAnimator.removeAllSprites(): voidmethod SpriteAnimator.removeSprite(id: string): voidmethod SpriteAnimator.update(deltaTime: number): void
class SpriteParticleGeneratorconstructor SpriteParticleGenerator(scene: THREE.Scene, initialBaseConfig: ParticleEffectParameters)method SpriteParticleGenerator.dispose(): voidmethod SpriteParticleGenerator.getActiveParticleCount(): numbermethod SpriteParticleGenerator.hasAutoSpawn(): booleanmethod SpriteParticleGenerator.setAutoSpawn(ratePerSecond: number, autoSpawnParamOverrides?: Partial<ParticleEffectParameters>): voidmethod SpriteParticleGenerator.spawnParticles(count: number, overrides?: Partial<ParticleEffectParameters>): Promise<void>method SpriteParticleGenerator.stopAutoSpawn(): voidmethod SpriteParticleGenerator.update(deltaTimeMs: number): Promise<void>
class SpriteResourceconstructor SpriteResource(texture: THREE.DataTexture, sheetProperties: SheetProperties, scene: Scene)method SpriteResource.createInstanceManager(geometry: THREE.BufferGeometry, material: THREE.Material, options: InstanceManagerOptions): InstanceManagermethod SpriteResource.dispose(): voidreadonly property SpriteResource.meshPool: MeshPoolreadonly property SpriteResource.sheetProperties: SheetPropertiesreadonly property SpriteResource.texture: THREE.DataTexturereadonly property SpriteResource.uvTileSize: THREE.Vector2
class SpriteResourceManagerconstructor SpriteResourceManager(scene: Scene)method SpriteResourceManager.clearCache(): voidmethod SpriteResourceManager.createResource(config: ResourceConfig): Promise<SpriteResource>method SpriteResourceManager.getOrCreateResource(texture: THREE.DataTexture, sheetProps: SheetProperties): Promise<SpriteResource>
class SpriteUtilsstatic method SpriteUtils.fromFile(path: string, { materialParameters, }?: { materialParameters?: Omit<SpriteMaterialParameters, "map">; }): Promise<Sprite>static method SpriteUtils.sheetFromFile(path: string, numFrames: number): Promise<SheetSprite>
class TextureUtilsstatic method TextureUtils.createCheckerboard(size?: number, color1?: Color, color2?: Color, checkSize?: number): Texturestatic method TextureUtils.createGradient(size?: number, startColor?: Color, endColor?: Color, direction?: "horizontal" | "vertical" | "radial"): Texturestatic method TextureUtils.createNoise(size?: number, scale?: number, octaves?: number, color1?: Color, color2?: Color): Texturestatic method TextureUtils.fromFile(path: string): Promise<DataTexture | null>static method TextureUtils.loadTextureFromFile(path: string): Promise<DataTexture | null>
class ThreeCliRendererconstructor ThreeCliRenderer(cliRenderer: CliRenderer, options: ThreeCliRendererOptions)method ThreeCliRenderer.destroy(): voidmethod ThreeCliRenderer.doDrawScene(root: Scene, camera: PerspectiveCamera | OrthographicCamera, buffer: OptimizedBuffer, deltaTime: number): Promise<void>method ThreeCliRenderer.drawScene(root: Scene, buffer: OptimizedBuffer, deltaTime: number): Promise<void>method ThreeCliRenderer.getActiveCamera(): PerspectiveCamera | OrthographicCameramethod ThreeCliRenderer.getSuperSampleAlgorithm(): SuperSampleAlgorithmmethod ThreeCliRenderer.init(): Promise<void>method ThreeCliRenderer.renderStats(buffer: OptimizedBuffer): voidmethod ThreeCliRenderer.saveToFile(filePath: string): Promise<void>method ThreeCliRenderer.setActiveCamera(camera: PerspectiveCamera | OrthographicCamera): voidmethod ThreeCliRenderer.setBackgroundColor(color: RGBA): voidmethod ThreeCliRenderer.setSize(width: number, height: number, forceUpdate?: boolean): voidmethod ThreeCliRenderer.setSuperSampleAlgorithm(superSampleAlgorithm: SuperSampleAlgorithm): voidmethod ThreeCliRenderer.toggleDebugStats(): voidmethod ThreeCliRenderer.toggleSuperSampling(): voidreadonly property ThreeCliRenderer.aspectRatio: number
class ThreeRenderable extends Renderableconstructor ThreeRenderable(ctx: RenderContext, options: ThreeRenderableOptions)method ThreeRenderable.getActiveCamera(): PerspectiveCamera | OrthographicCameramethod ThreeRenderable.getScene(): Scene | nullmethod ThreeRenderable.setActiveCamera(camera: PerspectiveCamera | OrthographicCamera): voidmethod ThreeRenderable.setAutoAspect(autoAspect: boolean): voidmethod ThreeRenderable.setScene(scene: Scene | null): voidprotected method ThreeRenderable.destroySelf(): voidprotected method ThreeRenderable.onResize(width: number, height: number): voidprotected method ThreeRenderable.renderSelf(buffer: OptimizedBuffer, deltaTime: number): voidreadonly property ThreeRenderable.aspectRatio: numberreadonly property ThreeRenderable.renderer: ThreeCliRenderer
class TiledSpriteconstructor TiledSprite(id: string, userSpriteDefinition: SpriteDefinition, animator: SpriteAnimator, animationInstanceParams: Array<{ name: string; state: ResolvedAnimationState; resource: SpriteResource; index: number; instanceManager: InstanceManager; frameAttribute: THREE.InstancedBufferAttribute; flipAttribute: THREE.InstancedBufferAttribute; }>)method TiledSprite.destroy(): voidmethod TiledSprite.getCurrentAnimationName(): stringmethod TiledSprite.getScale(): THREE.Vector3method TiledSprite.getWorldPlaneSize(): THREE.Vector2method TiledSprite.getWorldTransform(): THREE.Matrix4method TiledSprite.goToFrame(frame: number): voidmethod TiledSprite.isPlaying(): booleanmethod TiledSprite.play(): voidmethod TiledSprite.setAnimation(animationName: string): Promise<void>method TiledSprite.setFrameDuration(newFrameDuration: number): voidmethod TiledSprite.setPosition(position: THREE.Vector3): voidmethod TiledSprite.setRotation(rotation: THREE.Quaternion): voidmethod TiledSprite.setScale(scale: THREE.Vector3): voidmethod TiledSprite.setTransform(position: THREE.Vector3, rotation: THREE.Quaternion, newScale: THREE.Vector3): voidmethod TiledSprite.stop(): voidmethod TiledSprite.update(deltaTime: number): voidproperty TiledSprite.visible: booleanreadonly property TiledSprite.currentAnimation: Animationreadonly property TiledSprite.currentTransform: { position: THREE.Vector3; quaternion: THREE.Quaternion; scale: THREE.Vector3; }readonly property TiledSprite.definition: SpriteDefinitionreadonly property TiledSprite.id: string
Interfaces#
interface AnimationDefinitionproperty AnimationDefinition.animFrameOffset?: numberproperty AnimationDefinition.animNumFrames?: numberproperty AnimationDefinition.flipX?: booleanproperty AnimationDefinition.flipY?: booleanproperty AnimationDefinition.frameDuration?: numberproperty AnimationDefinition.initialFrame?: numberproperty AnimationDefinition.loop?: booleanproperty AnimationDefinition.resource: SpriteResource
interface AnimationStateConfigproperty AnimationStateConfig.animFrameOffset: numberproperty AnimationStateConfig.animNumFrames: numberproperty AnimationStateConfig.flipX?: booleanproperty AnimationStateConfig.flipY?: booleanproperty AnimationStateConfig.frameDuration?: numberproperty AnimationStateConfig.imagePath: stringproperty AnimationStateConfig.initialFrame?: numberproperty AnimationStateConfig.loop?: booleanproperty AnimationStateConfig.sheetNumFrames: number
interface ExplosionCreationDataproperty ExplosionCreationData.frameUvOffset: THREE.Vector2property ExplosionCreationData.frameUvSize: THREE.Vector2property ExplosionCreationData.resource: SpriteResourceproperty ExplosionCreationData.spriteWorldTransform: THREE.Matrix4
interface ExplosionEffectParametersproperty ExplosionEffectParameters.angularVelocityMax: THREE.Vector3property ExplosionEffectParameters.angularVelocityMin: THREE.Vector3property ExplosionEffectParameters.durationMs: numberproperty ExplosionEffectParameters.fadeOut: booleanproperty ExplosionEffectParameters.gravity: numberproperty ExplosionEffectParameters.gravityScale: numberproperty ExplosionEffectParameters.initialVelocityYBoost: numberproperty ExplosionEffectParameters.materialFactory: () => NodeMaterialproperty ExplosionEffectParameters.numCols: numberproperty ExplosionEffectParameters.numRows: numberproperty ExplosionEffectParameters.strength: numberproperty ExplosionEffectParameters.strengthVariation: numberproperty ExplosionEffectParameters.zVariationStrength: number
interface ExplosionHandleproperty ExplosionHandle.hasBeenRestored: booleanproperty ExplosionHandle.restoreSprite: (spriteAnimator: SpriteAnimator) => Promise<TiledSprite | null>readonly property ExplosionHandle.effect: ExplodingSpriteEffectreadonly property ExplosionHandle.recreationData: SpriteRecreationData
interface InstanceManagerOptionsproperty InstanceManagerOptions.depthWrite?: booleanproperty InstanceManagerOptions.frustumCulled?: booleanproperty InstanceManagerOptions.matrix?: THREE.Matrix4property InstanceManagerOptions.maxInstances: numberproperty InstanceManagerOptions.name?: stringproperty InstanceManagerOptions.renderOrder?: number
interface MeshPoolOptionsproperty MeshPoolOptions.geometry: () => THREE.BufferGeometryproperty MeshPoolOptions.material: THREE.Materialproperty MeshPoolOptions.maxInstances: numberproperty MeshPoolOptions.name?: string
interface ParticleEffectParametersproperty ParticleEffectParameters.angularVelocityMax: THREE.Vector3property ParticleEffectParameters.angularVelocityMin: THREE.Vector3property ParticleEffectParameters.animFrameOffset?: numberproperty ParticleEffectParameters.animNumFrames?: numberproperty ParticleEffectParameters.depthWrite?: booleanproperty ParticleEffectParameters.fadeOut?: booleanproperty ParticleEffectParameters.frameDuration?: numberproperty ParticleEffectParameters.gravity?: THREE.Vector3property ParticleEffectParameters.initialVelocityMax: THREE.Vector3property ParticleEffectParameters.initialVelocityMin: THREE.Vector3property ParticleEffectParameters.lifetimeMsMax: numberproperty ParticleEffectParameters.lifetimeMsMin: numberproperty ParticleEffectParameters.loop?: booleanproperty ParticleEffectParameters.materialFactory?: () => NodeMaterialproperty ParticleEffectParameters.maxParticles: numberproperty ParticleEffectParameters.origins: THREE.Vector3[]property ParticleEffectParameters.randomGravityFactorMinMax?: THREE.Vector2property ParticleEffectParameters.renderOrder?: numberproperty ParticleEffectParameters.resource: SpriteResourceproperty ParticleEffectParameters.scale?: numberproperty ParticleEffectParameters.scaleOverLifeMinMax?: THREE.Vector2property ParticleEffectParameters.spawnRadius: number | THREE.Vector3
interface PhysicsExplosionCreationDataproperty PhysicsExplosionCreationData.frameUvOffset: THREE.Vector2property PhysicsExplosionCreationData.frameUvSize: THREE.Vector2property PhysicsExplosionCreationData.resource: SpriteResourceproperty PhysicsExplosionCreationData.spriteWorldTransform: THREE.Matrix4
interface PhysicsExplosionEffectParametersproperty PhysicsExplosionEffectParameters.angularDamping: numberproperty PhysicsExplosionEffectParameters.density: numberproperty PhysicsExplosionEffectParameters.durationMs: numberproperty PhysicsExplosionEffectParameters.explosionForce: numberproperty PhysicsExplosionEffectParameters.fadeOut: booleanproperty PhysicsExplosionEffectParameters.forceVariation: numberproperty PhysicsExplosionEffectParameters.friction: numberproperty PhysicsExplosionEffectParameters.gravityScale: numberproperty PhysicsExplosionEffectParameters.linearDamping: numberproperty PhysicsExplosionEffectParameters.materialFactory: () => NodeMaterialproperty PhysicsExplosionEffectParameters.numCols: numberproperty PhysicsExplosionEffectParameters.numRows: numberproperty PhysicsExplosionEffectParameters.restitution: numberproperty PhysicsExplosionEffectParameters.torqueStrength: number
interface PhysicsExplosionHandleproperty PhysicsExplosionHandle.hasBeenRestored: booleanproperty PhysicsExplosionHandle.restoreSprite: (spriteAnimator: SpriteAnimator) => Promise<TiledSprite | null>readonly property PhysicsExplosionHandle.effect: PhysicsExplodingSpriteEffectreadonly property PhysicsExplosionHandle.recreationData: PhysicsSpriteRecreationData
interface PhysicsSpriteRecreationDataproperty PhysicsSpriteRecreationData.currentTransform: { position: THREE.Vector3; quaternion: THREE.Quaternion; scale: THREE.Vector3; }property PhysicsSpriteRecreationData.definition: SpriteDefinition
interface ResourceConfigproperty ResourceConfig.imagePath: stringproperty ResourceConfig.sheetNumFrames: number
interface SheetPropertiesproperty SheetProperties.imagePath: stringproperty SheetProperties.sheetNumFrames: numberproperty SheetProperties.sheetTilesetHeight: numberproperty SheetProperties.sheetTilesetWidth: number
interface SpriteDefinitionproperty SpriteDefinition.animations: Record<string, AnimationDefinition>property SpriteDefinition.depthWrite?: booleanproperty SpriteDefinition.id?: stringproperty SpriteDefinition.initialAnimation: stringproperty SpriteDefinition.maxInstances?: numberproperty SpriteDefinition.renderOrder?: numberproperty SpriteDefinition.scale?: number
interface SpriteRecreationDataproperty SpriteRecreationData.currentTransform: { position: THREE.Vector3; quaternion: THREE.Quaternion; scale: THREE.Vector3; }property SpriteRecreationData.definition: SpriteDefinition
interface ThreeCliRendererOptionsproperty ThreeCliRendererOptions.alpha?: booleanproperty ThreeCliRendererOptions.autoResize?: booleanproperty ThreeCliRendererOptions.backgroundColor?: RGBAproperty ThreeCliRendererOptions.focalLength?: numberproperty ThreeCliRendererOptions.height: numberproperty ThreeCliRendererOptions.libPath?: stringproperty ThreeCliRendererOptions.superSample?: SuperSampleTypeproperty ThreeCliRendererOptions.width: number
interface ThreeRenderableOptions extends RenderableOptions<ThreeRenderable>property ThreeRenderableOptions.autoAspect?: booleanproperty ThreeRenderableOptions.camera?: PerspectiveCamera | OrthographicCameraproperty ThreeRenderableOptions.renderer?: Omit<ThreeCliRendererOptions, "width" | "height" | "autoResize">property ThreeRenderableOptions.scene?: Scene | null
Types#
type ResolvedAnimationState = Required<AnimationStateConfig> & { sheetTilesetWidth: number; sheetTilesetHeight: number; texture: THREE.DataTexture; }
Enums#
enum SuperSampleAlgorithmenum-member SuperSampleAlgorithm.PRE_SQUEEZED = 1enum-member SuperSampleAlgorithm.STANDARD = 0
enum SuperSampleTypeenum-member SuperSampleType.CPU = "cpu"enum-member SuperSampleType.GPU = "gpu"enum-member SuperSampleType.NONE = "none"
Constants and variables#
const DEFAULT_EXPLOSION_PARAMETERS: ExplosionEffectParametersconst DEFAULT_PHYSICS_EXPLOSION_PARAMETERS: PhysicsExplosionEffectParameters
Namespaces and re-exports#
namespace THREE from "three"