@luma.gl/engine 8.5.8 → 8.6.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/animation/key-frames.d.ts +18 -0
  2. package/dist/animation/key-frames.d.ts.map +1 -0
  3. package/dist/{esm/animation → animation}/key-frames.js +13 -6
  4. package/dist/animation/key-frames.js.map +1 -0
  5. package/dist/animation/timeline.d.ts +51 -0
  6. package/dist/animation/timeline.d.ts.map +1 -0
  7. package/dist/{esm/animation → animation}/timeline.js +10 -5
  8. package/dist/animation/timeline.js.map +1 -0
  9. package/dist/bundle.d.ts +2 -0
  10. package/dist/bundle.d.ts.map +1 -0
  11. package/dist/bundle.js +5 -0
  12. package/dist/bundle.js.map +1 -0
  13. package/dist/geometries/cone-geometry.d.ts +10 -0
  14. package/dist/geometries/cone-geometry.d.ts.map +1 -0
  15. package/dist/{esm/geometries → geometries}/cone-geometry.js +2 -2
  16. package/dist/geometries/cone-geometry.js.map +1 -0
  17. package/dist/geometries/cube-geometry.d.ts +9 -0
  18. package/dist/geometries/cube-geometry.d.ts.map +1 -0
  19. package/dist/{esm/geometries → geometries}/cube-geometry.js +18 -18
  20. package/dist/geometries/cube-geometry.js.map +1 -0
  21. package/dist/geometries/cylinder-geometry.d.ts +10 -0
  22. package/dist/geometries/cylinder-geometry.d.ts.map +1 -0
  23. package/dist/{esm/geometries → geometries}/cylinder-geometry.js +2 -2
  24. package/dist/geometries/cylinder-geometry.js.map +1 -0
  25. package/dist/geometries/ico-sphere-geometry.d.ts +11 -0
  26. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -0
  27. package/dist/{esm/geometries → geometries}/ico-sphere-geometry.js +2 -2
  28. package/dist/geometries/ico-sphere-geometry.js.map +1 -0
  29. package/dist/geometries/plane-geometry.d.ts +10 -0
  30. package/dist/geometries/plane-geometry.d.ts.map +1 -0
  31. package/dist/{esm/geometries → geometries}/plane-geometry.js +5 -5
  32. package/dist/geometries/plane-geometry.js.map +1 -0
  33. package/dist/geometries/sphere-geometry.d.ts +12 -0
  34. package/dist/geometries/sphere-geometry.d.ts.map +1 -0
  35. package/dist/{esm/geometries → geometries}/sphere-geometry.js +2 -9
  36. package/dist/geometries/sphere-geometry.js.map +1 -0
  37. package/dist/geometries/truncated-cone-geometry.d.ts +13 -0
  38. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -0
  39. package/dist/{esm/geometries → geometries}/truncated-cone-geometry.js +1 -1
  40. package/dist/geometries/truncated-cone-geometry.js.map +1 -0
  41. package/dist/geometry/geometry-utils.d.ts +2 -0
  42. package/dist/geometry/geometry-utils.d.ts.map +1 -0
  43. package/dist/{esm/geometry → geometry}/geometry-utils.js +0 -0
  44. package/dist/geometry/geometry-utils.js.map +1 -0
  45. package/dist/geometry/geometry.d.ts +44 -0
  46. package/dist/geometry/geometry.d.ts.map +1 -0
  47. package/dist/{esm/geometry → geometry}/geometry.js +28 -19
  48. package/dist/geometry/geometry.js.map +1 -0
  49. package/dist/index.d.ts +26 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +17 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/lib/animation-loop.d.ts +149 -0
  54. package/dist/lib/animation-loop.d.ts.map +1 -0
  55. package/dist/{esm/lib → lib}/animation-loop.js +190 -143
  56. package/dist/lib/animation-loop.js.map +1 -0
  57. package/dist/lib/model-utils.d.ts +4 -0
  58. package/dist/lib/model-utils.d.ts.map +1 -0
  59. package/dist/{esm/lib → lib}/model-utils.js +3 -2
  60. package/dist/lib/model-utils.js.map +1 -0
  61. package/dist/lib/model.d.ts +109 -0
  62. package/dist/lib/model.d.ts.map +1 -0
  63. package/dist/{esm/lib → lib}/model.js +76 -20
  64. package/dist/lib/model.js.map +1 -0
  65. package/dist/lib/program-manager.d.ts +39 -0
  66. package/dist/lib/program-manager.d.ts.map +1 -0
  67. package/dist/{esm/lib → lib}/program-manager.js +29 -18
  68. package/dist/lib/program-manager.js.map +1 -0
  69. package/dist/lib/render-loop.d.ts +27 -0
  70. package/dist/lib/render-loop.d.ts.map +1 -0
  71. package/dist/lib/render-loop.js +56 -0
  72. package/dist/lib/render-loop.js.map +1 -0
  73. package/dist/transform/buffer-transform.d.ts +36 -0
  74. package/dist/transform/buffer-transform.d.ts.map +1 -0
  75. package/dist/{esm/transform → transform}/buffer-transform.js +15 -8
  76. package/dist/transform/buffer-transform.js.map +1 -0
  77. package/dist/transform/texture-transform.d.ts +57 -0
  78. package/dist/transform/texture-transform.d.ts.map +1 -0
  79. package/dist/{esm/transform → transform}/texture-transform.js +48 -16
  80. package/dist/transform/texture-transform.js.map +1 -0
  81. package/dist/transform/transform-shader-utils.d.ts +26 -0
  82. package/dist/transform/transform-shader-utils.d.ts.map +1 -0
  83. package/dist/{esm/transform → transform}/transform-shader-utils.js +38 -46
  84. package/dist/transform/transform-shader-utils.js.map +1 -0
  85. package/dist/transform/transform-types.d.ts +44 -0
  86. package/dist/transform/transform-types.d.ts.map +1 -0
  87. package/dist/transform/transform-types.js +2 -0
  88. package/dist/transform/transform-types.js.map +1 -0
  89. package/dist/transform/transform.d.ts +47 -0
  90. package/dist/transform/transform.d.ts.map +1 -0
  91. package/dist/{esm/transform → transform}/transform.js +63 -43
  92. package/dist/transform/transform.js.map +1 -0
  93. package/dist/utils/clip-space.d.ts +5 -0
  94. package/dist/utils/clip-space.d.ts.map +1 -0
  95. package/dist/{esm/utils → utils}/clip-space.js +3 -17
  96. package/dist/utils/clip-space.js.map +1 -0
  97. package/package.json +11 -11
  98. package/src/animation/{key-frames.js → key-frames.ts} +18 -16
  99. package/src/animation/{timeline.js → timeline.ts} +54 -18
  100. package/src/bundle.ts +4 -0
  101. package/src/geometries/{cone-geometry.js → cone-geometry.ts} +9 -3
  102. package/src/geometries/{cube-geometry.js → cube-geometry.ts} +17 -12
  103. package/src/geometries/cylinder-geometry.ts +20 -0
  104. package/src/geometries/{ico-sphere-geometry.js → ico-sphere-geometry.ts} +10 -3
  105. package/src/geometries/{plane-geometry.js → plane-geometry.ts} +11 -6
  106. package/src/geometries/{sphere-geometry.js → sphere-geometry.ts} +15 -11
  107. package/src/geometries/{truncated-cone-geometry.js → truncated-cone-geometry.ts} +14 -5
  108. package/src/geometry/{geometry-utils.js → geometry-utils.ts} +2 -0
  109. package/src/geometry/{geometry.js → geometry.ts} +47 -34
  110. package/src/index.ts +35 -0
  111. package/src/lib/animation-loop.ts +724 -0
  112. package/src/lib/{model-utils.js → model-utils.ts} +2 -2
  113. package/src/lib/{model.js → model.ts} +184 -66
  114. package/src/lib/{program-manager.js → program-manager.ts} +53 -34
  115. package/src/lib/render-loop.ts +56 -0
  116. package/src/transform/{buffer-transform.js → buffer-transform.ts} +42 -27
  117. package/src/transform/{texture-transform.js → texture-transform.ts} +35 -25
  118. package/src/transform/{transform-shader-utils.js → transform-shader-utils.ts} +55 -27
  119. package/src/transform/transform-types.ts +42 -0
  120. package/src/transform/transform.ts +189 -0
  121. package/src/utils/{clip-space.js → clip-space.ts} +4 -3
  122. package/dist/dist.js +0 -32403
  123. package/dist/dist.min.js +0 -1
  124. package/dist/es5/animation/key-frames.d.ts +0 -19
  125. package/dist/es5/animation/key-frames.js +0 -95
  126. package/dist/es5/animation/key-frames.js.map +0 -1
  127. package/dist/es5/animation/timeline.d.ts +0 -39
  128. package/dist/es5/animation/timeline.js +0 -211
  129. package/dist/es5/animation/timeline.js.map +0 -1
  130. package/dist/es5/bundle.js +0 -9
  131. package/dist/es5/bundle.js.map +0 -1
  132. package/dist/es5/geometries/cone-geometry.d.ts +0 -5
  133. package/dist/es5/geometries/cone-geometry.js +0 -59
  134. package/dist/es5/geometries/cone-geometry.js.map +0 -1
  135. package/dist/es5/geometries/cube-geometry.d.ts +0 -5
  136. package/dist/es5/geometries/cube-geometry.js +0 -75
  137. package/dist/es5/geometries/cube-geometry.js.map +0 -1
  138. package/dist/es5/geometries/cylinder-geometry.d.ts +0 -5
  139. package/dist/es5/geometries/cylinder-geometry.js +0 -55
  140. package/dist/es5/geometries/cylinder-geometry.js.map +0 -1
  141. package/dist/es5/geometries/ico-sphere-geometry.d.ts +0 -5
  142. package/dist/es5/geometries/ico-sphere-geometry.js +0 -217
  143. package/dist/es5/geometries/ico-sphere-geometry.js.map +0 -1
  144. package/dist/es5/geometries/index.d.ts +0 -7
  145. package/dist/es5/geometries/index.js +0 -64
  146. package/dist/es5/geometries/index.js.map +0 -1
  147. package/dist/es5/geometries/plane-geometry.d.ts +0 -5
  148. package/dist/es5/geometries/plane-geometry.js +0 -168
  149. package/dist/es5/geometries/plane-geometry.js.map +0 -1
  150. package/dist/es5/geometries/sphere-geometry.d.ts +0 -5
  151. package/dist/es5/geometries/sphere-geometry.js +0 -152
  152. package/dist/es5/geometries/sphere-geometry.js.map +0 -1
  153. package/dist/es5/geometries/truncated-cone-geometry.d.ts +0 -5
  154. package/dist/es5/geometries/truncated-cone-geometry.js +0 -171
  155. package/dist/es5/geometries/truncated-cone-geometry.js.map +0 -1
  156. package/dist/es5/geometry/geometry-utils.d.ts +0 -1
  157. package/dist/es5/geometry/geometry-utils.js +0 -49
  158. package/dist/es5/geometry/geometry-utils.js.map +0 -1
  159. package/dist/es5/geometry/geometry.d.ts +0 -25
  160. package/dist/es5/geometry/geometry.js +0 -150
  161. package/dist/es5/geometry/geometry.js.map +0 -1
  162. package/dist/es5/index.d.ts +0 -19
  163. package/dist/es5/index.js +0 -128
  164. package/dist/es5/index.js.map +0 -1
  165. package/dist/es5/lib/animation-loop.d.ts +0 -158
  166. package/dist/es5/lib/animation-loop.js +0 -642
  167. package/dist/es5/lib/animation-loop.js.map +0 -1
  168. package/dist/es5/lib/model-utils.d.ts +0 -3
  169. package/dist/es5/lib/model-utils.js +0 -110
  170. package/dist/es5/lib/model-utils.js.map +0 -1
  171. package/dist/es5/lib/model.d.ts +0 -214
  172. package/dist/es5/lib/model.js +0 -584
  173. package/dist/es5/lib/model.js.map +0 -1
  174. package/dist/es5/lib/program-manager.d.ts +0 -79
  175. package/dist/es5/lib/program-manager.js +0 -238
  176. package/dist/es5/lib/program-manager.js.map +0 -1
  177. package/dist/es5/transform/buffer-transform.d.ts +0 -13
  178. package/dist/es5/transform/buffer-transform.js +0 -294
  179. package/dist/es5/transform/buffer-transform.js.map +0 -1
  180. package/dist/es5/transform/resource-transform.d.ts +0 -16
  181. package/dist/es5/transform/texture-transform.d.ts +0 -16
  182. package/dist/es5/transform/texture-transform.js +0 -405
  183. package/dist/es5/transform/texture-transform.js.map +0 -1
  184. package/dist/es5/transform/transform-shader-utils.d.ts +0 -31
  185. package/dist/es5/transform/transform-shader-utils.js +0 -160
  186. package/dist/es5/transform/transform-shader-utils.js.map +0 -1
  187. package/dist/es5/transform/transform.d.ts +0 -33
  188. package/dist/es5/transform/transform.js +0 -274
  189. package/dist/es5/transform/transform.js.map +0 -1
  190. package/dist/es5/utils/clip-space.d.ts +0 -5
  191. package/dist/es5/utils/clip-space.js +0 -72
  192. package/dist/es5/utils/clip-space.js.map +0 -1
  193. package/dist/esm/animation/key-frames.d.ts +0 -19
  194. package/dist/esm/animation/key-frames.js.map +0 -1
  195. package/dist/esm/animation/timeline.d.ts +0 -39
  196. package/dist/esm/animation/timeline.js.map +0 -1
  197. package/dist/esm/bundle.js +0 -7
  198. package/dist/esm/bundle.js.map +0 -1
  199. package/dist/esm/geometries/cone-geometry.d.ts +0 -5
  200. package/dist/esm/geometries/cone-geometry.js.map +0 -1
  201. package/dist/esm/geometries/cube-geometry.d.ts +0 -5
  202. package/dist/esm/geometries/cube-geometry.js.map +0 -1
  203. package/dist/esm/geometries/cylinder-geometry.d.ts +0 -5
  204. package/dist/esm/geometries/cylinder-geometry.js.map +0 -1
  205. package/dist/esm/geometries/ico-sphere-geometry.d.ts +0 -5
  206. package/dist/esm/geometries/ico-sphere-geometry.js.map +0 -1
  207. package/dist/esm/geometries/index.d.ts +0 -7
  208. package/dist/esm/geometries/index.js +0 -8
  209. package/dist/esm/geometries/index.js.map +0 -1
  210. package/dist/esm/geometries/plane-geometry.d.ts +0 -5
  211. package/dist/esm/geometries/plane-geometry.js.map +0 -1
  212. package/dist/esm/geometries/sphere-geometry.d.ts +0 -5
  213. package/dist/esm/geometries/sphere-geometry.js.map +0 -1
  214. package/dist/esm/geometries/truncated-cone-geometry.d.ts +0 -5
  215. package/dist/esm/geometries/truncated-cone-geometry.js.map +0 -1
  216. package/dist/esm/geometry/geometry-utils.d.ts +0 -1
  217. package/dist/esm/geometry/geometry-utils.js.map +0 -1
  218. package/dist/esm/geometry/geometry.d.ts +0 -25
  219. package/dist/esm/geometry/geometry.js.map +0 -1
  220. package/dist/esm/index.d.ts +0 -19
  221. package/dist/esm/index.js +0 -16
  222. package/dist/esm/index.js.map +0 -1
  223. package/dist/esm/lib/animation-loop.d.ts +0 -158
  224. package/dist/esm/lib/animation-loop.js.map +0 -1
  225. package/dist/esm/lib/model-utils.d.ts +0 -3
  226. package/dist/esm/lib/model-utils.js.map +0 -1
  227. package/dist/esm/lib/model.d.ts +0 -214
  228. package/dist/esm/lib/model.js.map +0 -1
  229. package/dist/esm/lib/program-manager.d.ts +0 -79
  230. package/dist/esm/lib/program-manager.js.map +0 -1
  231. package/dist/esm/transform/buffer-transform.d.ts +0 -13
  232. package/dist/esm/transform/buffer-transform.js.map +0 -1
  233. package/dist/esm/transform/resource-transform.d.ts +0 -16
  234. package/dist/esm/transform/texture-transform.d.ts +0 -16
  235. package/dist/esm/transform/texture-transform.js.map +0 -1
  236. package/dist/esm/transform/transform-shader-utils.d.ts +0 -31
  237. package/dist/esm/transform/transform-shader-utils.js.map +0 -1
  238. package/dist/esm/transform/transform.d.ts +0 -33
  239. package/dist/esm/transform/transform.js.map +0 -1
  240. package/dist/esm/utils/clip-space.d.ts +0 -5
  241. package/dist/esm/utils/clip-space.js.map +0 -1
  242. package/src/animation/key-frames.d.ts +0 -19
  243. package/src/animation/timeline.d.ts +0 -39
  244. package/src/bundle.js +0 -7
  245. package/src/geometries/cone-geometry.d.ts +0 -5
  246. package/src/geometries/cube-geometry.d.ts +0 -5
  247. package/src/geometries/cylinder-geometry.d.ts +0 -5
  248. package/src/geometries/cylinder-geometry.js +0 -14
  249. package/src/geometries/ico-sphere-geometry.d.ts +0 -5
  250. package/src/geometries/index.d.ts +0 -7
  251. package/src/geometries/index.js +0 -7
  252. package/src/geometries/plane-geometry.d.ts +0 -5
  253. package/src/geometries/sphere-geometry.d.ts +0 -5
  254. package/src/geometries/truncated-cone-geometry.d.ts +0 -5
  255. package/src/geometry/geometry-utils.d.ts +0 -1
  256. package/src/geometry/geometry.d.ts +0 -25
  257. package/src/index.d.ts +0 -19
  258. package/src/index.js +0 -22
  259. package/src/lib/animation-loop.d.ts +0 -158
  260. package/src/lib/animation-loop.js +0 -601
  261. package/src/lib/model-utils.d.ts +0 -3
  262. package/src/lib/model.d.ts +0 -214
  263. package/src/lib/program-manager.d.ts +0 -79
  264. package/src/transform/buffer-transform.d.ts +0 -13
  265. package/src/transform/resource-transform.d.ts +0 -16
  266. package/src/transform/texture-transform.d.ts +0 -16
  267. package/src/transform/transform-shader-utils.d.ts +0 -31
  268. package/src/transform/transform.d.ts +0 -33
  269. package/src/transform/transform.js +0 -177
  270. package/src/utils/clip-space.d.ts +0 -5
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/transform/transform-shader-utils.js"],"names":["SAMPLER_UNIFORM_PREFIX","SIZE_UNIFORM_PREFIX","VS_POS_VARIABLE","updateForTextures","vs","sourceTextureMap","targetTextureVarying","targetTexture","texAttributeNames","Object","keys","sourceCount","length","targetTextureType","samplerTextureMap","updatedVs","finalInject","vsLines","split","updateVsLines","slice","forEach","line","index","lines","updated","processAttributeDefinition","updatedLine","inject","assign","getVaryingType","sizeName","uniformDeclaration","posInstructions","join","getSizeUniforms","uniforms","width","height","textureName","getAttributeDefinition","getSamplerDeclerations","samplerName","uniformDeclerations","varying","qualaiferDetails","name","type","textureMap","attributeData","channels","sampleInstruction"],"mappings":"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","sourcesContent":["import {assert} from '@luma.gl/webgl';\nimport {combineInjects, getQualifierDetails, typeToChannelSuffix} from '@luma.gl/shadertools';\n\nconst SAMPLER_UNIFORM_PREFIX = 'transform_uSampler_';\nconst SIZE_UNIFORM_PREFIX = 'transform_uSize_';\nconst VS_POS_VARIABLE = 'transform_position';\n\n// Scan provided vertex shader\n// for each texture attribute, inject sampler instructions and build uniforms for sampler\n// for texture target, get varying type and inject position instruction\nexport function updateForTextures({vs, sourceTextureMap, targetTextureVarying, targetTexture}) {\n const texAttributeNames = Object.keys(sourceTextureMap);\n let sourceCount = texAttributeNames.length;\n let targetTextureType = null;\n const samplerTextureMap = {};\n let updatedVs = vs;\n let finalInject = {};\n\n if (sourceCount > 0 || targetTextureVarying) {\n const vsLines = updatedVs.split('\\n');\n const updateVsLines = vsLines.slice();\n vsLines.forEach((line, index, lines) => {\n // TODO add early exit\n if (sourceCount > 0) {\n const updated = processAttributeDefinition(line, sourceTextureMap);\n if (updated) {\n const {updatedLine, inject} = updated;\n updateVsLines[index] = updatedLine;\n // sampleInstructions.push(sampleInstruction);\n finalInject = combineInjects([finalInject, inject]);\n Object.assign(samplerTextureMap, updated.samplerTextureMap);\n sourceCount--;\n }\n }\n if (targetTextureVarying && !targetTextureType) {\n targetTextureType = getVaryingType(line, targetTextureVarying);\n }\n });\n\n if (targetTextureVarying) {\n assert(targetTexture);\n const sizeName = `${SIZE_UNIFORM_PREFIX}${targetTextureVarying}`;\n\n const uniformDeclaration = `uniform vec2 ${sizeName};\\n`;\n const posInstructions = `\\\n vec2 ${VS_POS_VARIABLE} = transform_getPos(${sizeName});\n gl_Position = vec4(${VS_POS_VARIABLE}, 0, 1.);\\n`;\n const inject = {\n 'vs:#decl': uniformDeclaration,\n 'vs:#main-start': posInstructions\n };\n finalInject = combineInjects([finalInject, inject]);\n }\n updatedVs = updateVsLines.join('\\n');\n }\n return {\n // updated vertex shader (commented texture attribute definition)\n vs: updatedVs,\n // type (float, vec2, vec3 of vec4) target texture varying\n targetTextureType,\n // required vertex and fragment shader injects\n inject: finalInject,\n // map of sampler name to texture name, can be used to set attributes\n // usefull when swapping textures, as source and destination texture change when swap is called.\n samplerTextureMap\n };\n}\n\n// builds and returns an object contaning size uniform for each texture\nexport function getSizeUniforms({sourceTextureMap, targetTextureVarying, targetTexture}) {\n const uniforms = {};\n let width;\n let height;\n if (targetTextureVarying) {\n ({width, height} = targetTexture);\n uniforms[`${SIZE_UNIFORM_PREFIX}${targetTextureVarying}`] = [width, height];\n }\n for (const textureName in sourceTextureMap) {\n ({width, height} = sourceTextureMap[textureName]);\n uniforms[`${SIZE_UNIFORM_PREFIX}${textureName}`] = [width, height];\n }\n return uniforms;\n}\n\n// Checks if provided line is defining an attribute, if so returns details otherwise null\nfunction getAttributeDefinition(line) {\n return getQualifierDetails(line, ['attribute', 'in']);\n}\n\nfunction getSamplerDeclerations(textureName) {\n const samplerName = `${SAMPLER_UNIFORM_PREFIX}${textureName}`;\n const sizeName = `${SIZE_UNIFORM_PREFIX}${textureName}`;\n const uniformDeclerations = `\\\n uniform sampler2D ${samplerName};\n uniform vec2 ${sizeName};`;\n return {samplerName, sizeName, uniformDeclerations};\n}\n\n// Return size (float, vec2 etc) of a given varying, null if doens't exist.\nexport function getVaryingType(line, varying) {\n const qualaiferDetails = getQualifierDetails(line, ['varying', 'out']);\n if (!qualaiferDetails) {\n return null;\n }\n return qualaiferDetails.name === varying ? qualaiferDetails.type : null;\n}\n\n// build required definitions, sample instructions for each texture attribute\nexport function processAttributeDefinition(line, textureMap) {\n const samplerTextureMap = {};\n const attributeData = getAttributeDefinition(line);\n if (!attributeData) {\n return null;\n }\n const {type, name} = attributeData;\n if (name && textureMap[name]) {\n // eslint-disable-next-line no-useless-escape\n const updatedLine = `\\// ${line} => Replaced by Transform with a sampler`;\n const {samplerName, sizeName, uniformDeclerations} = getSamplerDeclerations(name);\n\n const channels = typeToChannelSuffix(type);\n const sampleInstruction = ` ${type} ${name} = transform_getInput(${samplerName}, ${sizeName}).${channels};\\n`;\n\n samplerTextureMap[samplerName] = name;\n const inject = {\n 'vs:#decl': uniformDeclerations,\n 'vs:#main-start': sampleInstruction\n };\n\n // samplerNameMap\n return {\n // update vertex shader line.\n updatedLine,\n // inject object with sampler instructions.\n inject,\n // sampler name to texture name map\n samplerTextureMap\n };\n }\n return null;\n}\n"],"file":"transform-shader-utils.js"}
@@ -1,33 +0,0 @@
1
- import Model from '../lib/model';
2
-
3
- export type TransformProps = {
4
- vs?: string;
5
- elementCount?: number;
6
- sourceBuffers?: object;
7
- feedbackBuffers?: object;
8
- varyings?: string[];
9
- feedbackMap?: object;
10
- modules?: object[]; // TODO use ShaderModule type
11
- _sourceTextures?: any;
12
- _targetTexture?: any;
13
- _targetTextureVarying?: string;
14
- _swapTexture?: string;
15
- _fs?: string;
16
- inject?: any;
17
- drawMode?: number;
18
- };
19
-
20
- export default class Transform {
21
- readonly model: Model;
22
-
23
- static isSupported(gl: WebGLRenderingContext): any;
24
- constructor(gl: WebGLRenderingContext, props?: TransformProps);
25
- delete(): void;
26
- run(opts?: {}): void;
27
- swap(): void;
28
- getBuffer(varyingName?: any): any;
29
- // TODO - mix of options for buffers and textures
30
- getData(opts?: {packed?: boolean; varyingName?: string}): any;
31
- getFramebuffer(): any;
32
- update(opts?: TransformProps): void;
33
- }
@@ -1,274 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _shadertools = require("@luma.gl/shadertools");
15
-
16
- var _bufferTransform = _interopRequireDefault(require("./buffer-transform"));
17
-
18
- var _textureTransform = _interopRequireDefault(require("./texture-transform"));
19
-
20
- var _gltools = require("@luma.gl/gltools");
21
-
22
- var _webgl = require("@luma.gl/webgl");
23
-
24
- var _model = _interopRequireDefault(require("../lib/model"));
25
-
26
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
27
-
28
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
-
30
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31
-
32
- var Transform = function () {
33
- (0, _createClass2.default)(Transform, null, [{
34
- key: "isSupported",
35
- value: function isSupported(gl) {
36
- return (0, _gltools.isWebGL2)(gl);
37
- }
38
- }]);
39
-
40
- function Transform(gl) {
41
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
42
- (0, _classCallCheck2.default)(this, Transform);
43
- this.gl = gl;
44
- this.model = null;
45
- this.elementCount = 0;
46
- this.bufferTransform = null;
47
- this.textureTransform = null;
48
- this.elementIDBuffer = null;
49
-
50
- this._initialize(props);
51
-
52
- Object.seal(this);
53
- }
54
-
55
- (0, _createClass2.default)(Transform, [{
56
- key: "delete",
57
- value: function _delete() {
58
- var model = this.model,
59
- bufferTransform = this.bufferTransform,
60
- textureTransform = this.textureTransform;
61
-
62
- if (model) {
63
- model.delete();
64
- }
65
-
66
- if (bufferTransform) {
67
- bufferTransform.delete();
68
- }
69
-
70
- if (textureTransform) {
71
- textureTransform.delete();
72
- }
73
- }
74
- }, {
75
- key: "run",
76
- value: function run() {
77
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
- var _opts$clearRenderTarg = opts.clearRenderTarget,
79
- clearRenderTarget = _opts$clearRenderTarg === void 0 ? true : _opts$clearRenderTarg;
80
-
81
- var updatedOpts = this._updateDrawOptions(opts);
82
-
83
- if (clearRenderTarget && updatedOpts.framebuffer) {
84
- updatedOpts.framebuffer.clear({
85
- color: true
86
- });
87
- }
88
-
89
- this.model.transform(updatedOpts);
90
- }
91
- }, {
92
- key: "swap",
93
- value: function swap() {
94
- var swapped = false;
95
- var resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);
96
-
97
- var _iterator = _createForOfIteratorHelper(resourceTransforms),
98
- _step;
99
-
100
- try {
101
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
102
- var resourceTransform = _step.value;
103
- swapped = swapped || resourceTransform.swap();
104
- }
105
- } catch (err) {
106
- _iterator.e(err);
107
- } finally {
108
- _iterator.f();
109
- }
110
-
111
- (0, _webgl.assert)(swapped, 'Nothing to swap');
112
- }
113
- }, {
114
- key: "getBuffer",
115
- value: function getBuffer() {
116
- var varyingName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
117
- return this.bufferTransform && this.bufferTransform.getBuffer(varyingName);
118
- }
119
- }, {
120
- key: "getData",
121
- value: function getData() {
122
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
123
- var resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);
124
-
125
- var _iterator2 = _createForOfIteratorHelper(resourceTransforms),
126
- _step2;
127
-
128
- try {
129
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
130
- var resourceTransform = _step2.value;
131
- var data = resourceTransform.getData(opts);
132
-
133
- if (data) {
134
- return data;
135
- }
136
- }
137
- } catch (err) {
138
- _iterator2.e(err);
139
- } finally {
140
- _iterator2.f();
141
- }
142
-
143
- return null;
144
- }
145
- }, {
146
- key: "getFramebuffer",
147
- value: function getFramebuffer() {
148
- return this.textureTransform && this.textureTransform.getFramebuffer();
149
- }
150
- }, {
151
- key: "update",
152
- value: function update() {
153
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
154
-
155
- if ('elementCount' in opts) {
156
- this.model.setVertexCount(opts.elementCount);
157
- }
158
-
159
- var resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);
160
-
161
- var _iterator3 = _createForOfIteratorHelper(resourceTransforms),
162
- _step3;
163
-
164
- try {
165
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
166
- var resourceTransform = _step3.value;
167
- resourceTransform.update(opts);
168
- }
169
- } catch (err) {
170
- _iterator3.e(err);
171
- } finally {
172
- _iterator3.f();
173
- }
174
- }
175
- }, {
176
- key: "_initialize",
177
- value: function _initialize() {
178
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
179
- var gl = this.gl;
180
-
181
- this._buildResourceTransforms(gl, props);
182
-
183
- props = this._updateModelProps(props);
184
- this.model = new _model.default(gl, Object.assign({}, props, {
185
- fs: props.fs || (0, _shadertools.getPassthroughFS)({
186
- version: (0, _webgl.getShaderVersion)(props.vs)
187
- }),
188
- id: props.id || 'transform-model',
189
- drawMode: props.drawMode || 0,
190
- vertexCount: props.elementCount
191
- }));
192
- this.bufferTransform && this.bufferTransform.setupResources({
193
- model: this.model
194
- });
195
- }
196
- }, {
197
- key: "_updateModelProps",
198
- value: function _updateModelProps(props) {
199
- var updatedProps = Object.assign({}, props);
200
- var resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);
201
-
202
- var _iterator4 = _createForOfIteratorHelper(resourceTransforms),
203
- _step4;
204
-
205
- try {
206
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
207
- var resourceTransform = _step4.value;
208
- updatedProps = resourceTransform.updateModelProps(updatedProps);
209
- }
210
- } catch (err) {
211
- _iterator4.e(err);
212
- } finally {
213
- _iterator4.f();
214
- }
215
-
216
- return updatedProps;
217
- }
218
- }, {
219
- key: "_buildResourceTransforms",
220
- value: function _buildResourceTransforms(gl, props) {
221
- if (canCreateBufferTransform(props)) {
222
- this.bufferTransform = new _bufferTransform.default(gl, props);
223
- }
224
-
225
- if (canCreateTextureTransform(props)) {
226
- this.textureTransform = new _textureTransform.default(gl, props);
227
- }
228
-
229
- (0, _webgl.assert)(this.bufferTransform || this.textureTransform, 'must provide source/feedback buffers or source/target textures');
230
- }
231
- }, {
232
- key: "_updateDrawOptions",
233
- value: function _updateDrawOptions(opts) {
234
- var updatedOpts = Object.assign({}, opts);
235
- var resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);
236
-
237
- var _iterator5 = _createForOfIteratorHelper(resourceTransforms),
238
- _step5;
239
-
240
- try {
241
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
242
- var resourceTransform = _step5.value;
243
- updatedOpts = Object.assign(updatedOpts, resourceTransform.getDrawOptions(updatedOpts));
244
- }
245
- } catch (err) {
246
- _iterator5.e(err);
247
- } finally {
248
- _iterator5.f();
249
- }
250
-
251
- return updatedOpts;
252
- }
253
- }]);
254
- return Transform;
255
- }();
256
-
257
- exports.default = Transform;
258
-
259
- function canCreateBufferTransform(props) {
260
- if (!(0, _webgl.isObjectEmpty)(props.feedbackBuffers) || !(0, _webgl.isObjectEmpty)(props.feedbackMap) || props.varyings && props.varyings.length > 0) {
261
- return true;
262
- }
263
-
264
- return false;
265
- }
266
-
267
- function canCreateTextureTransform(props) {
268
- if (!(0, _webgl.isObjectEmpty)(props._sourceTextures) || props._targetTexture || props._targetTextureVarying) {
269
- return true;
270
- }
271
-
272
- return false;
273
- }
274
- //# sourceMappingURL=transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/transform/transform.js"],"names":["Transform","gl","props","model","elementCount","bufferTransform","textureTransform","elementIDBuffer","_initialize","Object","seal","delete","opts","clearRenderTarget","updatedOpts","_updateDrawOptions","framebuffer","clear","color","transform","swapped","resourceTransforms","filter","Boolean","resourceTransform","swap","varyingName","getBuffer","data","getData","getFramebuffer","setVertexCount","update","_buildResourceTransforms","_updateModelProps","Model","assign","fs","version","vs","id","drawMode","vertexCount","setupResources","updatedProps","updateModelProps","canCreateBufferTransform","BufferTransform","canCreateTextureTransform","TextureTransform","getDrawOptions","feedbackBuffers","feedbackMap","varyings","length","_sourceTextures","_targetTexture","_targetTextureVarying"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {getPassthroughFS} from '@luma.gl/shadertools';\nimport BufferTransform from './buffer-transform';\nimport TextureTransform from './texture-transform';\n\nimport {isWebGL2} from '@luma.gl/gltools';\nimport {assert, isObjectEmpty, getShaderVersion} from '@luma.gl/webgl';\nimport Model from '../lib/model';\n\n// takes source and target buffers/textures and setsup the pipeline\nexport default class Transform {\n static isSupported(gl) {\n // TODO : differentiate writting to buffer vs not\n return isWebGL2(gl);\n }\n\n constructor(gl, props = {}) {\n this.gl = gl;\n this.model = null;\n this.elementCount = 0;\n this.bufferTransform = null;\n this.textureTransform = null;\n this.elementIDBuffer = null;\n this._initialize(props);\n Object.seal(this);\n }\n\n // Delete owned resources.\n delete() {\n const {model, bufferTransform, textureTransform} = this;\n if (model) {\n model.delete();\n }\n if (bufferTransform) {\n bufferTransform.delete();\n }\n if (textureTransform) {\n textureTransform.delete();\n }\n }\n\n // Run one transform loop.\n run(opts = {}) {\n const {clearRenderTarget = true} = opts;\n\n const updatedOpts = this._updateDrawOptions(opts);\n\n if (clearRenderTarget && updatedOpts.framebuffer) {\n updatedOpts.framebuffer.clear({color: true});\n }\n\n this.model.transform(updatedOpts);\n }\n\n // swap resources if a map is provided\n swap() {\n let swapped = false;\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n swapped = swapped || resourceTransform.swap();\n }\n assert(swapped, 'Nothing to swap');\n }\n\n // Return Buffer object for given varying name.\n getBuffer(varyingName = null) {\n return this.bufferTransform && this.bufferTransform.getBuffer(varyingName);\n }\n\n // Return data either from Buffer or from Texture\n getData(opts = {}) {\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n // @ts-ignore\n const data = resourceTransform.getData(opts);\n if (data) {\n return data;\n }\n }\n return null;\n }\n\n // Return framebuffer object if rendering to textures\n getFramebuffer() {\n return this.textureTransform && this.textureTransform.getFramebuffer();\n }\n\n // Update some or all buffer/texture bindings.\n update(opts = {}) {\n if ('elementCount' in opts) {\n // @ts-ignore TODO\n this.model.setVertexCount(opts.elementCount);\n }\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n resourceTransform.update(opts);\n }\n }\n\n // Private\n\n _initialize(props = {}) {\n const {gl} = this;\n this._buildResourceTransforms(gl, props);\n\n props = this._updateModelProps(props);\n this.model = new Model(\n gl,\n Object.assign({}, props, {\n fs: props.fs || getPassthroughFS({version: getShaderVersion(props.vs)}),\n id: props.id || 'transform-model',\n drawMode: props.drawMode || GL.POINTS,\n vertexCount: props.elementCount\n })\n );\n\n /* eslint-disable no-unused-expressions */\n this.bufferTransform && this.bufferTransform.setupResources({model: this.model});\n /* eslint-enable no-unused-expressions */\n }\n\n _updateModelProps(props) {\n let updatedProps = Object.assign({}, props);\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n updatedProps = resourceTransform.updateModelProps(updatedProps);\n }\n return updatedProps;\n }\n\n _buildResourceTransforms(gl, props) {\n if (canCreateBufferTransform(props)) {\n this.bufferTransform = new BufferTransform(gl, props);\n }\n if (canCreateTextureTransform(props)) {\n this.textureTransform = new TextureTransform(gl, props);\n }\n assert(\n this.bufferTransform || this.textureTransform,\n 'must provide source/feedback buffers or source/target textures'\n );\n }\n\n _updateDrawOptions(opts) {\n let updatedOpts = Object.assign({}, opts);\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n updatedOpts = Object.assign(updatedOpts, resourceTransform.getDrawOptions(updatedOpts));\n }\n return updatedOpts;\n }\n}\n\n// Helper Methods\n\nfunction canCreateBufferTransform(props) {\n if (\n !isObjectEmpty(props.feedbackBuffers) ||\n !isObjectEmpty(props.feedbackMap) ||\n (props.varyings && props.varyings.length > 0)\n ) {\n return true;\n }\n return false;\n}\n\nfunction canCreateTextureTransform(props) {\n if (\n !isObjectEmpty(props._sourceTextures) ||\n props._targetTexture ||\n props._targetTextureVarying\n ) {\n return true;\n }\n\n return false;\n}\n"],"file":"transform.js"}
@@ -1,5 +0,0 @@
1
- import Model, {ModelProps} from '../lib/model';
2
-
3
- export default class ClipSpace extends Model {
4
- constructor(gl: WebGLRenderingContext, opts?: ModelProps);
5
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
-
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
-
16
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
-
18
- var _model = _interopRequireDefault(require("../lib/model"));
19
-
20
- var _geometry = _interopRequireDefault(require("../geometry/geometry"));
21
-
22
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
-
24
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
25
-
26
- var CLIPSPACE_VERTEX_SHADER = "attribute vec2 aClipSpacePosition;\nattribute vec2 aTexCoord;\nattribute vec2 aCoordinate;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main(void) {\n gl_Position = vec4(aClipSpacePosition, 0., 1.);\n position = aClipSpacePosition;\n coordinate = aCoordinate;\n uv = aTexCoord;\n}\n";
27
- var POSITIONS = [-1, -1, 1, -1, -1, 1, 1, 1];
28
-
29
- var ClipSpace = function (_Model) {
30
- (0, _inherits2.default)(ClipSpace, _Model);
31
-
32
- var _super = _createSuper(ClipSpace);
33
-
34
- function ClipSpace(gl, opts) {
35
- var _this;
36
-
37
- (0, _classCallCheck2.default)(this, ClipSpace);
38
- var TEX_COORDS = POSITIONS.map(function (coord) {
39
- return coord === -1 ? 0 : coord;
40
- });
41
- _this = _super.call(this, gl, Object.assign({}, opts, {
42
- vs: CLIPSPACE_VERTEX_SHADER,
43
- geometry: new _geometry.default({
44
- drawMode: 5,
45
- vertexCount: 4,
46
- attributes: {
47
- aClipSpacePosition: {
48
- size: 2,
49
- value: new Float32Array(POSITIONS)
50
- },
51
- aTexCoord: {
52
- size: 2,
53
- value: new Float32Array(TEX_COORDS)
54
- },
55
- aCoordinate: {
56
- size: 2,
57
- value: new Float32Array(TEX_COORDS)
58
- }
59
- }
60
- })
61
- }));
62
-
63
- _this.setVertexCount(4);
64
-
65
- return _this;
66
- }
67
-
68
- return ClipSpace;
69
- }(_model.default);
70
-
71
- exports.default = ClipSpace;
72
- //# sourceMappingURL=clip-space.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/clip-space.js"],"names":["CLIPSPACE_VERTEX_SHADER","POSITIONS","ClipSpace","gl","opts","TEX_COORDS","map","coord","Object","assign","vs","geometry","Geometry","drawMode","vertexCount","attributes","aClipSpacePosition","size","value","Float32Array","aTexCoord","aCoordinate","setVertexCount","Model"],"mappings":";;;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;AAEA,IAAMA,uBAAuB,oUAA7B;AAkBA,IAAMC,SAAS,GAAG,CAAC,CAAC,CAAF,EAAK,CAAC,CAAN,EAAS,CAAT,EAAY,CAAC,CAAb,EAAgB,CAAC,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,CAAlB;;IAEqBC,S;;;;;AACnB,qBAAYC,EAAZ,EAAgBC,IAAhB,EAAsB;AAAA;;AAAA;AACpB,QAAMC,UAAU,GAAGJ,SAAS,CAACK,GAAV,CAAc,UAAAC,KAAK;AAAA,aAAKA,KAAK,KAAK,CAAC,CAAX,GAAe,CAAf,GAAmBA,KAAxB;AAAA,KAAnB,CAAnB;AAEA,8BACEJ,EADF,EAEEK,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,IAAlB,EAAwB;AACtBM,MAAAA,EAAE,EAAEV,uBADkB;AAEtBW,MAAAA,QAAQ,EAAE,IAAIC,iBAAJ,CAAa;AACrBC,QAAAA,QAAQ,GADa;AAErBC,QAAAA,WAAW,EAAE,CAFQ;AAGrBC,QAAAA,UAAU,EAAE;AACVC,UAAAA,kBAAkB,EAAE;AAACC,YAAAA,IAAI,EAAE,CAAP;AAAUC,YAAAA,KAAK,EAAE,IAAIC,YAAJ,CAAiBlB,SAAjB;AAAjB,WADV;AAEVmB,UAAAA,SAAS,EAAE;AAACH,YAAAA,IAAI,EAAE,CAAP;AAAUC,YAAAA,KAAK,EAAE,IAAIC,YAAJ,CAAiBd,UAAjB;AAAjB,WAFD;AAGVgB,UAAAA,WAAW,EAAE;AAACJ,YAAAA,IAAI,EAAE,CAAP;AAAUC,YAAAA,KAAK,EAAE,IAAIC,YAAJ,CAAiBd,UAAjB;AAAjB;AAHH;AAHS,OAAb;AAFY,KAAxB,CAFF;;AAeA,UAAKiB,cAAL,CAAoB,CAApB;;AAlBoB;AAmBrB;;;EApBoCC,c","sourcesContent":["// ClipSpace\nimport GL from '@luma.gl/constants';\nimport Model from '../lib/model';\nimport Geometry from '../geometry/geometry';\n\nconst CLIPSPACE_VERTEX_SHADER = `\\\nattribute vec2 aClipSpacePosition;\nattribute vec2 aTexCoord;\nattribute vec2 aCoordinate;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main(void) {\n gl_Position = vec4(aClipSpacePosition, 0., 1.);\n position = aClipSpacePosition;\n coordinate = aCoordinate;\n uv = aTexCoord;\n}\n`;\n\n/* eslint-disable indent, no-multi-spaces */\nconst POSITIONS = [-1, -1, 1, -1, -1, 1, 1, 1];\n\nexport default class ClipSpace extends Model {\n constructor(gl, opts) {\n const TEX_COORDS = POSITIONS.map(coord => (coord === -1 ? 0 : coord));\n\n super(\n gl,\n Object.assign({}, opts, {\n vs: CLIPSPACE_VERTEX_SHADER,\n geometry: new Geometry({\n drawMode: GL.TRIANGLE_STRIP,\n vertexCount: 4,\n attributes: {\n aClipSpacePosition: {size: 2, value: new Float32Array(POSITIONS)},\n aTexCoord: {size: 2, value: new Float32Array(TEX_COORDS)},\n aCoordinate: {size: 2, value: new Float32Array(TEX_COORDS)}\n }\n })\n })\n );\n this.setVertexCount(4);\n }\n}\n"],"file":"clip-space.js"}
@@ -1,19 +0,0 @@
1
- type KeyFrame<T> = [number, T]
2
-
3
- export class KeyFrames<T> {
4
- _lastTime: number
5
- startIndex: number
6
- endIndex: number
7
- factor: number
8
- times: Array<number>
9
- values: Array<T>
10
-
11
- constructor(keyFrames: Array<KeyFrame<T>> | number[][]);
12
- setKeyFrames(keyFrames: Array<KeyFrame<T>> | number[][]): void;
13
- setTime(time: number): void;
14
- getStartTime(): number;
15
- getEndTime(): number;
16
- getStartData(): T;
17
- getEndData(): T;
18
- _calculateKeys(time: number): void;
19
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/animation/key-frames.js"],"names":["KeyFrames","constructor","keyFrames","_lastTime","startIndex","endIndex","factor","times","values","setKeyFrames","setTime","numKeys","length","i","_calculateKeys","time","Math","max","getStartTime","getEndTime","getStartData","getEndData","index","startTime","endTime","min"],"mappings":"AAEA,OAAO,MAAMA,SAAN,CAAgB;AACrBC,EAAAA,WAAW,CAACC,SAAD,EAAY;AACrB,SAAKC,SAAL,GAAiB,CAAC,CAAlB;AACA,SAAKC,UAAL,GAAkB,CAAC,CAAnB;AACA,SAAKC,QAAL,GAAgB,CAAC,CAAjB;AACA,SAAKC,MAAL,GAAc,CAAd;AACA,SAAKC,KAAL,GAAa,EAAb;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,YAAL,CAAkBP,SAAlB;AACA,SAAKQ,OAAL,CAAa,CAAb;AACD;;AAEDD,EAAAA,YAAY,CAACP,SAAD,EAAY;AACtB,UAAMS,OAAO,GAAGT,SAAS,CAACU,MAA1B;AACA,SAAKL,KAAL,CAAWK,MAAX,GAAoBD,OAApB;AACA,SAAKH,MAAL,CAAYI,MAAZ,GAAqBD,OAArB;;AAEA,SAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,OAApB,EAA6B,EAAEE,CAA/B,EAAkC;AAChC,WAAKN,KAAL,CAAWM,CAAX,IAAgBX,SAAS,CAACW,CAAD,CAAT,CAAa,CAAb,CAAhB;AACA,WAAKL,MAAL,CAAYK,CAAZ,IAAiBX,SAAS,CAACW,CAAD,CAAT,CAAa,CAAb,CAAjB;AACD;;AAED,SAAKC,cAAL,CAAoB,KAAKX,SAAzB;AACD;;AAEDO,EAAAA,OAAO,CAACK,IAAD,EAAO;AACZA,IAAAA,IAAI,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYF,IAAZ,CAAP;;AAEA,QAAIA,IAAI,KAAK,KAAKZ,SAAlB,EAA6B;AAC3B,WAAKW,cAAL,CAAoBC,IAApB;;AACA,WAAKZ,SAAL,GAAiBY,IAAjB;AACD;AACF;;AAEDG,EAAAA,YAAY,GAAG;AACb,WAAO,KAAKX,KAAL,CAAW,KAAKH,UAAhB,CAAP;AACD;;AAEDe,EAAAA,UAAU,GAAG;AACX,WAAO,KAAKZ,KAAL,CAAW,KAAKF,QAAhB,CAAP;AACD;;AAEDe,EAAAA,YAAY,GAAG;AACb,WAAO,KAAKZ,MAAL,CAAY,KAAKJ,UAAjB,CAAP;AACD;;AAEDiB,EAAAA,UAAU,GAAG;AACX,WAAO,KAAKb,MAAL,CAAY,KAAKH,QAAjB,CAAP;AACD;;AAEDS,EAAAA,cAAc,CAACC,IAAD,EAAO;AACnB,QAAIO,KAAK,GAAG,CAAZ;AACA,UAAMX,OAAO,GAAG,KAAKJ,KAAL,CAAWK,MAA3B;;AAEA,SAAKU,KAAK,GAAG,CAAb,EAAgBA,KAAK,GAAGX,OAAO,GAAG,CAAlC,EAAqC,EAAEW,KAAvC,EAA8C;AAC5C,UAAI,KAAKf,KAAL,CAAWe,KAAK,GAAG,CAAnB,IAAwBP,IAA5B,EAAkC;AAChC;AACD;AACF;;AAED,SAAKX,UAAL,GAAkBkB,KAAlB;AACA,SAAKjB,QAAL,GAAgBiB,KAAK,GAAG,CAAxB;AAEA,UAAMC,SAAS,GAAG,KAAKhB,KAAL,CAAW,KAAKH,UAAhB,CAAlB;AACA,UAAMoB,OAAO,GAAG,KAAKjB,KAAL,CAAW,KAAKF,QAAhB,CAAhB;AACA,SAAKC,MAAL,GAAcU,IAAI,CAACS,GAAL,CAAST,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY,CAACF,IAAI,GAAGQ,SAAR,KAAsBC,OAAO,GAAGD,SAAhC,CAAZ,CAAT,EAAkE,CAAlE,CAAd;AACD;;AAlEoB","sourcesContent":["/** @type {import('@luma.gl/engine').KeyFrames} */\n\nexport class KeyFrames {\n constructor(keyFrames) {\n this._lastTime = -1;\n this.startIndex = -1;\n this.endIndex = -1;\n this.factor = 0;\n this.times = [];\n this.values = [];\n this.setKeyFrames(keyFrames);\n this.setTime(0);\n }\n\n setKeyFrames(keyFrames) {\n const numKeys = keyFrames.length;\n this.times.length = numKeys;\n this.values.length = numKeys;\n\n for (let i = 0; i < numKeys; ++i) {\n this.times[i] = keyFrames[i][0];\n this.values[i] = keyFrames[i][1];\n }\n\n this._calculateKeys(this._lastTime);\n }\n\n setTime(time) {\n time = Math.max(0, time);\n\n if (time !== this._lastTime) {\n this._calculateKeys(time);\n this._lastTime = time;\n }\n }\n\n getStartTime() {\n return this.times[this.startIndex];\n }\n\n getEndTime() {\n return this.times[this.endIndex];\n }\n\n getStartData() {\n return this.values[this.startIndex];\n }\n\n getEndData() {\n return this.values[this.endIndex];\n }\n\n _calculateKeys(time) {\n let index = 0;\n const numKeys = this.times.length;\n\n for (index = 0; index < numKeys - 2; ++index) {\n if (this.times[index + 1] > time) {\n break;\n }\n }\n\n this.startIndex = index;\n this.endIndex = index + 1;\n\n const startTime = this.times[this.startIndex];\n const endTime = this.times[this.endIndex];\n this.factor = Math.min(Math.max(0, (time - startTime) / (endTime - startTime)), 1);\n }\n}\n"],"file":"key-frames.js"}
@@ -1,39 +0,0 @@
1
- interface ChannelProps {
2
- delay?: number
3
- duration?: number
4
- rate?: number
5
- repeat?: number
6
- }
7
-
8
- interface Channel {
9
- time: number
10
- delay: number
11
- duration: number
12
- rate: number
13
- repeat: number
14
- }
15
-
16
- interface Animation {
17
- setTime: (time: number) => void
18
- }
19
-
20
- export class Timeline {
21
- time: number
22
- channels: Map<number, Channel>
23
- animations: Map<number, Animation>
24
- playing: boolean
25
- lastEngineTime: number
26
- constructor();
27
- addChannel(props: ChannelProps): number;
28
- removeChannel(handle: number): void;
29
- isFinished(handle: number): boolean;
30
- getTime(handle?: number): any;
31
- setTime(time: number): void;
32
- play(): void;
33
- pause(): void;
34
- reset(): void;
35
- attachAnimation(animation: Animation, channelHandle: any): number;
36
- detachAnimation(handle: number): void;
37
- update(engineTime: number): void;
38
- _setChannelTime(channel: Channel, time: number): void;
39
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/animation/timeline.js"],"names":["channelHandles","animationHandles","Timeline","constructor","time","channels","Map","animations","playing","lastEngineTime","addChannel","props","delay","duration","Number","POSITIVE_INFINITY","rate","repeat","handle","channel","_setChannelTime","set","removeChannel","delete","animationHandle","animation","detachAnimation","isFinished","get","undefined","getTime","setTime","Math","max","values","animationData","play","pause","reset","attachAnimation","channelHandle","update","engineTime","offsetTime","totalDuration"],"mappings":"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","sourcesContent":["let channelHandles = 1;\nlet animationHandles = 1;\n\nexport class Timeline {\n constructor() {\n this.time = 0;\n this.channels = new Map();\n this.animations = new Map();\n this.playing = false;\n this.lastEngineTime = -1;\n }\n\n addChannel(props) {\n const {delay = 0, duration = Number.POSITIVE_INFINITY, rate = 1, repeat = 1} = props;\n\n const handle = channelHandles++;\n const channel = {\n time: 0,\n delay,\n duration,\n rate,\n repeat\n };\n this._setChannelTime(channel, this.time);\n this.channels.set(handle, channel);\n\n return handle;\n }\n\n removeChannel(handle) {\n this.channels.delete(handle);\n\n for (const [animationHandle, animation] of this.animations) {\n if (animation.channel === handle) {\n this.detachAnimation(animationHandle);\n }\n }\n }\n\n isFinished(handle) {\n const channel = this.channels.get(handle);\n if (channel === undefined) {\n return false;\n }\n\n return this.time >= channel.delay + channel.duration * channel.repeat;\n }\n\n getTime(handle) {\n if (handle === undefined) {\n return this.time;\n }\n\n const channel = this.channels.get(handle);\n\n if (channel === undefined) {\n return -1;\n }\n\n return channel.time;\n }\n\n setTime(time) {\n this.time = Math.max(0, time);\n\n const channels = this.channels.values();\n for (const channel of channels) {\n this._setChannelTime(channel, this.time);\n }\n\n const animations = this.animations.values();\n for (const animationData of animations) {\n const {animation, channel} = animationData;\n animation.setTime(this.getTime(channel));\n }\n }\n\n play() {\n this.playing = true;\n }\n\n pause() {\n this.playing = false;\n this.lastEngineTime = -1;\n }\n\n reset() {\n this.setTime(0);\n }\n\n attachAnimation(animation, channelHandle) {\n const animationHandle = animationHandles++;\n\n this.animations.set(animationHandle, {\n animation,\n channel: channelHandle\n });\n\n animation.setTime(this.getTime(channelHandle));\n\n return animationHandle;\n }\n\n detachAnimation(handle) {\n this.animations.delete(handle);\n }\n\n update(engineTime) {\n if (this.playing) {\n if (this.lastEngineTime === -1) {\n this.lastEngineTime = engineTime;\n }\n this.setTime(this.time + (engineTime - this.lastEngineTime));\n this.lastEngineTime = engineTime;\n }\n }\n\n _setChannelTime(channel, time) {\n const offsetTime = time - channel.delay;\n const totalDuration = channel.duration * channel.repeat;\n // Note(Tarek): Don't loop on final repeat.\n if (offsetTime >= totalDuration) {\n channel.time = channel.duration * channel.rate;\n } else {\n channel.time = Math.max(0, offsetTime) % channel.duration;\n channel.time *= channel.rate;\n }\n }\n}\n"],"file":"timeline.js"}
@@ -1,7 +0,0 @@
1
- const moduleExports = require('./index');
2
-
3
- const _global = typeof window === 'undefined' ? global : window;
4
-
5
- _global.luma = _global.luma || {};
6
- module.exports = Object.assign(_global.luma, moduleExports);
7
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/bundle.js"],"names":["moduleExports","require","_global","window","global","luma","module","exports","Object","assign"],"mappings":"AAAA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AAEA,MAAMC,OAAO,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,MAAhC,GAAyCD,MAAzD;;AAEAD,OAAO,CAACG,IAAR,GAAeH,OAAO,CAACG,IAAR,IAAgB,EAA/B;AAEAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcP,OAAO,CAACG,IAAtB,EAA4BL,aAA5B,CAAjB","sourcesContent":["const moduleExports = require('./index');\n\nconst _global = typeof window === 'undefined' ? global : window;\n// @ts-ignore\n_global.luma = _global.luma || {};\n// @ts-ignore\nmodule.exports = Object.assign(_global.luma, moduleExports);\n"],"file":"bundle.js"}
@@ -1,5 +0,0 @@
1
- import TruncatedConeGeometry from './truncated-cone-geometry';
2
-
3
- export default class ConeGeometry extends TruncatedConeGeometry {
4
- constructor(props?: {});
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/geometries/cone-geometry.js"],"names":["TruncatedConeGeometry","uid","ConeGeometry","constructor","props","id","radius","cap","topRadius","topCap","Boolean","bottomCap","bottomRadius"],"mappings":"AAAA,OAAOA,qBAAP,MAAkC,2BAAlC;AACA,SAAQC,GAAR,QAAkB,gBAAlB;AAEA,eAAe,MAAMC,YAAN,SAA2BF,qBAA3B,CAAiD;AAC9DG,EAAAA,WAAW,CAACC,KAAK,GAAG,EAAT,EAAa;AACtB,UAAM;AAACC,MAAAA,EAAE,GAAGJ,GAAG,CAAC,eAAD,CAAT;AAA4BK,MAAAA,MAAM,GAAG,CAArC;AAAwCC,MAAAA,GAAG,GAAG;AAA9C,QAAsDH,KAA5D;AACA,UAAM,EACJ,GAAGA,KADC;AAEJC,MAAAA,EAFI;AAGJG,MAAAA,SAAS,EAAE,CAHP;AAIJC,MAAAA,MAAM,EAAEC,OAAO,CAACH,GAAD,CAJX;AAKJI,MAAAA,SAAS,EAAED,OAAO,CAACH,GAAD,CALd;AAMJK,MAAAA,YAAY,EAAEN;AANV,KAAN;AAQD;;AAX6D","sourcesContent":["import TruncatedConeGeometry from './truncated-cone-geometry';\nimport {uid} from '@luma.gl/webgl';\n\nexport default class ConeGeometry extends TruncatedConeGeometry {\n constructor(props = {}) {\n const {id = uid('cone-geometry'), radius = 1, cap = true} = props;\n super({\n ...props,\n id,\n topRadius: 0,\n topCap: Boolean(cap),\n bottomCap: Boolean(cap),\n bottomRadius: radius\n });\n }\n}\n"],"file":"cone-geometry.js"}
@@ -1,5 +0,0 @@
1
- import Geometry from '../geometry/geometry';
2
-
3
- export default class CubeGeometry extends Geometry {
4
- constructor(props?: {});
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/geometries/cube-geometry.js"],"names":["Geometry","uid","CUBE_INDICES","Uint16Array","CUBE_POSITIONS","Float32Array","CUBE_NORMALS","CUBE_TEX_COORDS","ATTRIBUTES","POSITION","size","value","NORMAL","TEXCOORD_0","CubeGeometry","constructor","props","id","indices","attributes"],"mappings":"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","sourcesContent":["import Geometry from '../geometry/geometry';\nimport {uid} from '@luma.gl/webgl';\n\n// prettier-ignore\nconst CUBE_INDICES = new Uint16Array([\n 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13,\n 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23\n]);\n\n// prettier-ignore\nconst CUBE_POSITIONS = new Float32Array([\n -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1,\n -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1,\n -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1,\n -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1,\n 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1,\n -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1\n]);\n\n// TODO - could be Uint8\n// prettier-ignore\nconst CUBE_NORMALS = new Float32Array([\n // Front face\n 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,\n // Back face\n 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1,\n // Top face\n 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,\n // Bottom face\n 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0,\n // Right face\n 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,\n // Left face\n -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0\n]);\n\n// prettier-ignore\nconst CUBE_TEX_COORDS = new Float32Array([\n // Front face\n 0, 0, 1, 0, 1, 1, 0, 1,\n // Back face\n 1, 0, 1, 1, 0, 1, 0, 0,\n // Top face\n 0, 1, 0, 0, 1, 0, 1, 1,\n // Bottom face\n 1, 1, 0, 1, 0, 0, 1, 0,\n // Right face\n 1, 0, 1, 1, 0, 1, 0, 0,\n // Left face\n 0, 0, 1, 0, 1, 1, 0, 1\n]);\n\nconst ATTRIBUTES = {\n POSITION: {size: 3, value: new Float32Array(CUBE_POSITIONS)},\n NORMAL: {size: 3, value: new Float32Array(CUBE_NORMALS)},\n TEXCOORD_0: {size: 2, value: new Float32Array(CUBE_TEX_COORDS)}\n};\n\nexport default class CubeGeometry extends Geometry {\n constructor(props = {}) {\n const {id = uid('cube-geometry')} = props;\n super({\n ...props,\n id,\n indices: {size: 1, value: new Uint16Array(CUBE_INDICES)},\n attributes: {...ATTRIBUTES, ...props.attributes}\n });\n }\n}\n"],"file":"cube-geometry.js"}
@@ -1,5 +0,0 @@
1
- import TruncatedConeGeometry from './truncated-cone-geometry';
2
-
3
- export default class CylinderGeometry extends TruncatedConeGeometry {
4
- constructor(props?: {});
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/geometries/cylinder-geometry.js"],"names":["TruncatedConeGeometry","uid","CylinderGeometry","constructor","props","id","radius","bottomRadius","topRadius"],"mappings":"AAAA,OAAOA,qBAAP,MAAkC,2BAAlC;AACA,SAAQC,GAAR,QAAkB,gBAAlB;AAEA,eAAe,MAAMC,gBAAN,SAA+BF,qBAA/B,CAAqD;AAClEG,EAAAA,WAAW,CAACC,KAAK,GAAG,EAAT,EAAa;AACtB,UAAM;AAACC,MAAAA,EAAE,GAAGJ,GAAG,CAAC,mBAAD,CAAT;AAAgCK,MAAAA,MAAM,GAAG;AAAzC,QAA8CF,KAApD;AACA,UAAM,EACJ,GAAGA,KADC;AAEJC,MAAAA,EAFI;AAGJE,MAAAA,YAAY,EAAED,MAHV;AAIJE,MAAAA,SAAS,EAAEF;AAJP,KAAN;AAMD;;AATiE","sourcesContent":["import TruncatedConeGeometry from './truncated-cone-geometry';\nimport {uid} from '@luma.gl/webgl';\n\nexport default class CylinderGeometry extends TruncatedConeGeometry {\n constructor(props = {}) {\n const {id = uid('cylinder-geometry'), radius = 1} = props;\n super({\n ...props,\n id,\n bottomRadius: radius,\n topRadius: radius\n });\n }\n}\n"],"file":"cylinder-geometry.js"}
@@ -1,5 +0,0 @@
1
- import Geometry from '../geometry/geometry';
2
-
3
- export default class IcoSphereGeometry extends Geometry {
4
- constructor(props?: {});
5
- }