Skip to content

Conversation

@davesmith00000
Copy link
Member

This is the bulk of the work to replace the old entry points with the new 'next' versions, which are renamed to Game and eventually something like Game.Shader. It also means that all the sandboxes are now Tyrian apps running Indigo games via the Indigo extension, and there are a couple of open issues that have emerged so far (#44 and #45).

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a major architectural refactoring that removes the ViewModel concept from the game engine architecture, replacing the old entry points (IndigoGame, IndigoDemo, IndigoSandbox, IndigoShader) with a unified Game trait and moving from the indigo.next package to the main indigo package.

Changes:

  • Removed ViewModel as a separate type parameter from Game, Scene, and EventFilters - ViewModels are now embedded within the Model
  • Consolidated entry points into a single Game trait with a Game.ShaderToy subtype for shader development
  • Migrated all code from indigo.next.* package to indigo.* package and deleted the indigo-next module
  • Updated Tyrian App.extensions to accept flags parameter for proper configuration passing
  • Created BasicGameRuntime wrapper class for simplified game launching
  • Updated all sandbox implementations and test files to the new architecture

Reviewed changes

Copilot reviewed 113 out of 113 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
indigo/src/indigo/Game.scala New unified Game trait replacing IndigoGame/IndigoDemo with embedded ViewModel support
indigo/src/indigo/BasicGameRuntime.scala New runtime wrapper for simple game launching
indigo/src/indigo/scenes/Scene.scala Removed ViewModel type parameter and updateViewModel method
indigo-core/src/indigo/core/events/EventFilters.scala Removed viewModelFilter, now only has modelFilter
indigo/src/indigo/frameprocessors/GameFrameProcessor.scala Renamed from NextFrameProcessor, removed ViewModel handling
tyrian/src-js/tyrian/App.scala Updated extensions signature to accept flags parameter
indigo/src/indigo/Indigo.scala Updated Tyrian extension to properly pass flags to game
Multiple sandbox scenes Removed updateViewModel, viewModelLens, and SceneViewModel type aliases
Test files Updated to new architecture without ViewModel parameter
Deleted files Removed old entry points (IndigoGame.scala, IndigoDemo.scala, IndigoSandbox.scala, IndigoShader.scala) and indigo-next module

@davesmith00000 davesmith00000 force-pushed the issue/11/replace-old-entry-points branch from 57fe986 to 8f60e5d Compare February 2, 2026 00:05
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.

1 participant