minidraco 0.1.1 → 0.3.0

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/three.d.ts CHANGED
@@ -113,8 +113,6 @@ declare class Mesh extends PointCloud {
113
113
  elementType: number;
114
114
  }[];
115
115
  constructor();
116
- _ensureFaceCapacity(numFaces: number): void;
117
- addFace(face: ArrayLike<number>): void;
118
116
  setNumFaces(numFaces: number): void;
119
117
  numFaces(): number;
120
118
  face(faceId: number): number[];
@@ -123,6 +121,12 @@ declare class Mesh extends PointCloud {
123
121
 
124
122
  type AttributeIDs = Record<string, number | string>;
125
123
  type AttributeTypes = Record<string, string>;
124
+ interface MinidracoLoaderOptions {
125
+ manager?: LoadingManager;
126
+ workers?: boolean;
127
+ workerLimit?: number;
128
+ mainThreadByteThreshold?: number;
129
+ }
126
130
  interface TaskConfig {
127
131
  attributeIDs: AttributeIDs;
128
132
  attributeTypes: AttributeTypes;
@@ -142,10 +146,18 @@ interface WorkerEntry {
142
146
  worker: Worker;
143
147
  pending: number;
144
148
  }
145
- declare class MiniDRACOLoader extends Loader<BufferGeometry> {
149
+ interface QueuedTask {
150
+ id: number;
151
+ buffer: ArrayBuffer;
152
+ taskConfig: TaskConfig;
153
+ resolve: (raw: RawGeometry) => void;
154
+ reject: (error: unknown) => void;
155
+ }
156
+ declare class MinidracoLoader extends Loader<BufferGeometry> {
146
157
  defaultAttributeIDs: AttributeIDs;
147
158
  defaultAttributeTypes: AttributeTypes;
148
159
  workerLimit: number;
160
+ mainThreadByteThreshold: number;
149
161
  _workers: WorkerEntry[];
150
162
  _taskId: number;
151
163
  _tasks: Map<number, {
@@ -153,14 +165,17 @@ declare class MiniDRACOLoader extends Loader<BufferGeometry> {
153
165
  reject: (error: unknown) => void;
154
166
  entry: WorkerEntry;
155
167
  }>;
168
+ _batch: QueuedTask[];
169
+ _batchScheduled: boolean;
156
170
  _workersBroken: boolean;
157
171
  _workerUrl: string | URL | null;
158
172
  _workerBlobUrl: string | null;
159
- constructor(manager?: LoadingManager);
173
+ constructor(managerOrOptions?: LoadingManager | MinidracoLoaderOptions);
160
174
  setWorkerUrl(url: string | URL | null): this;
161
- setDecoderPath(_path?: string): this;
162
- setDecoderConfig(_config?: object): this;
175
+ setDecoderPath(_path?: unknown): this;
176
+ setDecoderConfig(_config?: unknown): this;
163
177
  setWorkerLimit(limit: number): this;
178
+ setWorkers(enabled: boolean): this;
164
179
  preload(): this;
165
180
  dispose(): this;
166
181
  load(url: string, onLoad: (geometry: BufferGeometry) => void, onProgress?: (event: ProgressEvent) => void, onError?: (err: unknown) => void): void;
@@ -171,10 +186,11 @@ declare class MiniDRACOLoader extends Loader<BufferGeometry> {
171
186
  _workersAvailable(): boolean;
172
187
  _getWorker(): WorkerEntry | null;
173
188
  _decodeInWorker(buffer: ArrayBuffer, taskConfig: TaskConfig): Promise<RawGeometry>;
189
+ _flushBatch(): void;
174
190
  _buildGeometryFromRaw(raw: RawGeometry, taskConfig: TaskConfig): BufferGeometry;
175
191
  _decodeBuffer(buffer: ArrayBuffer, taskConfig: TaskConfig): BufferGeometry;
176
192
  _buildGeometry(dracoGeometry: Mesh, taskConfig: TaskConfig): BufferGeometry;
177
193
  _assignVertexColorSpace(attribute: BufferAttribute, inputColorSpace: string): void;
178
194
  }
179
195
 
180
- export { type AttributeIDs, type AttributeTypes, MiniDRACOLoader as DRACOLoader, MiniDRACOLoader };
196
+ export { type AttributeIDs, type AttributeTypes, MinidracoLoader as DRACOLoader, MinidracoLoader, type MinidracoLoaderOptions };