/** * Contains Needle Engine Core Components. * * This includes * - Interactivity components * {@link DragControls}, {@link SmoothFollow}, {@link Duplicatable}, {@link SpatialTrigger} * * - Everywhere Actions * {@link SetActiveOnClick}, {@link PlayAnimationOnClick}, {@link PlayAudioOnClick}, {@link ChangeMaterialOnClick} * - Camera and user controls * {@link OrbitControls}, {@link CharacterController} * - Rendering components * {@link Light}, {@link Renderer}, {@link ParticleSystem}, {@link Volume} (post processing), {@link ReflectionProbe}, {@link GroundProjectedEnv}, {@link ShadowCatcher} * - Media components * {@link AudioSource}, {@link VideoPlayer} * - Helpers * {@link AxesHelper}, {@link GridHelper}, {@link TransformGizmo} * - Asset Management components * {@link DropListener}, {@link SceneSwitcher}, {@link GltfExport} * - XR components * {@link WebXR}, {@link USDZExporter}, {@link XRRig} * - Networking components * {@link SyncedRoom}, {@link SyncedTransform}, {@link SyncedCamera}, {@link Voip}, {@link ScreenCapture} * - Animation components * {@link Animator}, {@link Animation}, {@link PlayableDirector} * - Physics components * {@link Rigidbody}, {@link BoxCollider}, {@link SphereCollider}, {@link MeshCollider}, {@link PhysicsMaterial} * - Utilities * {@link NeedleMenu} * - and more. * * All these components are available wherever Needle Engine is used. * * @module Built-in Components */ export * from "./codegen/components.js"; export { Behaviour, Component, GameObject } from "./Component.js" // We dont want to export everything in the extensions export { ClearFlags } from "./Camera.js" export * from "./export/index.js" export * from "./postprocessing/index.js" export { type ISceneEventListener } from "./SceneSwitcher.js"; export * from "./timeline/index.js" export * from "./ui/index.js" export * from "./webxr/index.js" export * from "./webxr/XRFlag.js" import "./CameraUtils.js" import "./AnimationUtils.js" import "./AnimationUtilsAutoplay.js" export { DragMode } from "./DragControls.js" export type { DropListenerNetworkEventArguments, DropListenerOnDropArguments } from "./DropListener.js"; export * from "./particlesystem/api.js" // for correct type resolution in JSDoc import type { PhysicsMaterial } from "../engine/engine_physics.types.js"; import type { Animation } from "./Animation.js";