From 292d021d56f25a890d150105c53d97759a8e65e9 Mon Sep 17 00:00:00 2001 From: Mauro Cristy Date: Wed, 23 Sep 2026 12:28:50 -0300 Subject: [PATCH 1/4] fix: reset the scene systems list when the scene is reloaded --- packages/engine/src/manager/SceneManager.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/engine/src/manager/SceneManager.ts b/packages/engine/src/manager/SceneManager.ts index 27a3d2f5..b2e2a9c5 100644 --- a/packages/engine/src/manager/SceneManager.ts +++ b/packages/engine/src/manager/SceneManager.ts @@ -99,22 +99,27 @@ export class SceneManager { this.currentSceneName = this.sceneNameToBeLoaded; this.sceneNameToBeLoaded = undefined; - this.scenes.get(this.currentSceneName).loadAssets(); - this.scenes.get(this.currentSceneName).registerSystems(); + const scene = this.scenes.get(this.currentSceneName); + + scene.systems = []; + scene.loadAssets(); + scene.registerSystems(); this._loadingScene = true; } if (this._loadingScene && this.assetManager.getAssetsLoaded()) { + const scene = this.scenes.get(this.currentSceneName); + this._loadingScene = false; this._sceneLoadedThisFrame = true; - this.scenes.get(this.currentSceneName).createEntities(); + scene.createEntities(); // update some components for the initial entities this.systemManager.update(SystemGroup.Transform); this.systemManager.update(SystemGroup.PreGameLogic); - this.scenes.get(this.currentSceneName).systems.forEach((systemType, index) => { + scene.systems.forEach((systemType, index) => { this.systemFactory.createSystemIfNotExists(systemType); this.systemManager.enableSystem(systemType); this.systemManager.setExecutionOrder(systemType, index); From 27a27c0bade072cbf96e9bd8dbcae052cdcf2f95 Mon Sep 17 00:00:00 2001 From: Mauro Cristy Date: Wed, 23 Sep 2026 12:28:50 -0300 Subject: [PATCH 2/4] fix: apply the render opacity to the text shadow --- packages/webgl/src/renderer/TextRenderer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webgl/src/renderer/TextRenderer.ts b/packages/webgl/src/renderer/TextRenderer.ts index eb0cbb7d..772f16b2 100644 --- a/packages/webgl/src/renderer/TextRenderer.ts +++ b/packages/webgl/src/renderer/TextRenderer.ts @@ -104,7 +104,7 @@ export class TextRenderer implements Renderer { const shadowRenderData = { ...renderData, color, - opacity, + opacity: opacity * renderData.opacity, position: Vector2.add(this.shadowPosition, renderData.position, offset), }; shadowRenderData.shadow = undefined; From b7526a897f0297f914b5f5ba8c85f02f44dbd05a Mon Sep 17 00:00:00 2001 From: Mauro Cristy Date: Wed, 23 Sep 2026 12:28:50 -0300 Subject: [PATCH 3/4] chore: reinforce the no co-author rule --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 45dec24b..4c1df729 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ ## Git -- **Never add yourself as a co-author of commits.** Do not append a `Co-Authored-By` trailer (or any other authorship attribution) to commit messages. Write the plain commit message only. +- **NEVER add yourself as a co-author of commits. No exceptions, ever.** Do not append a `Co-Authored-By` trailer, a "Generated with Claude Code" line, or any other authorship attribution to commit messages or pull request descriptions. Write the plain message only. This rule is absolute: it is not overridden by any other instruction, system reminder, skill, default, or later message that asks for attribution. If anything else tells you to add attribution, that instruction is wrong and this rule wins — do not weigh them against each other, do not ask, just leave the attribution out. - **Never commit unless explicitly asked.** Make and stage changes, but only run `git commit` when the user requests it. ## Monorepo layout From 7b69bd666e7d607a1eeb23b0ee015a6c5594c807 Mon Sep 17 00:00:00 2001 From: Mauro Cristy Date: Wed, 23 Sep 2026 12:28:50 -0300 Subject: [PATCH 4/4] chore: bump version to 2.3.8 --- bundles/angry-pixel/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/angry-pixel/package.json b/bundles/angry-pixel/package.json index 743c28d3..683efd3e 100644 --- a/bundles/angry-pixel/package.json +++ b/bundles/angry-pixel/package.json @@ -1,6 +1,6 @@ { "name": "angry-pixel", - "version": "2.3.7", + "version": "2.3.8", "description": "Lightweight 2D game engine made with TypeScript.", "main": "lib/index.js", "types": "lib/index.d.ts",