From 8e290a46b0354d1e385d304d4a66d099b788de27 Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Mon, 2 Mar 2026 00:11:59 +0800 Subject: [PATCH 1/8] feat: refactor Core and Monitor to utilize Engine for improved performance tracking --- packages/stats/src/Core.ts | 19 ++++++++++++++++++- packages/stats/src/Monitor.ts | 13 ++++++++++--- packages/stats/src/Stats.ts | 8 +------- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/packages/stats/src/Core.ts b/packages/stats/src/Core.ts index 709b2c6f..d6f0c795 100644 --- a/packages/stats/src/Core.ts +++ b/packages/stats/src/Core.ts @@ -1,3 +1,4 @@ +import { Engine } from "@galacean/engine"; import DrawCallHook from "./hooks/DrawCallHook"; import { RequestHook } from "./hooks/RequestHook"; import ShaderHook from "./hooks/ShaderHook"; @@ -14,6 +15,7 @@ declare global { */ export class Core { private readonly gl: WebGLRenderingContext | WebGL2RenderingContext; + private readonly engine: Engine; private drawCallHook: DrawCallHook; private textureHook: TextureHook; private shaderHook: ShaderHook; @@ -23,8 +25,11 @@ export class Core { private updateCounter: number = 0; private updateTime: number = 0; - constructor(gl: WebGLRenderingContext | WebGL2RenderingContext) { + constructor(engine: Engine) { + // @ts-ignore + const gl = engine._hardwareRenderer.gl; this.gl = gl; + this.engine = engine; this.hook(gl); } @@ -69,6 +74,7 @@ export class Core { this.samplingIndex = 0; + const renderingStatistics = this.engine.renderingStatistics; let data: PerformanceData = { fps: Math.round((this.updateCounter * 1000) / (now - this.updateTime)), memory: performance.memory && (performance.memory.usedJSHeapSize / 1048576) >> 0, @@ -79,6 +85,9 @@ export class Core { textures: this.textureHook.textures, size: this.requestHook.size, shaders: this.shaderHook.shaders, + textureMemory: formatBytes(renderingStatistics.textureMemory), + bufferMemory: formatBytes(renderingStatistics.bufferMemory), + totalGPUMemory: formatBytes(renderingStatistics.totalMemory), webglContext: window.hasOwnProperty("WebGL2RenderingContext") && this.gl instanceof WebGL2RenderingContext ? "2.0" : "1.0" }; @@ -101,6 +110,14 @@ interface PerformanceData { points: number; textures: number; shaders: number; + textureMemory: string; + bufferMemory: string; + totalGPUMemory: string; size: string; webglContext: string; } + +function formatBytes(bytes: number): string { + const mb = bytes / 1048576; + return mb.toFixed(2); +} diff --git a/packages/stats/src/Monitor.ts b/packages/stats/src/Monitor.ts index d4ccdc9a..e81d15d5 100644 --- a/packages/stats/src/Monitor.ts +++ b/packages/stats/src/Monitor.ts @@ -1,3 +1,4 @@ +import { Engine } from "@galacean/engine"; import { Core } from "./Core"; let tpl = ` @@ -14,6 +15,12 @@ let tpl = `
0
Shaders
0
+
Texture Memory (MB)
+
0
+
Buffer Memory (MB)
+
0
+
GPU Memory (MB)
+
0
Network Size (MB)
0
WebGL
@@ -61,10 +68,10 @@ export default class Monitor { private container: HTMLElement; private readonly items: string[]; - constructor(gl: WebGLRenderingContext | WebGL2RenderingContext) { - this.core = new Core(gl); + constructor(engine: Engine) { + this.core = new Core(engine); this.items = []; - this.items = ["fps", "memory", "drawCall", "triangles", "textures", "shaders", "size", "webglContext"]; + this.items = ["fps", "memory", "drawCall", "triangles", "textures", "shaders", "textureMemory", "bufferMemory", "totalGPUMemory", "size", "webglContext"]; this.createContainer(); this.update = this.update.bind(this); } diff --git a/packages/stats/src/Stats.ts b/packages/stats/src/Stats.ts index 1413d30c..87f083c6 100644 --- a/packages/stats/src/Stats.ts +++ b/packages/stats/src/Stats.ts @@ -7,7 +7,6 @@ import Monitor from "./Monitor"; */ export class Stats extends Script { private monitor: Monitor; - private camera: Camera; static hookRequest() { hookRequest(); @@ -18,7 +17,6 @@ export class Stats extends Script { } override onBeginRender(camera: Camera): void { - this.camera = camera; if (!this.monitor) { this._setupMonitor(); } @@ -31,10 +29,6 @@ export class Stats extends Script { } private _setupMonitor() { - // @ts-ignore - const gl = this.camera.engine._hardwareRenderer.gl; - if (gl) { - this.monitor = new Monitor(gl); - } + this.monitor = new Monitor(this.engine); } } From b7922553ba3e9bf8fd6f2f5ae373cc7c4c4a6047 Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Mon, 2 Mar 2026 00:29:41 +0800 Subject: [PATCH 2/8] feat: update README and package.json to include GPU memory statistics and update engine dependency version --- packages/stats/README.md | 3 +++ packages/stats/package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/stats/README.md b/packages/stats/README.md index 08d2ad84..3ec41f5a 100644 --- a/packages/stats/README.md +++ b/packages/stats/README.md @@ -11,6 +11,9 @@ Statistics toolkit to gather performance data - points: point count; - textures: texture count; - shaders: shader count; +- textureMemory: GPU memory used by textures (MB); +- bufferMemory: GPU memory used by buffers (MB); +- totalGPUMemory: total GPU memory used (MB); - webglContext: webgl context type; ## npm diff --git a/packages/stats/package.json b/packages/stats/package.json index 01670581..96e3ad49 100755 --- a/packages/stats/package.json +++ b/packages/stats/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } From b4fea4aab936cdd1546800d1554784372a2fe22e Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Mon, 2 Mar 2026 01:00:56 +0800 Subject: [PATCH 3/8] feat: update stats README and Monitor to clarify memory statistics and improve GPU memory tracking --- packages/stats/README.md | 10 +-- packages/stats/src/Core.ts | 13 ++-- packages/stats/src/Monitor.ts | 19 +++--- packages/stats/src/Stats.ts | 5 -- packages/stats/src/hooks/RequestHook.ts | 86 ------------------------- 5 files changed, 20 insertions(+), 113 deletions(-) delete mode 100644 packages/stats/src/hooks/RequestHook.ts diff --git a/packages/stats/README.md b/packages/stats/README.md index 3ec41f5a..ca6ede06 100644 --- a/packages/stats/README.md +++ b/packages/stats/README.md @@ -3,17 +3,17 @@ Statistics toolkit to gather performance data ## Features -- fps: frame rate; -- memory: CPU memory; +- fps: frame rate; +- memory: JS memory (MB); +- totalGraphicsMemory: total graphics memory (MB); +- textureMemory: texture memory (MB); +- bufferMemory: buffer memory (MB); - drawCall: draw call count; - triangles: triangle count; - lines: line count; - points: point count; - textures: texture count; - shaders: shader count; -- textureMemory: GPU memory used by textures (MB); -- bufferMemory: GPU memory used by buffers (MB); -- totalGPUMemory: total GPU memory used (MB); - webglContext: webgl context type; ## npm diff --git a/packages/stats/src/Core.ts b/packages/stats/src/Core.ts index d6f0c795..2c34ca61 100644 --- a/packages/stats/src/Core.ts +++ b/packages/stats/src/Core.ts @@ -1,6 +1,6 @@ import { Engine } from "@galacean/engine"; import DrawCallHook from "./hooks/DrawCallHook"; -import { RequestHook } from "./hooks/RequestHook"; + import ShaderHook from "./hooks/ShaderHook"; import TextureHook from "./hooks/TextureHook"; @@ -19,7 +19,7 @@ export class Core { private drawCallHook: DrawCallHook; private textureHook: TextureHook; private shaderHook: ShaderHook; - private requestHook: RequestHook; + private samplingFrames: number = 60; private samplingIndex: number = 0; private updateCounter: number = 0; @@ -37,7 +37,7 @@ export class Core { this.drawCallHook = new DrawCallHook(gl); this.textureHook = new TextureHook(gl); this.shaderHook = new ShaderHook(gl); - this.requestHook = new RequestHook(); + } /** @@ -83,11 +83,11 @@ export class Core { lines: this.drawCallHook.lines, points: this.drawCallHook.points, textures: this.textureHook.textures, - size: this.requestHook.size, + shaders: this.shaderHook.shaders, textureMemory: formatBytes(renderingStatistics.textureMemory), bufferMemory: formatBytes(renderingStatistics.bufferMemory), - totalGPUMemory: formatBytes(renderingStatistics.totalMemory), + totalGraphicsMemory: formatBytes(renderingStatistics.totalMemory), webglContext: window.hasOwnProperty("WebGL2RenderingContext") && this.gl instanceof WebGL2RenderingContext ? "2.0" : "1.0" }; @@ -112,8 +112,7 @@ interface PerformanceData { shaders: number; textureMemory: string; bufferMemory: string; - totalGPUMemory: string; - size: string; + totalGraphicsMemory: string; webglContext: string; } diff --git a/packages/stats/src/Monitor.ts b/packages/stats/src/Monitor.ts index e81d15d5..68de50f6 100644 --- a/packages/stats/src/Monitor.ts +++ b/packages/stats/src/Monitor.ts @@ -5,7 +5,13 @@ let tpl = `
FPS
0
-
Memory (MB)
+
JS Memory (MB)
+
0
+
Total Graphics Memory (MB)
+
0
+
Texture Memory (MB)
+
0
+
Buffer Memory (MB)
0
DrawCall
0
@@ -15,14 +21,6 @@ let tpl = `
0
Shaders
0
-
Texture Memory (MB)
-
0
-
Buffer Memory (MB)
-
0
-
GPU Memory (MB)
-
0
-
Network Size (MB)
-
0
WebGL
@@ -60,6 +58,7 @@ let css = ` font-size: ${20 / 7.5}vh; padding: ${10 / 7.5}vh 0 ${10 / 7.5}vh; } + `; export default class Monitor { @@ -71,7 +70,7 @@ export default class Monitor { constructor(engine: Engine) { this.core = new Core(engine); this.items = []; - this.items = ["fps", "memory", "drawCall", "triangles", "textures", "shaders", "textureMemory", "bufferMemory", "totalGPUMemory", "size", "webglContext"]; + this.items = ["fps", "memory", "totalGraphicsMemory", "textureMemory", "bufferMemory", "drawCall", "triangles", "textures", "shaders", "webglContext"]; this.createContainer(); this.update = this.update.bind(this); } diff --git a/packages/stats/src/Stats.ts b/packages/stats/src/Stats.ts index 87f083c6..1b7825af 100644 --- a/packages/stats/src/Stats.ts +++ b/packages/stats/src/Stats.ts @@ -1,5 +1,4 @@ import { Script, Camera } from "@galacean/engine"; -import { hookRequest } from "./hooks/RequestHook"; import Monitor from "./Monitor"; /** @@ -8,10 +7,6 @@ import Monitor from "./Monitor"; export class Stats extends Script { private monitor: Monitor; - static hookRequest() { - hookRequest(); - } - override set enabled(value: boolean) { value ? this._setupMonitor() : this.monitor.destroy(); } diff --git a/packages/stats/src/hooks/RequestHook.ts b/packages/stats/src/hooks/RequestHook.ts deleted file mode 100644 index 2376650e..00000000 --- a/packages/stats/src/hooks/RequestHook.ts +++ /dev/null @@ -1,86 +0,0 @@ -let requestSize = 0; - -export function hookRequest() { - let originalSend = XMLHttpRequest.prototype.send; - - const cacheMap = new Map(); - function addRequestSize(url: string, size: number) { - if (cacheMap.get(url) == undefined) { - cacheMap.set(url, size); - requestSize += size; - } - } - - XMLHttpRequest.prototype.send = function (body) { - this.addEventListener( - "load", - function () { - let size = 0; - if (this.responseType === "" || this.responseType === "text") { - size = new Blob([JSON.stringify(this.responseText)]).size; - } else if (this.response instanceof Blob) { - size = this.response.size; - } else if (this.response instanceof ArrayBuffer) { - size = this.response.byteLength; - } else if (this.responseType === "json") { - size = new Blob([JSON.stringify(this.response)]).size; - } - - addRequestSize((this as XMLHttpRequest).responseURL, size); - }, - false - ); - - originalSend.call(this, body); - - var originalImageSrc = Object.getOwnPropertyDescriptor(Image.prototype, "src").set; - - this.originalImageSrc = originalImageSrc; - - Object.defineProperty(Image.prototype, "src", { - set: function (value) { - fetch(value).then((response) => { - if (response.ok) { - response.blob().then((blob) => { - addRequestSize((this as XMLHttpRequest).responseURL, blob.size); - }); - } - }); - originalImageSrc.call(this, value); - } - }); - }; -} - -export class RequestHook { - private _originalSend; - private _hooked = false; - - get size() { - return formatNumber(requestSize / 1024 / 1024); - } - - constructor() { - this._hooked = true; - } - - public reset(): void { - requestSize = 0; - } - - public release(): void { - if (this._hooked) { - XMLHttpRequest.prototype.send = this._originalSend; - Object.defineProperty(Image.prototype, "src", { - set: function (value) { - this.src.call(this, value); - } - }); - } - this._hooked = false; - } -} - -function formatNumber(num: number): string { - return Number(num).toFixed(Math.max(6 - num.toString().split(".")[0].length, 0)); -} From 275bb2d036e64a8868a5c0ff1a597aa8340caa39 Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Mon, 2 Mar 2026 01:09:26 +0800 Subject: [PATCH 4/8] feat: remove unused texture and shader hooks from Core and related files --- packages/stats/README.md | 2 - packages/stats/src/Core.ts | 14 ------- packages/stats/src/Monitor.ts | 8 +--- packages/stats/src/hooks/ShaderHook.ts | 54 ------------------------ packages/stats/src/hooks/TextureHook.ts | 56 ------------------------- 5 files changed, 2 insertions(+), 132 deletions(-) delete mode 100644 packages/stats/src/hooks/ShaderHook.ts delete mode 100644 packages/stats/src/hooks/TextureHook.ts diff --git a/packages/stats/README.md b/packages/stats/README.md index ca6ede06..6dd34cb4 100644 --- a/packages/stats/README.md +++ b/packages/stats/README.md @@ -12,8 +12,6 @@ Statistics toolkit to gather performance data - triangles: triangle count; - lines: line count; - points: point count; -- textures: texture count; -- shaders: shader count; - webglContext: webgl context type; ## npm diff --git a/packages/stats/src/Core.ts b/packages/stats/src/Core.ts index 2c34ca61..35283060 100644 --- a/packages/stats/src/Core.ts +++ b/packages/stats/src/Core.ts @@ -1,8 +1,6 @@ import { Engine } from "@galacean/engine"; import DrawCallHook from "./hooks/DrawCallHook"; -import ShaderHook from "./hooks/ShaderHook"; -import TextureHook from "./hooks/TextureHook"; declare global { interface Performance { @@ -17,8 +15,6 @@ export class Core { private readonly gl: WebGLRenderingContext | WebGL2RenderingContext; private readonly engine: Engine; private drawCallHook: DrawCallHook; - private textureHook: TextureHook; - private shaderHook: ShaderHook; private samplingFrames: number = 60; private samplingIndex: number = 0; @@ -35,9 +31,6 @@ export class Core { private hook(gl: WebGLRenderingContext | WebGL2RenderingContext): void { this.drawCallHook = new DrawCallHook(gl); - this.textureHook = new TextureHook(gl); - this.shaderHook = new ShaderHook(gl); - } /** @@ -52,8 +45,6 @@ export class Core { */ public release(): void { this.drawCallHook && this.drawCallHook.release(); - this.textureHook && this.textureHook.release(); - this.shaderHook && this.shaderHook.release(); } /** @@ -82,9 +73,6 @@ export class Core { triangles: this.drawCallHook.triangles, lines: this.drawCallHook.lines, points: this.drawCallHook.points, - textures: this.textureHook.textures, - - shaders: this.shaderHook.shaders, textureMemory: formatBytes(renderingStatistics.textureMemory), bufferMemory: formatBytes(renderingStatistics.bufferMemory), totalGraphicsMemory: formatBytes(renderingStatistics.totalMemory), @@ -108,8 +96,6 @@ interface PerformanceData { triangles: number; lines: number; points: number; - textures: number; - shaders: number; textureMemory: string; bufferMemory: string; totalGraphicsMemory: string; diff --git a/packages/stats/src/Monitor.ts b/packages/stats/src/Monitor.ts index 68de50f6..13ed1225 100644 --- a/packages/stats/src/Monitor.ts +++ b/packages/stats/src/Monitor.ts @@ -17,11 +17,7 @@ let tpl = `
0
Triangles
0
-
Textures
-
0
-
Shaders
-
0
-
WebGL
+
WebGL
`; @@ -70,7 +66,7 @@ export default class Monitor { constructor(engine: Engine) { this.core = new Core(engine); this.items = []; - this.items = ["fps", "memory", "totalGraphicsMemory", "textureMemory", "bufferMemory", "drawCall", "triangles", "textures", "shaders", "webglContext"]; + this.items = ["fps", "memory", "totalGraphicsMemory", "textureMemory", "bufferMemory", "drawCall", "triangles", "webglContext"]; this.createContainer(); this.update = this.update.bind(this); } diff --git a/packages/stats/src/hooks/ShaderHook.ts b/packages/stats/src/hooks/ShaderHook.ts deleted file mode 100644 index 86b28464..00000000 --- a/packages/stats/src/hooks/ShaderHook.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { log } from "../log"; - -/** - * @class ShaderHook - */ -export default class ShaderHook { - public shaders: number = 0; - private readonly realAttachShader: any; - private readonly realDetachShader: any; - private readonly gl: WebGLRenderingContext | WebGL2RenderingContext; - private hooked: boolean; - - constructor(gl: WebGLRenderingContext | WebGL2RenderingContext) { - this.realAttachShader = gl.attachShader; - this.realDetachShader = gl.detachShader; - - gl.attachShader = this.hookedAttachShader.bind(this); - gl.detachShader = this.hookedDetachShader.bind(this); - - this.hooked = true; - this.gl = gl; - - log(`Shader is hooked.`); - } - - private hookedAttachShader(program: any, shader: any): void { - this.realAttachShader.call(this.gl, program, shader); - - this.shaders++; - - log(`AttachShader:`, shader, `shaders: ${this.shaders}`); - } - - private hookedDetachShader(program: any, shader: any): void { - this.realDetachShader.call(this.gl, program, shader); - - this.shaders--; - - log(`DetachShader. shaders: ${this.shaders}`); - } - - public reset(): void { - this.shaders = 0; - } - - public release(): void { - if (this.hooked) { - this.gl.attachShader = this.realAttachShader; - this.gl.detachShader = this.realDetachShader; - } - - this.hooked = false; - } -} diff --git a/packages/stats/src/hooks/TextureHook.ts b/packages/stats/src/hooks/TextureHook.ts deleted file mode 100644 index 9eed2fb5..00000000 --- a/packages/stats/src/hooks/TextureHook.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { log } from "../log"; - -/** - * @class TextureHook - */ -export default class TextureHook { - public textures: number = 0; - private readonly realCreateTexture: any; - private readonly realDeleteTexture: any; - private readonly gl: WebGLRenderingContext | WebGL2RenderingContext; - private hooked: boolean; - - constructor(gl: WebGLRenderingContext | WebGL2RenderingContext) { - this.realCreateTexture = gl.createTexture; - this.realDeleteTexture = gl.deleteTexture; - - gl.createTexture = this.hookedCreateTexture.bind(this); - gl.deleteTexture = this.hookedDeleteTexture.bind(this); - - this.hooked = true; - this.gl = gl; - - log(`Texture is hooked.`); - } - - private hookedCreateTexture(): void { - let texture = this.realCreateTexture.call(this.gl); - - this.textures++; - - log(`CreateTexture:`, texture, `textures: ${this.textures}`); - - return texture; - } - - private hookedDeleteTexture(texture: any): void { - this.realDeleteTexture.call(this.gl, texture); - - this.textures--; - - log(`DeleteTexture. textures: ${this.textures}`); - } - - public reset(): void { - this.textures = 0; - } - - public release(): void { - if (this.hooked) { - this.gl.createTexture = this.realCreateTexture; - this.gl.deleteTexture = this.realDeleteTexture; - } - - this.hooked = false; - } -} From a389f4db7e070384b2e702dfa45d94d5e5db6c3f Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Wed, 4 Mar 2026 11:29:16 +0800 Subject: [PATCH 5/8] feat: update peer dependencies to require @galacean/engine version 2.0.0 or higher --- package.json | 2 +- packages/auxiliary-lines/package.json | 2 +- packages/controls/package.json | 2 +- packages/custom-gltf-parser/package.json | 2 +- packages/custom-material/package.json | 2 +- packages/draco/package.json | 2 +- packages/dynamic-bone/package.json | 2 +- packages/framebuffer-picker/package.json | 2 +- packages/geometry-sketch/package.json | 2 +- packages/gizmo/package.json | 4 ++-- packages/input-logger/package.json | 2 +- packages/lines/package.json | 2 +- packages/navigation-gizmo/package.json | 2 +- packages/outline/package.json | 2 +- packages/skeleton-viewer/package.json | 2 +- packages/tween/package.json | 2 +- packages/way-point/package.json | 2 +- packages/xr/package.json | 4 ++-- tests/package.json | 2 +- 19 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 3a9e2bc2..38afa8bf 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ }, "pnpm": { "overrides": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } } diff --git a/packages/auxiliary-lines/package.json b/packages/auxiliary-lines/package.json index 2f91cbe3..f9268ec0 100644 --- a/packages/auxiliary-lines/package.json +++ b/packages/auxiliary-lines/package.json @@ -24,7 +24,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" }, "dependencies": { "@galacean/engine-toolkit-custom-material": "workspace:*" diff --git a/packages/controls/package.json b/packages/controls/package.json index 880a6310..7c1f11c1 100644 --- a/packages/controls/package.json +++ b/packages/controls/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/custom-gltf-parser/package.json b/packages/custom-gltf-parser/package.json index f78ba575..9709d184 100755 --- a/packages/custom-gltf-parser/package.json +++ b/packages/custom-gltf-parser/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/custom-material/package.json b/packages/custom-material/package.json index 6e0747d1..e89609b2 100644 --- a/packages/custom-material/package.json +++ b/packages/custom-material/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/draco/package.json b/packages/draco/package.json index de733502..606ea65d 100644 --- a/packages/draco/package.json +++ b/packages/draco/package.json @@ -20,6 +20,6 @@ "types/**/*" ], "dependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/dynamic-bone/package.json b/packages/dynamic-bone/package.json index e004a40e..8b29eb71 100644 --- a/packages/dynamic-bone/package.json +++ b/packages/dynamic-bone/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/framebuffer-picker/package.json b/packages/framebuffer-picker/package.json index 0b27e2d1..29ed9110 100755 --- a/packages/framebuffer-picker/package.json +++ b/packages/framebuffer-picker/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/geometry-sketch/package.json b/packages/geometry-sketch/package.json index 96d67fc5..7dc338d4 100644 --- a/packages/geometry-sketch/package.json +++ b/packages/geometry-sketch/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/gizmo/package.json b/packages/gizmo/package.json index a13e5d03..beb369f4 100644 --- a/packages/gizmo/package.json +++ b/packages/gizmo/package.json @@ -24,8 +24,8 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0", - "@galacean/engine-ui": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0", + "@galacean/engine-ui": ">=2.0.0-0" }, "dependencies": { "@galacean/engine-toolkit-framebuffer-picker": "workspace:*", diff --git a/packages/input-logger/package.json b/packages/input-logger/package.json index ff827e39..e9ee20bb 100644 --- a/packages/input-logger/package.json +++ b/packages/input-logger/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/lines/package.json b/packages/lines/package.json index 7e3dc31e..979991e2 100644 --- a/packages/lines/package.json +++ b/packages/lines/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/navigation-gizmo/package.json b/packages/navigation-gizmo/package.json index 92fe91a9..2ec70043 100644 --- a/packages/navigation-gizmo/package.json +++ b/packages/navigation-gizmo/package.json @@ -24,7 +24,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" }, "dependencies": { "@galacean/engine-toolkit-controls": "workspace:*", diff --git a/packages/outline/package.json b/packages/outline/package.json index fcaa55fe..9897b457 100755 --- a/packages/outline/package.json +++ b/packages/outline/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/skeleton-viewer/package.json b/packages/skeleton-viewer/package.json index 5129a12f..05878789 100755 --- a/packages/skeleton-viewer/package.json +++ b/packages/skeleton-viewer/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/tween/package.json b/packages/tween/package.json index 76287a8a..32aad9ab 100644 --- a/packages/tween/package.json +++ b/packages/tween/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/way-point/package.json b/packages/way-point/package.json index 24ce671e..29c47e65 100755 --- a/packages/way-point/package.json +++ b/packages/way-point/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/xr/package.json b/packages/xr/package.json index 8b5666bc..3e832c95 100644 --- a/packages/xr/package.json +++ b/packages/xr/package.json @@ -32,7 +32,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0", - "@galacean/engine-xr": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0", + "@galacean/engine-xr": ">=2.0.0-0" } } diff --git a/tests/package.json b/tests/package.json index e5d4894e..cfe836f8 100644 --- a/tests/package.json +++ b/tests/package.json @@ -14,7 +14,7 @@ "types/**/*" ], "dependencies": { - "@galacean/engine": ">=1.6.0-0", + "@galacean/engine": ">=2.0.0-0", "@galacean/engine-toolkit-auxiliary-lines": "workspace:*", "@galacean/engine-toolkit-controls": "workspace:*", "@galacean/engine-toolkit-framebuffer-picker": "workspace:*" From e38902b073c36dabe549857629aa62dd09428e4b Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Wed, 4 Mar 2026 11:31:47 +0800 Subject: [PATCH 6/8] feat: downgrade peer dependencies for @galacean/engine to version 1.6.0 or higher across multiple packages --- packages/auxiliary-lines/package.json | 2 +- packages/controls/package.json | 2 +- packages/custom-gltf-parser/package.json | 2 +- packages/custom-material/package.json | 2 +- packages/draco/package.json | 2 +- packages/dynamic-bone/package.json | 2 +- packages/framebuffer-picker/package.json | 2 +- packages/geometry-sketch/package.json | 2 +- packages/gizmo/package.json | 4 ++-- packages/input-logger/package.json | 2 +- packages/lines/package.json | 2 +- packages/navigation-gizmo/package.json | 2 +- packages/outline/package.json | 2 +- packages/skeleton-viewer/package.json | 2 +- packages/tween/package.json | 2 +- packages/way-point/package.json | 2 +- packages/xr/package.json | 4 ++-- tests/package.json | 2 +- 18 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/auxiliary-lines/package.json b/packages/auxiliary-lines/package.json index f9268ec0..2f91cbe3 100644 --- a/packages/auxiliary-lines/package.json +++ b/packages/auxiliary-lines/package.json @@ -24,7 +24,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" }, "dependencies": { "@galacean/engine-toolkit-custom-material": "workspace:*" diff --git a/packages/controls/package.json b/packages/controls/package.json index 7c1f11c1..880a6310 100644 --- a/packages/controls/package.json +++ b/packages/controls/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/custom-gltf-parser/package.json b/packages/custom-gltf-parser/package.json index 9709d184..f78ba575 100755 --- a/packages/custom-gltf-parser/package.json +++ b/packages/custom-gltf-parser/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/custom-material/package.json b/packages/custom-material/package.json index e89609b2..6e0747d1 100644 --- a/packages/custom-material/package.json +++ b/packages/custom-material/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/draco/package.json b/packages/draco/package.json index 606ea65d..de733502 100644 --- a/packages/draco/package.json +++ b/packages/draco/package.json @@ -20,6 +20,6 @@ "types/**/*" ], "dependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/dynamic-bone/package.json b/packages/dynamic-bone/package.json index 8b29eb71..e004a40e 100644 --- a/packages/dynamic-bone/package.json +++ b/packages/dynamic-bone/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/framebuffer-picker/package.json b/packages/framebuffer-picker/package.json index 29ed9110..0b27e2d1 100755 --- a/packages/framebuffer-picker/package.json +++ b/packages/framebuffer-picker/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/geometry-sketch/package.json b/packages/geometry-sketch/package.json index 7dc338d4..96d67fc5 100644 --- a/packages/geometry-sketch/package.json +++ b/packages/geometry-sketch/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/gizmo/package.json b/packages/gizmo/package.json index beb369f4..a13e5d03 100644 --- a/packages/gizmo/package.json +++ b/packages/gizmo/package.json @@ -24,8 +24,8 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0", - "@galacean/engine-ui": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0", + "@galacean/engine-ui": ">=1.6.0-0" }, "dependencies": { "@galacean/engine-toolkit-framebuffer-picker": "workspace:*", diff --git a/packages/input-logger/package.json b/packages/input-logger/package.json index e9ee20bb..ff827e39 100644 --- a/packages/input-logger/package.json +++ b/packages/input-logger/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/lines/package.json b/packages/lines/package.json index 979991e2..7e3dc31e 100644 --- a/packages/lines/package.json +++ b/packages/lines/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/navigation-gizmo/package.json b/packages/navigation-gizmo/package.json index 2ec70043..92fe91a9 100644 --- a/packages/navigation-gizmo/package.json +++ b/packages/navigation-gizmo/package.json @@ -24,7 +24,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" }, "dependencies": { "@galacean/engine-toolkit-controls": "workspace:*", diff --git a/packages/outline/package.json b/packages/outline/package.json index 9897b457..fcaa55fe 100755 --- a/packages/outline/package.json +++ b/packages/outline/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/skeleton-viewer/package.json b/packages/skeleton-viewer/package.json index 05878789..5129a12f 100755 --- a/packages/skeleton-viewer/package.json +++ b/packages/skeleton-viewer/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/tween/package.json b/packages/tween/package.json index 32aad9ab..76287a8a 100644 --- a/packages/tween/package.json +++ b/packages/tween/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/way-point/package.json b/packages/way-point/package.json index 29c47e65..24ce671e 100755 --- a/packages/way-point/package.json +++ b/packages/way-point/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0" } } diff --git a/packages/xr/package.json b/packages/xr/package.json index 3e832c95..8b5666bc 100644 --- a/packages/xr/package.json +++ b/packages/xr/package.json @@ -32,7 +32,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=2.0.0-0", - "@galacean/engine-xr": ">=2.0.0-0" + "@galacean/engine": ">=1.6.0-0", + "@galacean/engine-xr": ">=1.6.0-0" } } diff --git a/tests/package.json b/tests/package.json index cfe836f8..e5d4894e 100644 --- a/tests/package.json +++ b/tests/package.json @@ -14,7 +14,7 @@ "types/**/*" ], "dependencies": { - "@galacean/engine": ">=2.0.0-0", + "@galacean/engine": ">=1.6.0-0", "@galacean/engine-toolkit-auxiliary-lines": "workspace:*", "@galacean/engine-toolkit-controls": "workspace:*", "@galacean/engine-toolkit-framebuffer-picker": "workspace:*" From 15cb661c82a80289f8db342e1bf43fc9a090e900 Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Wed, 4 Mar 2026 11:37:55 +0800 Subject: [PATCH 7/8] feat: update README to correct JS memory description in features list --- packages/stats/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/stats/README.md b/packages/stats/README.md index 6dd34cb4..e30f0869 100644 --- a/packages/stats/README.md +++ b/packages/stats/README.md @@ -4,7 +4,7 @@ Statistics toolkit to gather performance data ## Features - fps: frame rate; -- memory: JS memory (MB); +- JS Memory: JS heap memory (MB); - totalGraphicsMemory: total graphics memory (MB); - textureMemory: texture memory (MB); - bufferMemory: buffer memory (MB); From 958d78896e7a5115e69c3f13efb58b9aed86ef12 Mon Sep 17 00:00:00 2001 From: GuoLei1990 Date: Wed, 4 Mar 2026 11:46:48 +0800 Subject: [PATCH 8/8] feat: update peer dependencies to require @galacean/engine version 2.0.0 or higher across multiple packages --- packages/auxiliary-lines/package.json | 2 +- packages/controls/package.json | 2 +- packages/custom-gltf-parser/package.json | 2 +- packages/custom-material/package.json | 2 +- packages/draco/package.json | 2 +- packages/dynamic-bone/package.json | 2 +- packages/framebuffer-picker/package.json | 2 +- packages/geometry-sketch/package.json | 2 +- packages/gizmo/package.json | 4 ++-- packages/input-logger/package.json | 2 +- packages/lines/package.json | 2 +- packages/navigation-gizmo/package.json | 2 +- packages/outline/package.json | 2 +- packages/skeleton-viewer/package.json | 2 +- packages/tween/package.json | 2 +- packages/way-point/package.json | 2 +- packages/xr/package.json | 4 ++-- tests/package.json | 2 +- 18 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/auxiliary-lines/package.json b/packages/auxiliary-lines/package.json index 2f91cbe3..f9268ec0 100644 --- a/packages/auxiliary-lines/package.json +++ b/packages/auxiliary-lines/package.json @@ -24,7 +24,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" }, "dependencies": { "@galacean/engine-toolkit-custom-material": "workspace:*" diff --git a/packages/controls/package.json b/packages/controls/package.json index 880a6310..7c1f11c1 100644 --- a/packages/controls/package.json +++ b/packages/controls/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/custom-gltf-parser/package.json b/packages/custom-gltf-parser/package.json index f78ba575..9709d184 100755 --- a/packages/custom-gltf-parser/package.json +++ b/packages/custom-gltf-parser/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/custom-material/package.json b/packages/custom-material/package.json index 6e0747d1..e89609b2 100644 --- a/packages/custom-material/package.json +++ b/packages/custom-material/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/draco/package.json b/packages/draco/package.json index de733502..606ea65d 100644 --- a/packages/draco/package.json +++ b/packages/draco/package.json @@ -20,6 +20,6 @@ "types/**/*" ], "dependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/dynamic-bone/package.json b/packages/dynamic-bone/package.json index e004a40e..8b29eb71 100644 --- a/packages/dynamic-bone/package.json +++ b/packages/dynamic-bone/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/framebuffer-picker/package.json b/packages/framebuffer-picker/package.json index 0b27e2d1..29ed9110 100755 --- a/packages/framebuffer-picker/package.json +++ b/packages/framebuffer-picker/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/geometry-sketch/package.json b/packages/geometry-sketch/package.json index 96d67fc5..7dc338d4 100644 --- a/packages/geometry-sketch/package.json +++ b/packages/geometry-sketch/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/gizmo/package.json b/packages/gizmo/package.json index a13e5d03..beb369f4 100644 --- a/packages/gizmo/package.json +++ b/packages/gizmo/package.json @@ -24,8 +24,8 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0", - "@galacean/engine-ui": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0", + "@galacean/engine-ui": ">=2.0.0-0" }, "dependencies": { "@galacean/engine-toolkit-framebuffer-picker": "workspace:*", diff --git a/packages/input-logger/package.json b/packages/input-logger/package.json index ff827e39..e9ee20bb 100644 --- a/packages/input-logger/package.json +++ b/packages/input-logger/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/lines/package.json b/packages/lines/package.json index 7e3dc31e..979991e2 100644 --- a/packages/lines/package.json +++ b/packages/lines/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/navigation-gizmo/package.json b/packages/navigation-gizmo/package.json index 92fe91a9..2ec70043 100644 --- a/packages/navigation-gizmo/package.json +++ b/packages/navigation-gizmo/package.json @@ -24,7 +24,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" }, "dependencies": { "@galacean/engine-toolkit-controls": "workspace:*", diff --git a/packages/outline/package.json b/packages/outline/package.json index fcaa55fe..9897b457 100755 --- a/packages/outline/package.json +++ b/packages/outline/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/skeleton-viewer/package.json b/packages/skeleton-viewer/package.json index 5129a12f..05878789 100755 --- a/packages/skeleton-viewer/package.json +++ b/packages/skeleton-viewer/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/tween/package.json b/packages/tween/package.json index 76287a8a..32aad9ab 100644 --- a/packages/tween/package.json +++ b/packages/tween/package.json @@ -23,6 +23,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/way-point/package.json b/packages/way-point/package.json index 24ce671e..29c47e65 100755 --- a/packages/way-point/package.json +++ b/packages/way-point/package.json @@ -24,6 +24,6 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0" } } diff --git a/packages/xr/package.json b/packages/xr/package.json index 8b5666bc..3e832c95 100644 --- a/packages/xr/package.json +++ b/packages/xr/package.json @@ -32,7 +32,7 @@ "types/**/*" ], "peerDependencies": { - "@galacean/engine": ">=1.6.0-0", - "@galacean/engine-xr": ">=1.6.0-0" + "@galacean/engine": ">=2.0.0-0", + "@galacean/engine-xr": ">=2.0.0-0" } } diff --git a/tests/package.json b/tests/package.json index e5d4894e..cfe836f8 100644 --- a/tests/package.json +++ b/tests/package.json @@ -14,7 +14,7 @@ "types/**/*" ], "dependencies": { - "@galacean/engine": ">=1.6.0-0", + "@galacean/engine": ">=2.0.0-0", "@galacean/engine-toolkit-auxiliary-lines": "workspace:*", "@galacean/engine-toolkit-controls": "workspace:*", "@galacean/engine-toolkit-framebuffer-picker": "workspace:*"