@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.
61 lines (55 loc) • 2.49 kB
text/typescript
/**
* 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";