@needle-tools/engine 2.56.2-pre → 2.57.0-pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/needle-engine.d.ts +66 -158
  3. package/dist/needle-engine.js +279 -3420
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +18 -18
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/dist/needle-engine.tsbuildinfo +1 -1
  8. package/lib/engine/api.d.ts +2 -1
  9. package/lib/engine/api.js +2 -1
  10. package/lib/engine/api.js.map +1 -1
  11. package/lib/engine/codegen/register_types.js +0 -6
  12. package/lib/engine/codegen/register_types.js.map +1 -1
  13. package/lib/engine/engine.d.ts +1 -28
  14. package/lib/engine/engine.js.map +1 -1
  15. package/lib/engine/engine_scenetools.d.ts +1 -0
  16. package/lib/engine/engine_scenetools.js +8 -6
  17. package/lib/engine/engine_scenetools.js.map +1 -1
  18. package/lib/engine/engine_setup.d.ts +4 -2
  19. package/lib/engine/engine_setup.js +25 -14
  20. package/lib/engine/engine_setup.js.map +1 -1
  21. package/lib/engine/engine_three_utils.js.map +1 -1
  22. package/lib/engine/engine_utils_screenshot.d.ts +5 -0
  23. package/lib/engine/engine_utils_screenshot.js +32 -0
  24. package/lib/engine/engine_utils_screenshot.js.map +1 -0
  25. package/lib/engine-components/Skybox.js +3 -1
  26. package/lib/engine-components/Skybox.js.map +1 -1
  27. package/lib/engine-components/WebXR.js +2 -2
  28. package/lib/engine-components/WebXR.js.map +1 -1
  29. package/lib/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +1 -2
  31. package/src/engine/api.ts +3 -2
  32. package/src/engine/codegen/register_types.js +2 -8
  33. package/src/engine/engine.ts +1 -1
  34. package/src/engine/engine_scenetools.ts +9 -6
  35. package/src/engine/engine_setup.ts +27 -16
  36. package/src/engine/engine_three_utils.ts +4 -4
  37. package/src/engine/engine_utils_screenshot.ts +41 -0
  38. package/src/engine-components/Skybox.ts +3 -1
  39. package/src/engine-components/TestRunner.ts +1 -1
  40. package/src/engine-components/WebXR.ts +2 -2
  41. package/lib/engine-components-experimental/annotation/LineDrawer.d.ts +0 -18
  42. package/lib/engine-components-experimental/annotation/LineDrawer.js +0 -175
  43. package/lib/engine-components-experimental/annotation/LineDrawer.js.map +0 -1
  44. package/lib/engine-components-experimental/annotation/LinesManager.d.ts +0 -54
  45. package/lib/engine-components-experimental/annotation/LinesManager.js +0 -155
  46. package/lib/engine-components-experimental/annotation/LinesManager.js.map +0 -1
  47. package/src/engine-components-experimental/annotation/LineDrawer.ts +0 -194
  48. package/src/engine-components-experimental/annotation/LinesManager.ts +0 -218
package/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this package will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.57.0-pre] - 2023-01-07
8
+ - Remove: Meshline dependency
9
+ - Fix: Testrunner Rigidbody import error
10
+
7
11
  ## [2.56.2-pre] - 2023-01-06
8
12
  - Change: Component.addEventListener argument can now derive from Event
9
13
 
@@ -1935,6 +1935,7 @@ declare module "engine-components/CameraUtils" {
1935
1935
  export function createCameraWithOrbitControl(scene: Scene, source: SourceIdentifier): ICamera;
1936
1936
  }
1937
1937
  declare module "engine/engine_setup" {
1938
+ import { Camera } from 'three';
1938
1939
  import * as THREE from 'three';
1939
1940
  import { Input } from "engine/engine_input";
1940
1941
  import { Physics } from "engine/engine_physics";
@@ -2066,8 +2067,8 @@ declare module "engine/engine_setup" {
2066
2067
  private _stats;
2067
2068
  constructor(args: ContextArgs | undefined);
2068
2069
  private _disposeCallbacks;
2069
- private updateSize;
2070
- updateAspect(camera: THREE.PerspectiveCamera): void;
2070
+ updateSize(): void;
2071
+ updateAspect(camera: THREE.PerspectiveCamera, width?: number, height?: number): void;
2071
2072
  onCreate(buildScene?: (context: Context, loadingOptions?: LoadingOptions) => Promise<void>, opts?: LoadingOptions): Promise<void> | null;
2072
2073
  onDestroy(): void;
2073
2074
  registerCoroutineUpdate(script: IComponent, coroutine: Generator, evt: FrameEvent): Generator;
@@ -2093,6 +2094,7 @@ declare module "engine/engine_setup" {
2093
2094
  get isVisibleToUser(): boolean;
2094
2095
  private internalOnCreate;
2095
2096
  private render;
2097
+ renderNow(camera?: Camera): boolean;
2096
2098
  /** returns true if we should return out of the frame loop */
2097
2099
  private _wasPaused;
2098
2100
  private onHandlePaused;
@@ -2143,59 +2145,6 @@ declare module "engine/engine_util_decorator" {
2143
2145
  */
2144
2146
  export const prefix: <T>(type: Constructor<T>) => (target: IComponent | any, propertyKey: string, _PropertyDescriptor: PropertyDescriptor) => void;
2145
2147
  }
2146
- declare module "engine/api" {
2147
- export { TypeStore } from "engine/engine_typestore";
2148
- export { InstancingUtil } from "engine/engine_instancing";
2149
- export * from "engine/engine_gameobject";
2150
- export * from "engine/engine_components";
2151
- export { AssetReference } from "engine/engine_addressables";
2152
- export { FrameEvent } from "engine/engine_setup";
2153
- export * from "engine/debug/debug";
2154
- export { validate } from "engine/engine_util_decorator";
2155
- export { Gizmos } from "engine/engine_gizmos";
2156
- }
2157
- declare module "engine/engine_element_loading" {
2158
- import { LoadingProgressArgs } from "engine/engine_setup";
2159
- export class LoadingElementOptions {
2160
- className?: string;
2161
- additionalClasses?: string[];
2162
- }
2163
- export interface ILoadingViewHandler {
2164
- onLoadingBegin(message?: string): any;
2165
- onLoadingUpdate(progress: LoadingProgressArgs, message?: string): any;
2166
- onLoadingFinished(message?: string): any;
2167
- }
2168
- export function calculateProgress01(progress: LoadingProgressArgs): number;
2169
- export class EngineLoadingView implements ILoadingViewHandler {
2170
- static LoadingContainerClassName: string;
2171
- loadingProgress: number;
2172
- private container;
2173
- private _progress;
2174
- private _allowCustomLoadingElement;
2175
- private _loadingElement?;
2176
- private _loadingTextContainer;
2177
- private _loadingBar;
2178
- private _messageContainer;
2179
- private _loadingElementOptions?;
2180
- constructor(container: HTMLElement, opts?: LoadingElementOptions);
2181
- onLoadingBegin(message?: string): void;
2182
- onLoadingUpdate(progress: LoadingProgressArgs | ProgressEvent | number, message?: string): void;
2183
- onLoadingFinished(message?: string): void;
2184
- setMessage(message: string): void;
2185
- private _progressLoop;
2186
- private smoothProgressLoop;
2187
- private updateDisplay;
2188
- private createLoadingElement;
2189
- }
2190
- }
2191
- declare module "engine/engine_loaders" {
2192
- import { Context } from "engine/engine_setup";
2193
- import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
2194
- export function setDracoDecoderPath(path: string | undefined): void;
2195
- export function setDracoDecoderType(type: string | undefined): void;
2196
- export function setKtx2TranscoderPath(path: string): void;
2197
- export function addDracoAndKTX2Loaders(loader: GLTFLoader, context: Context): void;
2198
- }
2199
2148
  declare module "engine/extensions/NEEDLE_animator_controller_model" {
2200
2149
  import { Animator } from "engine-components/Animator";
2201
2150
  import { AnimationAction, AnimationClip, Object3D } from "three";
@@ -2454,6 +2403,14 @@ declare module "engine-components/Animation" {
2454
2403
  init(): void;
2455
2404
  }
2456
2405
  }
2406
+ declare module "engine/engine_loaders" {
2407
+ import { Context } from "engine/engine_setup";
2408
+ import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
2409
+ export function setDracoDecoderPath(path: string | undefined): void;
2410
+ export function setDracoDecoderType(type: string | undefined): void;
2411
+ export function setKtx2TranscoderPath(path: string): void;
2412
+ export function addDracoAndKTX2Loaders(loader: GLTFLoader, context: Context): void;
2413
+ }
2457
2414
  declare module "engine/extensions/NEEDLE_techniques_webgl" {
2458
2415
  import { GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader";
2459
2416
  import * as THREE from 'three';
@@ -2715,6 +2672,7 @@ declare module "engine/engine_scenetools" {
2715
2672
  export type GltfLoadEventCallback = (event: GltfLoadEvent) => void;
2716
2673
  export function addGltfLoadEventListener(type: GltfLoadEventType, listener: GltfLoadEventCallback): void;
2717
2674
  export function removeGltfLoadEventListener(type: GltfLoadEventType, listener: GltfLoadEventCallback): void;
2675
+ export function createGLTFLoader(url: string, context: Context): GLTFLoader;
2718
2676
  export function parseSync(context: Context, data: any, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined>;
2719
2677
  export function loadSync(context: Context, url: string, seed: number | UIDProvider | null, _allowAddingAnimator?: boolean, prog?: (ProgressEvent: any) => void): Promise<GLTF | undefined>;
2720
2678
  export function findAnimationsLate(_context: Context, gltf: any, callbackarray: any, allowAddingAnimator?: boolean): void;
@@ -2723,6 +2681,52 @@ declare module "engine/engine_scenetools" {
2723
2681
  export function tryFindObject(globalObjectIdentifier: any, obj: any, recursive?: boolean): any;
2724
2682
  export function tryFindScript(globalObjectIdentifier: any, list?: null): import("engine/engine_types").IComponent | null;
2725
2683
  }
2684
+ declare module "engine/api" {
2685
+ export { TypeStore } from "engine/engine_typestore";
2686
+ export { InstancingUtil } from "engine/engine_instancing";
2687
+ export * from "engine/engine_gameobject";
2688
+ export * from "engine/engine_components";
2689
+ export { AssetReference } from "engine/engine_addressables";
2690
+ export { Context, FrameEvent } from "engine/engine_setup";
2691
+ export * from "engine/debug/debug";
2692
+ export { validate } from "engine/engine_util_decorator";
2693
+ export { Gizmos } from "engine/engine_gizmos";
2694
+ export * from "engine/engine_scenetools";
2695
+ }
2696
+ declare module "engine/engine_element_loading" {
2697
+ import { LoadingProgressArgs } from "engine/engine_setup";
2698
+ export class LoadingElementOptions {
2699
+ className?: string;
2700
+ additionalClasses?: string[];
2701
+ }
2702
+ export interface ILoadingViewHandler {
2703
+ onLoadingBegin(message?: string): any;
2704
+ onLoadingUpdate(progress: LoadingProgressArgs, message?: string): any;
2705
+ onLoadingFinished(message?: string): any;
2706
+ }
2707
+ export function calculateProgress01(progress: LoadingProgressArgs): number;
2708
+ export class EngineLoadingView implements ILoadingViewHandler {
2709
+ static LoadingContainerClassName: string;
2710
+ loadingProgress: number;
2711
+ private container;
2712
+ private _progress;
2713
+ private _allowCustomLoadingElement;
2714
+ private _loadingElement?;
2715
+ private _loadingTextContainer;
2716
+ private _loadingBar;
2717
+ private _messageContainer;
2718
+ private _loadingElementOptions?;
2719
+ constructor(container: HTMLElement, opts?: LoadingElementOptions);
2720
+ onLoadingBegin(message?: string): void;
2721
+ onLoadingUpdate(progress: LoadingProgressArgs | ProgressEvent | number, message?: string): void;
2722
+ onLoadingFinished(message?: string): void;
2723
+ setMessage(message: string): void;
2724
+ private _progressLoop;
2725
+ private smoothProgressLoop;
2726
+ private updateDisplay;
2727
+ private createLoadingElement;
2728
+ }
2729
+ }
2726
2730
  declare module "engine/engine_element" {
2727
2731
  import { Context } from "engine/engine_setup";
2728
2732
  import { INeedleEngineComponent } from "engine/engine_types";
@@ -6535,40 +6539,19 @@ declare module "needle-engine" {
6535
6539
  export * from "engine-components/js-extensions/Object3D";
6536
6540
  }
6537
6541
  declare module "engine/engine" {
6538
- import * as engine_setup from "engine/engine_setup";
6539
- import * as engine_scenetools from "engine/engine_scenetools";
6540
6542
  import "engine/tests/test_utils";
6541
- import { RGBAColor } from "engine-components/js-extensions/RGBAColor";
6542
- const engine: {
6543
- RGBAColor: typeof RGBAColor;
6544
- addGltfLoadEventListener(type: engine_scenetools.GltfLoadEventType, listener: engine_scenetools.GltfLoadEventCallback): void;
6545
- removeGltfLoadEventListener(type: engine_scenetools.GltfLoadEventType, listener: engine_scenetools.GltfLoadEventCallback): void;
6546
- parseSync(context: engine_setup.Context, data: any, path: string, seed: number | import("engine/engine_types").UIDProvider | null): Promise<import("three/examples/jsm/loaders/GLTFLoader").GLTF | undefined>;
6547
- loadSync(context: engine_setup.Context, url: string, seed: number | import("engine/engine_types").UIDProvider | null, _allowAddingAnimator?: boolean, prog?: ((ProgressEvent: any) => void) | undefined): Promise<import("three/examples/jsm/loaders/GLTFLoader").GLTF | undefined>;
6548
- findAnimationsLate(_context: engine_setup.Context, gltf: any, callbackarray: any, allowAddingAnimator?: boolean): void;
6549
- findAnimations(gltf: import("three/examples/jsm/loaders/GLTFLoader").GLTF, allowAddingAnimator?: boolean): void;
6550
- tryFindObjectByName(name: any, obj: any, recursive?: boolean): any;
6551
- tryFindObject(globalObjectIdentifier: any, obj: any, recursive?: boolean): any;
6552
- tryFindScript(globalObjectIdentifier: any, list?: null): import("engine/engine_types").IComponent | null;
6553
- NeedleGltfLoader: typeof engine_scenetools.NeedleGltfLoader;
6554
- GltfLoadEventType: typeof engine_scenetools.GltfLoadEventType;
6555
- GltfLoadEvent: typeof engine_scenetools.GltfLoadEvent;
6556
- registerComponent(script: import("engine/engine_types").IComponent, context?: engine_setup.Context | undefined): void;
6557
- build_scene_functions: {
6558
- [name: string]: (context: engine_setup.Context) => Promise<void>;
6559
- };
6560
- LoadingProgressArgs: typeof engine_setup.LoadingProgressArgs;
6561
- LoadingOptions: typeof engine_setup.LoadingOptions;
6562
- ContextArgs: typeof engine_setup.ContextArgs;
6563
- FrameEvent: typeof engine_setup.FrameEvent;
6564
- XRSessionMode: typeof engine_setup.XRSessionMode;
6565
- Context: typeof engine_setup.Context;
6566
- };
6543
+ const engine: any;
6567
6544
  export { engine as engine };
6568
6545
  }
6569
6546
  declare module "engine/engine_networking_websocket" {
6570
6547
  export {};
6571
6548
  }
6549
+ declare module "engine/engine_utils_screenshot" {
6550
+ import { Context } from "engine/engine_setup";
6551
+ import { Camera } from "three";
6552
+ type ImageMimeType = "image/webp" | "image/png";
6553
+ export function screenshot(context: Context, width: number, height: number, mimeType?: ImageMimeType, camera?: Camera | null): string | null;
6554
+ }
6572
6555
  declare module "engine-components/BoxCollider" {
6573
6556
  import { BoxCollider } from "engine-components/Collider";
6574
6557
  export default BoxCollider;
@@ -6589,81 +6572,6 @@ declare module "engine-components-experimental/Presentation" {
6589
6572
  update(): void;
6590
6573
  }
6591
6574
  }
6592
- declare module "engine-components-experimental/annotation/LinesManager" {
6593
- import { Behaviour } from "engine-components/Component";
6594
- import * as THREE from 'three';
6595
- import { Color, Material } from "three";
6596
- import { MeshLine, MeshLineMaterial } from 'three.meshline';
6597
- export type LineOptions = {
6598
- material?: Material;
6599
- options?: LineMaterialOptions;
6600
- };
6601
- export type LineMaterialOptions = {
6602
- map?: THREE.Texture;
6603
- useMap?: number;
6604
- alphaMap?: THREE.Texture;
6605
- color?: Color;
6606
- opacity?: number;
6607
- lineWidth?: number;
6608
- };
6609
- export class LineInstanceHandler {
6610
- id: number;
6611
- points: Array<any>;
6612
- line: MeshLine;
6613
- material?: MeshLineMaterial;
6614
- mesh?: THREE.Mesh;
6615
- constructor(owner: THREE.Object3D, options?: LineOptions);
6616
- private static wp;
6617
- appendPoint(vec: Vec3): Vec3;
6618
- private defaultLineMaterial;
6619
- }
6620
- type Vec3 = {
6621
- x: number;
6622
- y: number;
6623
- z: number;
6624
- };
6625
- export type LineHandle = {
6626
- id: number;
6627
- };
6628
- type UpdateLineArgs = {
6629
- point: Vec3;
6630
- };
6631
- export class LinesManager extends Behaviour {
6632
- startLine(parent?: THREE.Object3D, options?: LineOptions): LineHandle;
6633
- updateLine(handle: LineHandle, args: UpdateLineArgs): void;
6634
- endLine(handle: LineHandle, send?: boolean): LineInstanceHandler | undefined;
6635
- getLine(handle: LineHandle): LineInstanceHandler | undefined;
6636
- private finished;
6637
- private inFlight;
6638
- private buffer;
6639
- private freeBuffer;
6640
- awake(): void;
6641
- private onEnsureLine;
6642
- private internalStartLine;
6643
- private sendLineStart;
6644
- private sendLineUpdate;
6645
- }
6646
- }
6647
- declare module "engine-components-experimental/annotation/LineDrawer" {
6648
- import { Behaviour } from "engine-components/Component";
6649
- import * as THREE from 'three';
6650
- import { LinesManager } from "engine-components-experimental/annotation/LinesManager";
6651
- export class LinesDrawer extends Behaviour {
6652
- lines: LinesManager;
6653
- colliders?: THREE.Object3D[];
6654
- alignToSurface: boolean;
6655
- addToPaintedObject: boolean;
6656
- private orbit?;
6657
- start(): void;
6658
- private _states;
6659
- update(): void;
6660
- private updateLine;
6661
- private _raycastOptions;
6662
- private static _raycaster;
6663
- private getHit;
6664
- private createRandomMaterial;
6665
- }
6666
- }
6667
6575
  declare module "engine-components-experimental/networking/PlayerSync" {
6668
6576
  import { Behaviour, Component } from "engine-components/Component";
6669
6577
  import { AssetReference } from "engine/engine_addressables";