Skip to content

Variable: IWSDK_BUILTIN_COMPONENTS

const IWSDK_BUILTIN_COMPONENTS: ComponentManifest<readonly [Component<{ _buffer: { default: any; type: Object; }; _fadeIn: { default: number; type: Float32; }; _fadeOut: { default: number; type: Float32; }; _instances: { default: any; type: Object; }; _isPlaying: { default: false; type: Boolean; }; _loaded: { default: false; type: Boolean; }; _loading: { default: false; type: Boolean; }; _pauseRequested: { default: false; type: Boolean; }; _playRequested: { default: false; type: Boolean; }; _pool: { default: any; type: Object; }; _stopRequested: { default: false; type: Boolean; }; autoplay: { default: false; type: Boolean; }; coneInnerAngle: { default: number; type: Float32; }; coneOuterAngle: { default: number; type: Float32; }; coneOuterGain: { default: number; type: Float32; }; crossfadeDuration: { default: number; type: Float32; }; distanceModel: { default: "inverse"; enum: { Exponential: "exponential"; Inverse: "inverse"; Linear: "linear"; }; type: Enum; }; instanceStealPolicy: { default: "oldest"; enum: { Furthest: "furthest"; Oldest: "oldest"; Quietest: "quietest"; }; type: Enum; }; loop: { default: false; type: Boolean; }; maxDistance: { default: number; type: Float32; }; maxInstances: { default: number; type: Int8; }; playbackMode: { default: "restart"; enum: { FadeRestart: "fade-restart"; Ignore: "ignore"; Overlap: "overlap"; Restart: "restart"; }; type: Enum; }; positional: { default: true; type: Boolean; }; refDistance: { default: number; type: Float32; }; rolloffFactor: { default: number; type: Float32; }; src: { default: string; fileTypes: string; subfolder: string; type: FilePath; }; volume: { default: number; type: Float32; }; }>, Component<{ color: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; intensity: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; }>, Component<{ deviceId: { default: string; type: String; }; facing: { default: "unknown"; enum: { Back: "back"; Front: "front"; Unknown: "unknown"; }; type: Enum; }; frameRate: { default: number; type: Int16; }; height: { default: number; type: Int16; }; state: { default: "inactive"; enum: { Active: "active"; Error: "error"; Inactive: "inactive"; Starting: "starting"; }; type: Enum; }; stream: { default: any; type: Object; }; texture: { default: any; type: Object; }; videoElement: { default: any; type: Object; }; width: { default: number; type: Int16; }; }>, Component<{ mode: { default: string; enum: { HardOcclusion: string; MinMaxSoftOcclusion: string; SoftOcclusion: string; }; type: Enum; }; }>, Component<{ detachOnGrab: { default: false; type: Boolean; }; movementMode: { default: string; enum: { MoveAtSource: string; MoveFromTarget: string; MoveTowardsTarget: string; RotateAtSource: string; }; type: Enum; }; moveSpeedFactor: { default: number; type: Float32; }; returnToOrigin: { default: false; type: Boolean; }; rotate: { default: true; type: Boolean; }; rotateMax: { default: [number, number, number]; type: Vec3; }; rotateMin: { default: [number, number, number]; type: Vec3; }; scale: { default: true; type: Boolean; }; scaleMax: { default: [number, number, number]; type: Vec3; }; scaleMin: { default: [number, number, number]; type: Vec3; }; targetPositionOffset: { default: [number, number, number]; type: Vec3; }; targetQuaternionOffset: { default: [number, number, number, number]; type: Vec4; }; translate: { default: true; type: Boolean; }; translateMax: { default: [number, number, number]; type: Vec3; }; translateMin: { default: [number, number, number]; type: Vec3; }; }>, Component<{ castShadow: { default: false; label: "Cast shadow"; type: Boolean; }; color: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; intensity: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowBias: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraFar: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraNear: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraSize: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowMapSize: { default: "1024"; enum: { Size1024: "1024"; Size2048: "2048"; Size256: "256"; Size512: "512"; }; help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate."; label: "Shadow resolution"; type: Enum; }; shadowNormalBias: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowRadius: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; }>, Component<{ _needsUpdate: { default: true; type: Boolean; }; equator: { default: [number, number, number, number]; type: Color; }; ground: { default: [number, number, number, number]; type: Color; }; intensity: { default: number; type: Float32; }; sky: { default: [number, number, number, number]; type: Color; }; }>, Component<{ _needsUpdate: { default: true; type: Boolean; }; blurriness: { default: number; type: Float32; }; intensity: { default: number; type: Float32; }; rotation: { default: [number, number, number]; type: Vec3; }; src: { default: string; fileTypes: string; subfolder: string; type: FilePath; }; }>, Component<{ inputSource: { default: any; type: Object; }; maxDistance: { default: number; type: Float32; }; offsetPosition: { default: any; type: Object; }; offsetQuaternion: { default: any; type: Object; }; space: { default: "right"; enum: { Left: "left"; Right: "right"; Screen: "screen"; Viewer: "viewer"; }; type: Enum; }; xrHitTestResult: { default: any; type: Object; }; }>, Component<{ _followTarget: { default: [number, number, number]; type: Vec3; }; behavior: { default: string; enum: { FaceTarget: string; NoRotation: string; PivotY: string; }; type: Enum; }; maxAngle: { default: number; type: Float32; }; needsPositionSync: { default: true; type: Boolean; }; offsetPosition: { default: [number, number, number]; type: Vec3; }; speed: { default: number; type: Float32; }; target: { default: any; help: string; required: boolean; type: Object; widget: string; }; tolerance: { default: number; type: Float32; }; }>, Component<{ }>, Component<{ instance: { default: any; type: Object; }; }>, Component<{ }>, Component<{ groundColor: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; intensity: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; skyColor: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; }>, Component<{ _needsUpdate: { default: true; type: Boolean; }; equator: { default: [number, number, number, number]; type: Color; }; ground: { default: [number, number, number, number]; type: Color; }; intensity: { default: number; type: Float32; }; sky: { default: [number, number, number, number]; type: Color; }; }>, Component<{ _needsUpdate: { default: true; type: Boolean; }; intensity: { default: number; type: Float32; }; rotation: { default: [number, number, number]; type: Vec3; }; src: { default: string; fileTypes: string; subfolder: string; type: FilePath; }; }>, Component<{ }>, Component<{ id: { default: string; type: String; }; }>, Component<{ _envHandle: { default: number; type: Float32; }; _initialized: { default: false; type: Boolean; }; type: { default: "static"; enum: { }; type: Enum; }; }>, Component<{ rotate: { default: true; type: Boolean; }; rotateMax: { default: [number, number, number]; type: Vec3; }; rotateMin: { default: [number, number, number]; type: Vec3; }; translate: { default: true; type: Boolean; }; translateMax: { default: [number, number, number]; type: Vec3; }; translateMin: { default: [number, number, number]; type: Vec3; }; }>, Component<{ document: { default: any; type: Object; }; }>, Component<{ config: { default: string; type: String; }; }>, Component<{ _angularVelocity: { default: [number, number, number]; type: Vec3; }; _engineAngularDamping: { default: number; type: Float32; }; _engineBody: { default: number; type: Float64; }; _engineGravityFactor: { default: number; type: Float32; }; _engineLinearDamping: { default: number; type: Float32; }; _engineOffset: { default: number; type: Float64; }; _linearVelocity: { default: [number, number, number]; type: Vec3; }; angularDamping: { default: number; type: Float32; }; centerOfMass: { default: [number, number, number]; type: Vec3; }; gravityFactor: { default: number; type: Float32; }; linearDamping: { default: number; type: Float32; }; state: { default: "DYNAMIC"; enum: { Dynamic: "DYNAMIC"; Kinematic: "KINEMATIC"; Static: "STATIC"; }; type: Enum; }; }>, Component<{ angularVelocity: { default: [number, number, number]; type: Vec3; }; force: { default: [number, number, number]; type: Vec3; }; linearVelocity: { default: [number, number, number]; type: Vec3; }; }>, Component<{ _engineShape: { default: number; type: Float64; }; density: { default: number; type: Float32; }; dimensions: { default: [number, number, number]; type: Vec3; }; friction: { default: number; type: Float32; }; restitution: { default: number; type: Float32; }; shape: { default: "Auto"; enum: { Auto: "Auto"; Box: "Box"; Capsules: "Capsules"; ConvexHull: "ConvexHull"; Cylinder: "Cylinder"; Sphere: "Sphere"; TriMesh: "TriMesh"; }; type: Enum; }; }>, Component<{ castShadow: { default: false; label: "Cast shadow"; type: Boolean; }; color: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; decay: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; distance: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; intensity: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowBias: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraFar: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraNear: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowMapSize: { default: "1024"; enum: { Size1024: "1024"; Size2048: "2048"; Size256: "256"; Size512: "512"; }; help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate."; label: "Shadow resolution"; type: Enum; }; shadowNormalBias: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowRadius: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; }>, Component<{ }>, Component<{ }>, Component<{ }>, Component<{ color: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; height: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; intensity: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; width: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; }>, Component<{ bottom: { default: string; type: String; }; height: { default: string; type: String; }; left: { default: string; type: String; }; right: { default: string; type: String; }; top: { default: string; type: String; }; width: { default: string; type: String; }; zOffset: { default: number; type: Float32; }; }>, Component<{ angleDeg: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; castShadow: { default: false; label: "Cast shadow"; type: Boolean; }; color: { default: [number, number, number, number]; label: string; type: Color; widget: "color"; }; decay: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; distance: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; intensity: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; penumbra: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowBias: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraFar: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowCameraNear: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowMapSize: { default: "1024"; enum: { Size1024: "1024"; Size2048: "2048"; Size256: "256"; Size512: "512"; }; help: "Square shadow texture resolution. Higher values cost more GPU memory and fill rate."; label: "Shadow resolution"; type: Enum; }; shadowNormalBias: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; shadowRadius: { default: number; description?: string; help?: string; label: string; max?: number; min?: number; step?: number; type: Float32; widget?: "color" | "slider" | "vector" | "text" | "select"; }; }>, Component<{ orientation: { default: [number, number, number, number]; type: Vec4; }; parent: { default: any; type: Entity; }; position: { default: [number, number, number]; type: Vec3; }; scale: { default: [number, number, number]; type: Vec3; }; }>, Component<{ rotate: { default: true; type: Boolean; }; rotateMax: { default: [number, number, number]; type: Vec3; }; rotateMin: { default: [number, number, number]; type: Vec3; }; scale: { default: true; type: Boolean; }; scaleMax: { default: [number, number, number]; type: Vec3; }; scaleMin: { default: [number, number, number]; type: Vec3; }; translate: { default: true; type: Boolean; }; translateMax: { default: [number, number, number]; type: Vec3; }; translateMin: { default: [number, number, number]; type: Vec3; }; }>, Component<{ isVisible: { default: true; type: Boolean; }; }>, Component<{ attached: { default: false; type: Boolean; }; }>, Component<{ aspectRatio: { default: number; type: Float32; }; centralAngle: { default: number; type: Float32; }; pixelHeight: { default: number; type: Int16; }; pixelWidth: { default: number; type: Int16; }; radius: { default: number; type: Float32; }; renderCallback: { default: any; type: Object; }; stencil: { default: false; type: Boolean; }; }>, Component<{ cachedTransform: { default: any; type: Object; }; fallbackMaterial: { default: any; type: Object; }; isQuad: { default: true; type: Boolean; }; mesh: { default: any; type: Object; }; pixelHeight: { default: number; type: Int16; }; pixelWidth: { default: number; type: Int16; }; renderTarget: { default: any; type: Object; }; stencil: { default: false; type: Boolean; }; xrLayer: { default: any; type: Object; }; }>, Component<{ _mesh: { default: any; type: Object; }; dimensions: { default: [number, number, number]; type: Vec3; }; isBounded3D: { default: false; type: Boolean; }; max: { default: [number, number, number]; type: Vec3; }; min: { default: [number, number, number]; type: Vec3; }; semanticLabel: { default: string; type: String; }; }>, Component<{ _plane: { default: any; type: Object; }; }>, Component<{ height: { default: number; type: Float32; }; pixelHeight: { default: number; type: Int16; }; pixelWidth: { default: number; type: Int16; }; renderCallback: { default: any; type: Object; }; stencil: { default: false; type: Boolean; }; width: { default: number; type: Float32; }; }>]>

Defined in: packages/core/src/ecs/builtin-components.ts:55

Complete editor-visible IWSDK component catalog in deterministic order.

Privacy | Terms