module Stage.Loader.Types
( Stage
, Frame
, FrameResources(..)
, RunState(..)
) where
import Engine.Camera qualified as Camera
import Render.Basic qualified as Basic
import Render.DescSets.Set0 qualified as Set0
import Stage.Loader.UI (UI)
import Stage.Loader.UI qualified as UI
type Stage = Basic.Stage FrameResources RunState
type Frame = Basic.Frame FrameResources
data FrameResources = FrameResources
{ FrameResources -> FrameResource '[Scene]
frSceneUi :: Set0.FrameResource '[Set0.Scene]
, FrameResources -> Observer
frUI :: UI.Observer
}
data RunState = RunState
{ RunState -> ProjectionProcess
rsProjectionP :: Camera.ProjectionProcess
, :: Set0.Process
, RunState -> UI
rsUI :: UI
}