Skip to content

Conversation

@kennethkoontz
Copy link

@kennethkoontz kennethkoontz commented Oct 31, 2025

Summary by CodeRabbit

  • New Features

    • Added replay file support and local replay server integration
    • Added follow camera system for third-person gameplay
    • Added media/video rendering support
    • Enhanced panorama rendering with world-blocks mode
    • Added progress reporting system for better loading feedback
  • Bug Fixes

    • Improved error handling for asset loading with fallback mechanisms
    • Fixed sound system with timeout and error recovery
    • Enhanced filesystem initialization with fallback support
  • UI/UX

    • Rebranded to "Minecraft Web Client"
    • Improved entity rendering and support
    • Enhanced loading screen with better status messages
  • Performance

    • Added single-file build support for optimized deployment
    • Implemented compressed data handling

allan-sqf and others added 26 commits August 29, 2025 10:42
silently ignore missing files (404)
remove notification for audio warning, let it fallback silently
…anges

add spectator mode overlay and mouse capture messages
remove mineflayer-auto-jump and mineflayer-physics-util
@vercel
Copy link

vercel bot commented Oct 31, 2025

@kennethkoontz is attempting to deploy a commit to the Vitaly Turovksy's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented Oct 31, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR performs a major architectural refactor, transitioning from a monolithic Viewer class to a modular AppViewer/GraphicsBackend abstraction with Three.js rendering, adds single-file build support, replay packet handling, iframe communication, and multiple game features (follow camera, sound system, progress reporting).

Changes

Cohort / File(s) Summary
ESLint & Configuration
.eslintrc.json
Added @typescript-eslint/class-literal-property-style rule set to "off"
CI/CD Workflows
.github/workflows/build-single-file.yml, .github/workflows/build-zip.yml, .github/workflows/ci.yml, .github/workflows/next-deploy.yml, .github/workflows/preview.yml, .github/workflows/publish.yml
Added workflows for building single-file and self-hosted packages; disabled npm React build step; added CONFIG_JSON_SOURCE environment variables; added workflow steps for package updates and GitHub Pages publishing
Configuration & Infrastructure
.gitignore, .prettierignore, buildkitd.toml, Dockerfile, Makefile
Scoped /world to root directory only; added .prettierignore; configured OCI worker parallelism; updated Dockerfile build args to use CONFIG_JSON_SOURCE; added Makefile for Docker multi-arch builds and Cloud Run deployment
Project Metadata
README.md, CONTRIBUTING.md, assets/manifest.json, config.json
Expanded README with deployment/local dev guides; annotated upstream-related sections in CONTRIBUTING; updated manifest app names; modified config.json proxy, promoteServers, and added allowAutoConnect/pauseLinks
Web Application Entry
index.html
Removed subtitle; hardened error message handling; updated font sizes; renamed to "Minecraft Web Client"; removed og:image and favicon
Build Configuration
package.json, rsbuild.config.ts
Added build-single-file and prepare-project scripts; bumped mc-assets version; added mcraft-fun-mineflayer and mineflayer-mouse; configured single-file builds with inlining and asset handling; integrated CONFIG_JSON_SOURCE logic
Renderer Architecture Removal
renderer/viewer/lib/viewer.ts, renderer/viewer/lib/viewerWrapper.ts, renderer/viewer/lib/worldrendererThree.ts (old), renderer/viewer/index.js
Deleted old Viewer, ViewerWrapper, and WorldRendererThree classes; removed public API exports from index.js
Renderer Architecture Foundation
renderer/viewer/baseGraphicsBackend.ts
Added getDefaultRendererState() function to initialize default RendererReactiveState
Graphics Backend & Three.js Integration
renderer/viewer/three/graphicsBackend.ts, renderer/viewer/three/documentRenderer.ts, renderer/viewer/three/panorama.ts, renderer/viewer/three/threeJsMethods.ts, renderer/viewer/three/threeJsSound.ts, renderer/viewer/three/cameraShake.ts
New Three.js graphics backend with DocumentRenderer, PanoramaRenderer, sound system, camera shake, and async method wrapper
World Rendering
renderer/viewer/three/worldrendererThree.ts, renderer/viewer/lib/worldrendererCommon.ts, renderer/viewer/three/world/cursorBlock.ts, renderer/viewer/three/world/vr.ts
New WorldRendererThree extending WorldRendererCommon with chunk/section tracking; refactored constructor to accept ResourcesManager and DisplayWorldOptions; added cursor block rendering and VR support
Entity Rendering
renderer/viewer/three/entities.ts, renderer/viewer/three/entity/EntityMesh.ts, renderer/viewer/three/entity/armorModels.json, renderer/viewer/three/entity/exportedModels.js, renderer/viewer/three/holdingBlock.ts, renderer/viewer/three/appShared.ts
Migrated from Viewer to WorldRendererThree; added entity mapping system; swapped armor bone positions; added arrow and sheep models; refactored HoldingBlock to use worldRenderer; added getItemUv utility
Animation & State
renderer/viewer/lib/animationController.ts, renderer/viewer/lib/smoothSwitcher.ts
Added onCancelled callback to startAnimation; added forceFinish callComplete parameter; updated transitionTo logic in smoothSwitcher
Player & Media State
renderer/viewer/lib/basePlayerState.ts, renderer/viewer/lib/worldDataEmitter.ts, renderer/viewer/lib/guiRenderer.ts, renderer/viewer/lib/ui/newStats.ts
Added getPosition() method and reactive properties (inWater, backgroundColor, ambientLight, directionalLight, gameMode); added WorldDataEmitterEvents with TypedEmitter; added GUI atlas generation; added removeAllStats/removeStat functions
Mesher & World Data
renderer/viewer/lib/mesher/mesher.ts, renderer/viewer/lib/mesher/models.ts, renderer/viewer/lib/mesher/shared.ts, renderer/viewer/lib/mesher/world.ts, renderer/viewer/lib/mesher/test/tests.test.ts
Added BlockStateModelInfo tracking; replaced Map-based highestBlocks with Record; added ALWAYS_WATERLOGGED set; added blockStateModelInfo Map; expanded getBlock to track model resolution metadata
Utilities
renderer/viewer/lib/utils.ts, renderer/viewer/lib/utils.js, renderer/viewer/lib/utils.electron.js, renderer/viewer/lib/utils.web.js, renderer/viewer/lib/utils/skins.ts, renderer/rsbuildSharedConfig.ts
Added TypeScript utils.ts with texture caching and script loading; removed legacy utils.js, utils.electron.js, utils.web.js; enhanced loadImageFromUrl with timeout and error handling; added resource rewrites for legacy.json and SINGLE_FILE_BUILD mode
Playground/Experiments
renderer/playground/playground.ts, renderer/playground/scenes/index.ts, renderer/playground/scenes/allEntities.ts, renderer/playground/scenes/entities.ts, renderer/playground/scenes/frequentUpdates.ts, renderer/playground/scenes/lightingStarfield.ts, renderer/playground/scenes/main.ts, renderer/playground/baseScene.ts, experiments/state.ts, experiments/state.html
Added ts-nocheck directives; updated import paths to three/; added AllEntities scene for entity capability testing; added state.ts animation experiment
AppViewer & Backend Abstraction
src/appViewer.ts
New AppViewer class managing graphics backends, world rendering, and resource lifecycle with state synchronization
Configuration Loading
src/appConfig.ts
New module for loading and applying app configuration with force-settings support
Application State & Globals
src/globalState.ts, src/globalDomListeners.ts, src/globals.js, src/globals.d.ts, src/appStatus.ts, src/appParams.ts
Added fsReady and singleplayerAvailable flags; exposed setLoadingScreenStatus globally; added following, agentSkinMap, appViewer globals; added replay-related query params; added connectionStatus custom event
Game Features
src/follow.ts, src/iframe.ts, src/basicSounds.ts
New follow camera module; new iframe communication for kradle frontend; enhanced sound loading with error handling
Camera & Controls
src/cameraRotationControls.ts, src/controls.ts
Replaced worldInteractions with bot.mouse; added appViewer.backend camera updates; added preventDefault for dev-mode keybinds; migrated to appStorage.keybindings
Bot & Commands
src/botUtils.ts, src/builtinCommands.ts, src/entities.ts, src/connect.ts
Updated import paths for versionToNumber; added alwaysAvailable flag and /follow /following commands; replaced viewer calls with getThreeJsRendererMethods(); renamed downloadMcDataOnConnect to loadMinecraftData
Inventory & Rendering
src/inventoryWindows.ts, src/customChannels.ts
Refactored renderSlot to use ResolvedItemModelRender; integrated JEI categories; added media channels and video interaction handlers
File Operations
src/browserfs.ts, src/dragndrop.ts, src/downloadAndOpenFile.ts, src/devReload.ts, src/devtools.ts, src/loadSave.ts
Added replay file support; consolidated resetLocalStorage; added temp directory mounting with fallback; added progress reporting for resource packs; added performance debug utilities and stats tracking
Rendering Utilities
src/dayCycle.ts, src/chatUtils.ts, src/chatUtils.test.ts
Updated lighting to use appViewer.playerState.reactive; updated versionToNumber imports; removed test comment block
Progress Reporting
src/core/progressReporter.ts
New comprehensive progress reporting system with multiple display strategies (full-screen, notification, console, wrapped, null)
Core Utilities
src/core/timers.ts
New timer override system with internal queue and browser throttling prevention via sound
Build & Preparation Scripts
scripts/genLargeDataAliases.ts, scripts/makeOptimizedMcData.mjs, scripts/prepareSounds.mjs, scripts/genShims.ts, scripts/testOptimizedMcdata.ts, scripts/dockerPrepare.mjs, server.js, src/api/mcStatusApi.ts, src/index.ts
Added large data aliases generation for compressed/raw modes; refactored recipe processing; added version-dependent data loading; added git repository extraction; added environment-based port/production detection; added versionOverride parameter to fetchServerStatus; major index.ts refactor with progress reporting, backends, and new plugin system
Interaction Shapes
src/interactionShapesGenerated.json
Coordinate normalization across button and pressure plate interaction shapes

Sequence Diagram(s)

sequenceDiagram
    participant App as Application<br/>(index.ts)
    participant AV as AppViewer
    participant Backend as GraphicsBackend
    participant Renderer as DocumentRenderer /<br/>WorldRendererThree
    participant World as WorldDataEmitter

    App->>AV: loadBackend()
    AV->>Backend: createGraphicsBackend(initOptions)
    Backend->>Renderer: new DocumentRenderer()
    Backend-->>AV: backend ready

    App->>AV: startWorld(displayOptions)
    AV->>Backend: startWorld(displayOptions)
    Backend->>Renderer: instantiate WorldRendererThree
    Renderer->>World: connect(worldView)
    World-->>Renderer: emit chunk/block updates
    Renderer->>App: render loop via beforeRenderFrame

    App->>Backend: updateCamera(pos, yaw, pitch)
    Backend->>Renderer: forward camera updates
    Renderer->>Renderer: update projection & render

    App->>AV: disconnect()
    AV->>Backend: disconnect()
    Backend->>Renderer: dispose()
    Renderer-->>App: cleanup complete
Loading
sequenceDiagram
    participant User
    participant UI as UI Layer
    participant PR as ProgressReporter
    participant App as AppViewer
    participant Backend as GraphicsBackend

    User->>UI: Download Resource Pack
    UI->>PR: createFullScreenProgressReporter()
    PR-->>UI: reporter instance
    
    UI->>App: installResourcepack(file, progressReporter)
    App->>PR: beginStage('install', 'Installing...')
    
    par Download & Process
        App->>PR: setProgress('download', 0.5)
        PR->>UI: Update loading screen
        App->>PR: setProgress('process', 0.75)
    end
    
    App->>PR: endStage('install')
    App->>Backend: refresh assets
    PR->>UI: setMessage('Ready!')
    PR->>UI: end()
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • renderer/viewer/three/worldrendererThree.ts — New comprehensive Three.js renderer with complex scene management, chunk handling, and media support; requires understanding of Three.js patterns and rendering lifecycle.
  • renderer/viewer/lib/worldrendererCommon.ts — Core renderer abstraction with major signature changes (constructor takes ResourcesManager/DisplayWorldOptions); complex initialization and state synchronization logic; affects all rendering downstream.
  • renderer/viewer/three/entities.ts — Large migration from Viewer to WorldRendererThree; intricate entity mesh, armor, and item rendering with new mapping system; armor bone swapping changes need validation.
  • src/index.ts — Major refactor of app initialization with new AppViewer/backend orchestration, progress reporting, plugin system; complex error handling and lifecycle coordination.
  • src/appViewer.ts — New core abstraction managing backends, world state, and resource lifecycle; complex state management with reactive proxies and promise-based coordination.
  • renderer/viewer/lib/mesher/world.ts & shared.ts — Changes from Map-based to Record-based highestBlocks; new BlockStateModelInfo tracking; affects memory layout and performance; requires careful testing.
  • rsbuild.config.ts — Complex build configuration with SINGLE_FILE_BUILD mode, asset inlining, large data aliasing; many conditional paths and environment-dependent behaviors.
  • src/browserfs.ts — Enhanced file handling with fallback logic; replay file support; resource pack installation refactor; file system mounting strategy change.
  • CI/CD Workflows — Multiple workflow additions/modifications; verify CONFIG_JSON_SOURCE propagation through all build paths and that publish artifacts are correctly generated.

Possibly related PRs

Suggested labels

type: architecture, scope: renderer, scope: build, priority: high

Suggested reviewers

  • Phoenix616

🐰 In three-js land so grand and bright,
New worlds render with threaded light,
AppViewer orchestrates the show,
While builders bundle, fast they go,
From Viewer gone, new backends shine—
A refactored realm, now by design!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9a3667e and 9ce0a70.

⛔ Files ignored due to path filters (41)
  • assets/loading-bg.jpg is excluded by !**/*.jpg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • renderer/viewer/lib/entity/models/zombie.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/allay.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/arrow.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/axolotl.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/blaze.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/boat.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/camel.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/cat.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/chicken.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/cod.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/creeper.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/dolphin.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/ender_dragon.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/enderman.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/endermite.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/fox.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/frog.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/ghast.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/goat.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/guardian.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/horse.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/llama.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/minecart.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/parrot.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/piglin.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/pillager.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/rabbit.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/sheep.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/shulker.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/sniffer.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/spider.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/tadpole.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/turtle.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/vex.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/villager.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/warden.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/witch.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/wolf.obj is excluded by !**/*.obj
  • renderer/viewer/three/entity/models/zombie_villager.obj is excluded by !**/*.obj
📒 Files selected for processing (107)
  • .eslintrc.json (1 hunks)
  • .github/workflows/build-single-file.yml (1 hunks)
  • .github/workflows/build-zip.yml (1 hunks)
  • .github/workflows/ci.yml (1 hunks)
  • .github/workflows/next-deploy.yml (1 hunks)
  • .github/workflows/preview.yml (2 hunks)
  • .github/workflows/publish.yml (2 hunks)
  • .gitignore (1 hunks)
  • .prettierignore (1 hunks)
  • CONTRIBUTING.md (2 hunks)
  • Dockerfile (2 hunks)
  • Makefile (1 hunks)
  • README.MD (3 hunks)
  • assets/manifest.json (1 hunks)
  • buildkitd.toml (1 hunks)
  • config.json (1 hunks)
  • experiments/state.html (1 hunks)
  • experiments/state.ts (1 hunks)
  • index.html (3 hunks)
  • package.json (6 hunks)
  • renderer/playground/baseScene.ts (1 hunks)
  • renderer/playground/playground.ts (1 hunks)
  • renderer/playground/scenes/allEntities.ts (1 hunks)
  • renderer/playground/scenes/entities.ts (1 hunks)
  • renderer/playground/scenes/frequentUpdates.ts (1 hunks)
  • renderer/playground/scenes/index.ts (1 hunks)
  • renderer/playground/scenes/lightingStarfield.ts (1 hunks)
  • renderer/playground/scenes/main.ts (1 hunks)
  • renderer/rsbuildSharedConfig.ts (2 hunks)
  • renderer/viewer/baseGraphicsBackend.ts (1 hunks)
  • renderer/viewer/index.js (0 hunks)
  • renderer/viewer/lib/animationController.ts (4 hunks)
  • renderer/viewer/lib/basePlayerState.ts (4 hunks)
  • renderer/viewer/lib/guiRenderer.ts (1 hunks)
  • renderer/viewer/lib/mesher/mesher.ts (3 hunks)
  • renderer/viewer/lib/mesher/models.ts (3 hunks)
  • renderer/viewer/lib/mesher/shared.ts (2 hunks)
  • renderer/viewer/lib/mesher/test/tests.test.ts (1 hunks)
  • renderer/viewer/lib/mesher/world.ts (7 hunks)
  • renderer/viewer/lib/smoothSwitcher.ts (2 hunks)
  • renderer/viewer/lib/ui/newStats.ts (3 hunks)
  • renderer/viewer/lib/utils.electron.js (0 hunks)
  • renderer/viewer/lib/utils.js (0 hunks)
  • renderer/viewer/lib/utils.ts (1 hunks)
  • renderer/viewer/lib/utils.web.js (0 hunks)
  • renderer/viewer/lib/utils/skins.ts (1 hunks)
  • renderer/viewer/lib/viewer.ts (0 hunks)
  • renderer/viewer/lib/viewerWrapper.ts (0 hunks)
  • renderer/viewer/lib/worldDataEmitter.ts (6 hunks)
  • renderer/viewer/lib/worldrendererCommon.ts (12 hunks)
  • renderer/viewer/lib/worldrendererThree.ts (0 hunks)
  • renderer/viewer/three/appShared.ts (1 hunks)
  • renderer/viewer/three/cameraShake.ts (1 hunks)
  • renderer/viewer/three/documentRenderer.ts (1 hunks)
  • renderer/viewer/three/entities.ts (27 hunks)
  • renderer/viewer/three/entity/EntityMesh.ts (13 hunks)
  • renderer/viewer/three/entity/armorModels.json (4 hunks)
  • renderer/viewer/three/entity/exportedModels.js (1 hunks)
  • renderer/viewer/three/graphicsBackend.ts (1 hunks)
  • renderer/viewer/three/holdingBlock.ts (10 hunks)
  • renderer/viewer/three/panorama.ts (1 hunks)
  • renderer/viewer/three/threeJsMethods.ts (1 hunks)
  • renderer/viewer/three/threeJsSound.ts (1 hunks)
  • renderer/viewer/three/world/cursorBlock.ts (1 hunks)
  • renderer/viewer/three/world/vr.ts (5 hunks)
  • renderer/viewer/three/worldrendererThree.ts (1 hunks)
  • rsbuild.config.ts (7 hunks)
  • scripts/dockerPrepare.mjs (1 hunks)
  • scripts/genLargeDataAliases.ts (1 hunks)
  • scripts/genShims.ts (1 hunks)
  • scripts/makeOptimizedMcData.mjs (5 hunks)
  • scripts/prepareSounds.mjs (5 hunks)
  • scripts/testOptimizedMcdata.ts (3 hunks)
  • server.js (2 hunks)
  • src/api/mcStatusApi.ts (2 hunks)
  • src/appConfig.ts (1 hunks)
  • src/appParams.ts (4 hunks)
  • src/appStatus.ts (1 hunks)
  • src/appViewer.ts (1 hunks)
  • src/basicSounds.ts (1 hunks)
  • src/botUtils.ts (1 hunks)
  • src/browserfs.ts (2 hunks)
  • src/builtinCommands.ts (4 hunks)
  • src/cameraRotationControls.ts (2 hunks)
  • src/chatUtils.test.ts (0 hunks)
  • src/chatUtils.ts (2 hunks)
  • src/connect.ts (3 hunks)
  • src/controls.ts (12 hunks)
  • src/core/progressReporter.ts (1 hunks)
  • src/core/timers.ts (1 hunks)
  • src/customChannels.ts (2 hunks)
  • src/dayCycle.ts (1 hunks)
  • src/devReload.ts (0 hunks)
  • src/devtools.ts (2 hunks)
  • src/downloadAndOpenFile.ts (2 hunks)
  • src/dragndrop.ts (2 hunks)
  • src/entities.ts (3 hunks)
  • src/follow.ts (1 hunks)
  • src/globalDomListeners.ts (2 hunks)
  • src/globalState.ts (2 hunks)
  • src/globals.d.ts (2 hunks)
  • src/globals.js (1 hunks)
  • src/iframe.ts (1 hunks)
  • src/index.ts (19 hunks)
  • src/interactionShapesGenerated.json (43 hunks)
  • src/inventoryWindows.ts (14 hunks)
  • src/loadSave.ts (1 hunks)
⛔ Files not processed due to max files limit (36)
  • src/markdownToFormattedText.ts
  • src/microsoftAuthflow.ts
  • src/mineflayer/cameraShake.ts
  • src/mineflayer/items.ts
  • src/mineflayer/java-tester/commands.ts
  • src/mineflayer/maps.ts
  • src/mineflayer/mc-protocol.ts
  • src/mineflayer/minecraft-protocol-extra.ts
  • src/mineflayer/playerState.ts
  • src/mineflayer/plugins/mouse.ts
  • src/mineflayer/plugins/packetsPatcher.ts
  • src/mineflayer/plugins/packetsRecording.ts
  • src/mineflayer/plugins/ping.ts
  • src/mineflayer/timers.ts
  • src/optimizeJson.ts
  • src/optionsGuiScheme.tsx
  • src/optionsStorage.ts
  • src/packetsPatcher.ts
  • src/packetsReplay/packetsReplayLegacy.ts
  • src/packetsReplay/replayPackets.ts
  • src/packetsReplayBase.ts
  • src/panorama.ts
  • src/react/AddServerOrConnect.tsx
  • src/react/AppStatus.tsx
  • src/react/AppStatusProvider.tsx
  • src/react/AudioControls.tsx
  • src/react/Book.stories.tsx
  • src/react/BookProvider.tsx
  • src/react/BossBarOverlay.stories.tsx
  • src/react/BossBarOverlay.tsx
  • src/react/BossBarOverlayProvider.tsx
  • src/react/Chat.css
  • src/react/Chat.tsx
  • src/react/ChatProvider.tsx
  • src/react/DebugEdges.tsx
  • src/react/DebugOverlay.module.css

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kennethkoontz kennethkoontz deleted the ken-kra-800-fix-mouse-control-getting-stuck-in-iframe-during-runs branch October 31, 2025 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants