{-# LANGUAGE DeriveAnyClass #-} -- {-# OPTIONS_GHC -fforce-recomp #-} module Global.Resource.CubeMap.Base ( Collection(..) , sources ) where import RIO import Data.Distributive (Distributive(..)) import Data.Distributive.Generic (genericCollect) import Data.Functor.Rep (Co(..), Representable) import GHC.Generics (Generic1) import Resource.Source (Source) import Resource.Source qualified as Source import Global.Resource.CubeMap.Base.Paths qualified as Paths data Collection a = Collection { black :: a } deriving stock (Show, Functor, Foldable, Traversable, Generic, Generic1) deriving Applicative via (Co Collection) deriving anyclass (Representable) instance Distributive Collection where collect = genericCollect sources :: Collection Source sources = Collection { black = $(Source.embedFile Paths.BLACK_KTX_ZST) }