"Repack Atlas" after replacing frames.
replacedFrames[frameName] (in-memory canvas)repackAtlas() → buildAtlasWithReplacements() which composites all original + replaced frames into a new atlas PNG + JSON_ prefix — e.g. _game_ui.png / _game_ui.json (or _game_asset.* for explosions)phaser-game.html:checkEditorAtlases() does HEAD requests to detect _prefixed files, sets window.__editorAtlaseswindow.__editorAtlases and loads _game_ui.png instead of game_ui.png (likewise for game_asset)PhaserTitleScene creates: this.add.sprite(0, 0, "game_ui", "titleCopyright.gif")_game_ui.png contains the replacement image at the frame coordinates specified in _game_ui.jsonExplosions.js:showExplosion() creates animation from generateFrameNames("game_asset", { prefix: "explosion", start: 0, end: 6, zeroPad: 2, suffix: ".gif" })_game_asset.png contains replacement explosion frames"titleCopyright.gif", "explosion00.gif") — the Atlas Manager preserves these during replacement