@galacean/effects-plugin-ktx2 2.9.0-alpha.1 → 2.9.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.
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * KTX2 transcode target format.
3
- * if you modify this file, please also modify KTX2TargetFormat in binomial-workercode.ts
4
3
  */
5
4
  export declare enum KTX2TargetFormat {
6
5
  /** RGB(A) compressed format, 128 bits per 4x4 pixel block. */
@@ -29,6 +29,10 @@ export declare class KTX2Container {
29
29
  get isSRGB(): boolean;
30
30
  get isUASTC(): boolean;
31
31
  get isNotBasis(): boolean;
32
+ /**
33
+ * 释放内部持有的原始二进制数据引用
34
+ */
35
+ clear(): void;
32
36
  private parse;
33
37
  }
34
38
  interface KTX2Level {
@@ -1,8 +1,9 @@
1
- import type { Texture2DSourceOptionsCompressed, TextureLoader } from '@galacean/effects';
1
+ import type { Texture2DSourceOptionsCompressed, TextureLoader, Scene, SceneLoadOptions } from '@galacean/effects';
2
+ import { Plugin } from '@galacean/effects';
2
3
  /**
3
- * KTX2 加载器 - 专用于 UASTC 转 ASTC
4
+ * KTX2 加载器插件
4
5
  */
5
- export declare class KTX2Loader implements TextureLoader {
6
+ export declare class KTX2Loader extends Plugin implements TextureLoader {
6
7
  private readonly workerCount;
7
8
  private khronosTranscoder;
8
9
  private khronosInitPromise?;
@@ -12,6 +13,7 @@ export declare class KTX2Loader implements TextureLoader {
12
13
  * - 默认使用主线程
13
14
  */
14
15
  constructor(workerCount?: number);
16
+ onAssetsLoadStart(_scene: Scene, _options?: SceneLoadOptions): Promise<void>;
15
17
  /**
16
18
  * 初始化 Khronos Transcoder
17
19
  */
@@ -12,6 +12,6 @@ export declare class KhronosTranscoder extends TextureTranscoder {
12
12
  private workerURL?;
13
13
  constructor(workerLimitCount: number, type: KTX2TargetFormat);
14
14
  initTranscodeWorkerPool(): Promise<Worker[]>;
15
- transcode(ktx2Container: KTX2Container): Promise<TranscodeResult>;
15
+ transcode(ktx2Container: KTX2Container, neededLevelCount?: number): Promise<TranscodeResult>;
16
16
  destroy(): void;
17
17
  }
@@ -21,25 +21,30 @@ export interface DecoderInstance {
21
21
  export declare function TranscodeWorkerCode(): {
22
22
  ZSTDDecoder: {
23
23
  new (): {
24
+ heap: Uint8Array;
25
+ instance: DecoderInstance | null;
26
+ importObject: {
27
+ env: {
28
+ emscripten_notify_memory_growth: () => void;
29
+ };
30
+ };
24
31
  initPromise: Promise<void> | undefined;
25
32
  init(zstddecWasmModule: WebAssembly.Module): Promise<void>;
26
- initInstance(result: WebAssembly.Instance): void;
27
33
  decode(array: Uint8Array, uncompressedSize?: number): Uint8Array;
28
34
  };
35
+ };
36
+ transcodeASTC: (wasmTranscoder: WasmTranscoder, compressedData: Uint8Array, width: number, height: number) => Uint8Array | null;
37
+ initTranscoder: (transcoderWasmModule: WebAssembly.Module) => Promise<WebAssembly.Exports>;
38
+ zstdDecoder: {
29
39
  heap: Uint8Array;
30
- IMPORT_OBJECT: {
40
+ instance: DecoderInstance | null;
41
+ importObject: {
31
42
  env: {
32
43
  emscripten_notify_memory_growth: () => void;
33
44
  };
34
45
  };
35
- instance: DecoderInstance;
36
- };
37
- transcodeASTC: (wasmTranscoder: WasmTranscoder, compressedData: Uint8Array, width: number, height: number) => Uint8Array | null;
38
- initTranscoder: (transcoderWasmModule: WebAssembly.Module) => Promise<WebAssembly.Exports>;
39
- zstdDecoder: {
40
46
  initPromise: Promise<void> | undefined;
41
47
  init(zstddecWasmModule: WebAssembly.Module): Promise<void>;
42
- initInstance(result: WebAssembly.Instance): void;
43
48
  decode(array: Uint8Array, uncompressedSize?: number): Uint8Array;
44
49
  };
45
50
  transcode: (data: EncodedData[][], needZstd: boolean, transcoderWasmModule: WasmTranscoder, zstddecWasmModule?: WebAssembly.Module) => Promise<DecodedData[][]>;
@@ -17,12 +17,6 @@ export interface InitMessage extends BaseMessage {
17
17
  type: 'init';
18
18
  transcoderWasm: WebAssembly.Module;
19
19
  }
20
- export interface BinomialTranscodeMessage extends BaseMessage {
21
- type: 'transcode';
22
- format: number;
23
- buffer: Uint8Array;
24
- }
25
- export type IBinomialMessage = InitMessage | BinomialTranscodeMessage;
26
20
  export type TranscodeResult = {
27
21
  width: number;
28
22
  height: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-plugin-ktx2",
3
- "version": "2.9.0-alpha.1",
3
+ "version": "2.9.0",
4
4
  "description": "Galacean Effects player Khronos Texture 2.0 plugin",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "registry": "https://registry.npmjs.org"
29
29
  },
30
30
  "devDependencies": {
31
- "@galacean/effects": "2.9.0-alpha.1"
31
+ "@galacean/effects": "2.9.0"
32
32
  },
33
33
  "scripts": {
34
34
  "dev": "vite",