diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-01-29 15:27:53 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-01-29 15:27:53 +0100 |
commit | fe9a7c6d0af59227ff34b098f2a5ba1359790ae8 (patch) | |
tree | 3bb7170620c4b914d8bc39127af1e4fb4627fab3 /ddl/out/TestData.purs | |
parent | 0c885c5c6bfb69c543635fd08d697ce44f24642d (diff) |
add Schema to IR module, also use namespace
Diffstat (limited to 'ddl/out/TestData.purs')
-rw-r--r-- | ddl/out/TestData.purs | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/ddl/out/TestData.purs b/ddl/out/TestData.purs new file mode 100644 index 0000000..4a0575b --- /dev/null +++ b/ddl/out/TestData.purs | |||
@@ -0,0 +1,209 @@ | |||
1 | -- generated file, do not modify! | ||
2 | -- 2016-01-28T13:15:31.27456Z | ||
3 | |||
4 | module TestData where | ||
5 | import Prelude | ||
6 | import Data.Generic | ||
7 | import Data.Maybe (Maybe(..)) | ||
8 | import Data.StrMap (StrMap(..)) | ||
9 | import Data.Map (Map(..)) | ||
10 | import Data.List (List(..)) | ||
11 | import Linear | ||
12 | |||
13 | import Data.Argonaut.Combinators ((~>), (:=), (.?)) | ||
14 | import Data.Argonaut.Core (jsonEmptyObject) | ||
15 | import Data.Argonaut.Printer (printJson) | ||
16 | import Data.Argonaut.Encode (EncodeJson, encodeJson) | ||
17 | import Data.Argonaut.Decode (DecodeJson, decodeJson) | ||
18 | |||
19 | import LambdaCube.IR | ||
20 | import LambdaCube.Mesh | ||
21 | import LambdaCube.PipelineSchema | ||
22 | |||
23 | data ClientInfo | ||
24 | = ClientInfo | ||
25 | { clientName :: String | ||
26 | , clientBackend :: Backend | ||
27 | } | ||
28 | |||
29 | |||
30 | data Frame | ||
31 | = Frame | ||
32 | { renderCount :: Int | ||
33 | , frameUniforms :: StrMap Value | ||
34 | , frameTextures :: StrMap Int | ||
35 | } | ||
36 | |||
37 | |||
38 | data Scene | ||
39 | = Scene | ||
40 | { objectArrays :: StrMap (Array Int) | ||
41 | , renderTargetWidth :: Int | ||
42 | , renderTargetHeight :: Int | ||
43 | , frames :: Array Frame | ||
44 | } | ||
45 | |||
46 | |||
47 | data RenderJob | ||
48 | = RenderJob | ||
49 | { meshes :: Array Mesh | ||
50 | , textures :: Array String | ||
51 | , schema :: PipelineSchema | ||
52 | , scenes :: Array Scene | ||
53 | , pipelines :: Array Pipeline | ||
54 | } | ||
55 | |||
56 | |||
57 | data FrameResult | ||
58 | = FrameResult | ||
59 | { frRenderTimes :: Array Float | ||
60 | , frImageWidth :: Int | ||
61 | , frImageHeight :: Int | ||
62 | } | ||
63 | |||
64 | |||
65 | data RenderJobResult | ||
66 | = RenderJobResult FrameResult | ||
67 | | RenderJobError String | ||
68 | |||
69 | |||
70 | |||
71 | instance encodeJsonClientInfo :: EncodeJson ClientInfo where | ||
72 | encodeJson v = case v of | ||
73 | ClientInfo r -> | ||
74 | "tag" := "ClientInfo" ~> | ||
75 | "clientName" := r.clientName ~> | ||
76 | "clientBackend" := r.clientBackend ~> | ||
77 | jsonEmptyObject | ||
78 | |||
79 | instance decodeJsonClientInfo :: DecodeJson ClientInfo where | ||
80 | decodeJson json = do | ||
81 | obj <- decodeJson json | ||
82 | tag <- obj .? "tag" | ||
83 | case tag of | ||
84 | "ClientInfo" -> do | ||
85 | clientName <- obj .? "clientName" | ||
86 | clientBackend <- obj .? "clientBackend" | ||
87 | pure $ ClientInfo | ||
88 | { clientName:clientName | ||
89 | , clientBackend:clientBackend | ||
90 | } | ||
91 | |||
92 | instance encodeJsonFrame :: EncodeJson Frame where | ||
93 | encodeJson v = case v of | ||
94 | Frame r -> | ||
95 | "tag" := "Frame" ~> | ||
96 | "renderCount" := r.renderCount ~> | ||
97 | "frameUniforms" := r.frameUniforms ~> | ||
98 | "frameTextures" := r.frameTextures ~> | ||
99 | jsonEmptyObject | ||
100 | |||
101 | instance decodeJsonFrame :: DecodeJson Frame where | ||
102 | decodeJson json = do | ||
103 | obj <- decodeJson json | ||
104 | tag <- obj .? "tag" | ||
105 | case tag of | ||
106 | "Frame" -> do | ||
107 | renderCount <- obj .? "renderCount" | ||
108 | frameUniforms <- obj .? "frameUniforms" | ||
109 | frameTextures <- obj .? "frameTextures" | ||
110 | pure $ Frame | ||
111 | { renderCount:renderCount | ||
112 | , frameUniforms:frameUniforms | ||
113 | , frameTextures:frameTextures | ||
114 | } | ||
115 | |||
116 | instance encodeJsonScene :: EncodeJson Scene where | ||
117 | encodeJson v = case v of | ||
118 | Scene r -> | ||
119 | "tag" := "Scene" ~> | ||
120 | "objectArrays" := r.objectArrays ~> | ||
121 | "renderTargetWidth" := r.renderTargetWidth ~> | ||
122 | "renderTargetHeight" := r.renderTargetHeight ~> | ||
123 | "frames" := r.frames ~> | ||
124 | jsonEmptyObject | ||
125 | |||
126 | instance decodeJsonScene :: DecodeJson Scene where | ||
127 | decodeJson json = do | ||
128 | obj <- decodeJson json | ||
129 | tag <- obj .? "tag" | ||
130 | case tag of | ||
131 | "Scene" -> do | ||
132 | objectArrays <- obj .? "objectArrays" | ||
133 | renderTargetWidth <- obj .? "renderTargetWidth" | ||
134 | renderTargetHeight <- obj .? "renderTargetHeight" | ||
135 | frames <- obj .? "frames" | ||
136 | pure $ Scene | ||
137 | { objectArrays:objectArrays | ||
138 | , renderTargetWidth:renderTargetWidth | ||
139 | , renderTargetHeight:renderTargetHeight | ||
140 | , frames:frames | ||
141 | } | ||
142 | |||
143 | instance encodeJsonRenderJob :: EncodeJson RenderJob where | ||
144 | encodeJson v = case v of | ||
145 | RenderJob r -> | ||
146 | "tag" := "RenderJob" ~> | ||
147 | "meshes" := r.meshes ~> | ||
148 | "textures" := r.textures ~> | ||
149 | "schema" := r.schema ~> | ||
150 | "scenes" := r.scenes ~> | ||
151 | "pipelines" := r.pipelines ~> | ||
152 | jsonEmptyObject | ||
153 | |||
154 | instance decodeJsonRenderJob :: DecodeJson RenderJob where | ||
155 | decodeJson json = do | ||
156 | obj <- decodeJson json | ||
157 | tag <- obj .? "tag" | ||
158 | case tag of | ||
159 | "RenderJob" -> do | ||
160 | meshes <- obj .? "meshes" | ||
161 | textures <- obj .? "textures" | ||
162 | schema <- obj .? "schema" | ||
163 | scenes <- obj .? "scenes" | ||
164 | pipelines <- obj .? "pipelines" | ||
165 | pure $ RenderJob | ||
166 | { meshes:meshes | ||
167 | , textures:textures | ||
168 | , schema:schema | ||
169 | , scenes:scenes | ||
170 | , pipelines:pipelines | ||
171 | } | ||
172 | |||
173 | instance encodeJsonFrameResult :: EncodeJson FrameResult where | ||
174 | encodeJson v = case v of | ||
175 | FrameResult r -> | ||
176 | "tag" := "FrameResult" ~> | ||
177 | "frRenderTimes" := r.frRenderTimes ~> | ||
178 | "frImageWidth" := r.frImageWidth ~> | ||
179 | "frImageHeight" := r.frImageHeight ~> | ||
180 | jsonEmptyObject | ||
181 | |||
182 | instance decodeJsonFrameResult :: DecodeJson FrameResult where | ||
183 | decodeJson json = do | ||
184 | obj <- decodeJson json | ||
185 | tag <- obj .? "tag" | ||
186 | case tag of | ||
187 | "FrameResult" -> do | ||
188 | frRenderTimes <- obj .? "frRenderTimes" | ||
189 | frImageWidth <- obj .? "frImageWidth" | ||
190 | frImageHeight <- obj .? "frImageHeight" | ||
191 | pure $ FrameResult | ||
192 | { frRenderTimes:frRenderTimes | ||
193 | , frImageWidth:frImageWidth | ||
194 | , frImageHeight:frImageHeight | ||
195 | } | ||
196 | |||
197 | instance encodeJsonRenderJobResult :: EncodeJson RenderJobResult where | ||
198 | encodeJson v = case v of | ||
199 | RenderJobResult arg0 -> "tag" := "RenderJobResult" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
200 | RenderJobError arg0 -> "tag" := "RenderJobError" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
201 | |||
202 | instance decodeJsonRenderJobResult :: DecodeJson RenderJobResult where | ||
203 | decodeJson json = do | ||
204 | obj <- decodeJson json | ||
205 | tag <- obj .? "tag" | ||
206 | case tag of | ||
207 | "RenderJobResult" -> RenderJobResult <$> obj .? "arg0" | ||
208 | "RenderJobError" -> RenderJobError <$> obj .? "arg0" | ||
209 | |||