@tresjs/core 5.0.0-alpha.0 → 5.0.0-alpha.2
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.
- package/dist/src/devtools/DevtoolsMessenger.d.ts +53 -0
- package/dist/src/devtools/index.d.ts +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/utils/is/three.d.ts +2 -2
- package/dist/tres.js +1663 -1639
- package/package.json +30 -35
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export type DevtoolsMessageType = 'performance' | 'context' | 'asset-load';
|
|
2
|
+
export interface AssetLoadData {
|
|
3
|
+
url: string;
|
|
4
|
+
type: string;
|
|
5
|
+
loaded: boolean;
|
|
6
|
+
size: number;
|
|
7
|
+
asset: HTMLImageElement | HTMLScriptElement | HTMLLinkElement | Blob | ArrayBuffer | null;
|
|
8
|
+
}
|
|
9
|
+
export interface DevtoolsMessage<T = any> {
|
|
10
|
+
type: DevtoolsMessageType;
|
|
11
|
+
data: T;
|
|
12
|
+
timestamp?: number;
|
|
13
|
+
}
|
|
14
|
+
export type DevtoolsSubscriber = (message: DevtoolsMessage) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Messenger class for communicating with Tres DevTools
|
|
17
|
+
* This class will be attached to window.__TRES__DEVTOOLS__
|
|
18
|
+
*/
|
|
19
|
+
export declare class DevtoolsMessenger {
|
|
20
|
+
private subscribers;
|
|
21
|
+
private messageQueue;
|
|
22
|
+
private maxQueueSize;
|
|
23
|
+
/**
|
|
24
|
+
* Send a message to devtools subscribers
|
|
25
|
+
* If no subscribers are available, only queueable message types are queued
|
|
26
|
+
*/
|
|
27
|
+
send<T>(type: DevtoolsMessageType, data: T): void;
|
|
28
|
+
/**
|
|
29
|
+
* Queue a message for later delivery
|
|
30
|
+
*/
|
|
31
|
+
private queueMessage;
|
|
32
|
+
/**
|
|
33
|
+
* Flush all queued messages to current subscribers
|
|
34
|
+
*/
|
|
35
|
+
private flushQueue;
|
|
36
|
+
/**
|
|
37
|
+
* Subscribe to devtools messages
|
|
38
|
+
* When a new subscriber is added, all queued messages (asset-load events) are immediately delivered
|
|
39
|
+
*/
|
|
40
|
+
subscribe(subscriber: DevtoolsSubscriber): () => void;
|
|
41
|
+
/**
|
|
42
|
+
* Check if there are any subscribers
|
|
43
|
+
*/
|
|
44
|
+
get hasSubscribers(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Get the current queue size
|
|
47
|
+
*/
|
|
48
|
+
get queueSize(): number;
|
|
49
|
+
/**
|
|
50
|
+
* Clear all queued messages
|
|
51
|
+
*/
|
|
52
|
+
clearQueue(): void;
|
|
53
|
+
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { default as templateCompilerOptions } from './utils/template-compiler-op
|
|
|
5
5
|
export * from './components';
|
|
6
6
|
export * from './composables';
|
|
7
7
|
export * from './core/catalogue';
|
|
8
|
+
export * from './devtools';
|
|
8
9
|
export * from './directives';
|
|
9
10
|
export * from './types';
|
|
10
11
|
export * from './utils/graph';
|
|
@@ -26,7 +26,7 @@ export declare const isObject3D: (value: unknown) => value is Object3D<import('t
|
|
|
26
26
|
* // TypeScript knows value is Mesh here
|
|
27
27
|
* value.geometry // OK
|
|
28
28
|
*/
|
|
29
|
-
export declare const isMesh: (value: unknown) => value is Mesh<BufferGeometry<import('three').NormalBufferAttributes>, Material | Material[], import('three').Object3DEventMap>;
|
|
29
|
+
export declare const isMesh: (value: unknown) => value is Mesh<BufferGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap>, Material | Material[], import('three').Object3DEventMap>;
|
|
30
30
|
/**
|
|
31
31
|
* Type guard to check if a value is a Three.js Camera
|
|
32
32
|
* @param value - The value to check
|
|
@@ -88,7 +88,7 @@ export declare const isLayers: (value: unknown) => value is Layers;
|
|
|
88
88
|
* }
|
|
89
89
|
* ```
|
|
90
90
|
*/
|
|
91
|
-
export declare const isBufferGeometry: (value: unknown) => value is BufferGeometry<import('three').NormalBufferAttributes>;
|
|
91
|
+
export declare const isBufferGeometry: (value: unknown) => value is BufferGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap>;
|
|
92
92
|
/**
|
|
93
93
|
* Type guard to check if a value is a Three.js Material
|
|
94
94
|
* @param value - The value to check
|