Finalize ECS conversion and implement light self-illumination

  • Refactor Scene, SfxSrc, and UI to fully utilize EnTT registry and views.
  • Implement self-illumination flag for PointLight and Spotlight to prevent self-shadowing.
  • Add a dynamic spotlight glow to the Player that follows head rotation.
  • Update shaders to support self-illumination using node ID texture.
  • Optimize NodeUi sorting and rendering in Render class.
  • Update gameplay and scene assets with new light properties and player positioning.
  • Update TODO list with completed rendering and editor tasks.

Didn’t get much done on the game yesterday. I tried to speedrun a switch from Pop!_OS to CachyOS, but I got stuck until 2 AM because my eGPU’s USB subsystem refused to initialize. I’ve put that on the backburner for now. Today, I finally finished the ECS conversion—moving the last bits of the scene graph over to EnTT. I also added self-illumination support to lights so they can be “inside” meshes without casting weird shadows on themselves, and gave the player a little flashlight-style glow.

Previous