@luma.gl/engine 9.0.0-alpha.14 → 9.0.0-alpha.16

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 (172) hide show
  1. package/dist/animation/key-frames.d.ts +1 -1
  2. package/dist/animation/key-frames.d.ts.map +1 -1
  3. package/dist/animation/key-frames.js +51 -72
  4. package/dist/animation/timeline.d.ts +4 -4
  5. package/dist/animation/timeline.d.ts.map +1 -1
  6. package/dist/animation/timeline.js +94 -131
  7. package/dist/animation-loop/animation-loop.d.ts +2 -3
  8. package/dist/animation-loop/animation-loop.d.ts.map +1 -1
  9. package/dist/animation-loop/animation-loop.js +414 -473
  10. package/dist/animation-loop/animation-props.d.ts +1 -2
  11. package/dist/animation-loop/animation-props.d.ts.map +1 -1
  12. package/dist/animation-loop/animation-props.js +0 -1
  13. package/dist/animation-loop/make-animation-loop.d.ts +1 -1
  14. package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
  15. package/dist/animation-loop/make-animation-loop.js +26 -31
  16. package/dist/animation-loop/render-loop.js +17 -7
  17. package/dist/bundle.js +2 -2
  18. package/dist/dist.min.js +31 -0
  19. package/dist/es5/animation/key-frames.js +84 -0
  20. package/dist/es5/animation/key-frames.js.map +1 -0
  21. package/dist/es5/animation/timeline.js +183 -0
  22. package/dist/es5/animation/timeline.js.map +1 -0
  23. package/dist/es5/animation-loop/animation-loop.js +534 -0
  24. package/dist/es5/animation-loop/animation-loop.js.map +1 -0
  25. package/dist/es5/animation-loop/animation-props.js +2 -0
  26. package/dist/es5/animation-loop/animation-props.js.map +1 -0
  27. package/dist/es5/animation-loop/make-animation-loop.js +53 -0
  28. package/dist/es5/animation-loop/make-animation-loop.js.map +1 -0
  29. package/dist/es5/animation-loop/render-loop.js +39 -0
  30. package/dist/es5/animation-loop/render-loop.js.map +1 -0
  31. package/dist/es5/bundle.js +6 -0
  32. package/dist/es5/bundle.js.map +1 -0
  33. package/dist/es5/geometries/cone-geometry.js +43 -0
  34. package/dist/es5/geometries/cone-geometry.js.map +1 -0
  35. package/dist/es5/geometries/cube-geometry.js +84 -0
  36. package/dist/es5/geometries/cube-geometry.js.map +1 -0
  37. package/dist/es5/geometries/cylinder-geometry.js +39 -0
  38. package/dist/es5/geometries/cylinder-geometry.js.map +1 -0
  39. package/dist/es5/geometries/ico-sphere-geometry.js +185 -0
  40. package/dist/es5/geometries/ico-sphere-geometry.js.map +1 -0
  41. package/dist/es5/geometries/plane-geometry.js +137 -0
  42. package/dist/es5/geometries/plane-geometry.js.map +1 -0
  43. package/dist/es5/geometries/sphere-geometry.js +120 -0
  44. package/dist/es5/geometries/sphere-geometry.js.map +1 -0
  45. package/dist/es5/geometries/truncated-cone-geometry.js +160 -0
  46. package/dist/es5/geometries/truncated-cone-geometry.js.map +1 -0
  47. package/dist/es5/geometry/geometry-table.js +2 -0
  48. package/dist/es5/geometry/geometry-table.js.map +1 -0
  49. package/dist/es5/geometry/geometry-utils.js +39 -0
  50. package/dist/es5/geometry/geometry-utils.js.map +1 -0
  51. package/dist/es5/geometry/geometry.js +150 -0
  52. package/dist/es5/geometry/geometry.js.map +1 -0
  53. package/dist/es5/geometry/primitive-utils.js +2 -0
  54. package/dist/es5/geometry/primitive-utils.js.map +1 -0
  55. package/dist/es5/index.js +112 -0
  56. package/dist/es5/index.js.map +1 -0
  57. package/dist/es5/lib/clip-space.js +2 -0
  58. package/dist/es5/lib/clip-space.js.map +1 -0
  59. package/dist/es5/lib/model-utils.js +52 -0
  60. package/dist/es5/lib/model-utils.js.map +1 -0
  61. package/dist/es5/lib/model.js +173 -0
  62. package/dist/es5/lib/model.js.map +1 -0
  63. package/dist/es5/lib/pipeline-factory.js +244 -0
  64. package/dist/es5/lib/pipeline-factory.js.map +1 -0
  65. package/dist/esm/animation/key-frames.js +57 -0
  66. package/dist/esm/animation/key-frames.js.map +1 -0
  67. package/dist/esm/animation/timeline.js +113 -0
  68. package/dist/esm/animation/timeline.js.map +1 -0
  69. package/dist/esm/animation-loop/animation-loop.js +367 -0
  70. package/dist/esm/animation-loop/animation-loop.js.map +1 -0
  71. package/dist/esm/animation-loop/animation-props.js +2 -0
  72. package/dist/esm/animation-loop/animation-props.js.map +1 -0
  73. package/dist/esm/animation-loop/make-animation-loop.js +28 -0
  74. package/dist/esm/animation-loop/make-animation-loop.js.map +1 -0
  75. package/dist/esm/animation-loop/render-loop.js +7 -0
  76. package/dist/esm/animation-loop/render-loop.js.map +1 -0
  77. package/dist/esm/bundle.js +4 -0
  78. package/dist/esm/bundle.js.map +1 -0
  79. package/dist/esm/geometries/cone-geometry.js +21 -0
  80. package/dist/esm/geometries/cone-geometry.js.map +1 -0
  81. package/dist/esm/geometries/cube-geometry.js +67 -0
  82. package/dist/esm/geometries/cube-geometry.js.map +1 -0
  83. package/dist/esm/geometries/cylinder-geometry.js +18 -0
  84. package/dist/esm/geometries/cylinder-geometry.js.map +1 -0
  85. package/dist/esm/geometries/ico-sphere-geometry.js +170 -0
  86. package/dist/esm/geometries/ico-sphere-geometry.js.map +1 -0
  87. package/dist/esm/geometries/plane-geometry.js +119 -0
  88. package/dist/esm/geometries/plane-geometry.js.map +1 -0
  89. package/dist/esm/geometries/sphere-geometry.js +102 -0
  90. package/dist/esm/geometries/sphere-geometry.js.map +1 -0
  91. package/dist/esm/geometries/truncated-cone-geometry.js +136 -0
  92. package/dist/esm/geometries/truncated-cone-geometry.js.map +1 -0
  93. package/dist/esm/geometry/geometry-table.js +2 -0
  94. package/dist/esm/geometry/geometry-table.js.map +1 -0
  95. package/dist/esm/geometry/geometry-utils.js +37 -0
  96. package/dist/esm/geometry/geometry-utils.js.map +1 -0
  97. package/dist/esm/geometry/geometry.js +119 -0
  98. package/dist/esm/geometry/geometry.js.map +1 -0
  99. package/dist/esm/geometry/primitive-utils.js +2 -0
  100. package/dist/esm/geometry/primitive-utils.js.map +1 -0
  101. package/dist/esm/index.js +16 -0
  102. package/dist/esm/index.js.map +1 -0
  103. package/dist/esm/lib/clip-space.js +2 -0
  104. package/dist/esm/lib/clip-space.js.map +1 -0
  105. package/dist/esm/lib/model-utils.js +40 -0
  106. package/dist/esm/lib/model-utils.js.map +1 -0
  107. package/dist/esm/lib/model.js +146 -0
  108. package/dist/esm/lib/model.js.map +1 -0
  109. package/dist/esm/lib/pipeline-factory.js +180 -0
  110. package/dist/esm/lib/pipeline-factory.js.map +1 -0
  111. package/dist/geometries/cone-geometry.d.ts +1 -1
  112. package/dist/geometries/cone-geometry.d.ts.map +1 -1
  113. package/dist/geometries/cone-geometry.js +12 -17
  114. package/dist/geometries/cube-geometry.d.ts +1 -1
  115. package/dist/geometries/cube-geometry.d.ts.map +1 -1
  116. package/dist/geometries/cube-geometry.js +187 -56
  117. package/dist/geometries/cylinder-geometry.d.ts +1 -1
  118. package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
  119. package/dist/geometries/cylinder-geometry.js +10 -14
  120. package/dist/geometries/ico-sphere-geometry.d.ts +1 -1
  121. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
  122. package/dist/geometries/ico-sphere-geometry.js +141 -170
  123. package/dist/geometries/plane-geometry.d.ts +1 -1
  124. package/dist/geometries/plane-geometry.d.ts.map +1 -1
  125. package/dist/geometries/plane-geometry.js +93 -121
  126. package/dist/geometries/sphere-geometry.d.ts +1 -1
  127. package/dist/geometries/sphere-geometry.d.ts.map +1 -1
  128. package/dist/geometries/sphere-geometry.js +76 -100
  129. package/dist/geometries/truncated-cone-geometry.d.ts +1 -1
  130. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
  131. package/dist/geometries/truncated-cone-geometry.js +104 -131
  132. package/dist/geometry/geometry-table.d.ts +1 -1
  133. package/dist/geometry/geometry-table.d.ts.map +1 -1
  134. package/dist/geometry/geometry-table.js +0 -1
  135. package/dist/geometry/geometry-utils.js +22 -41
  136. package/dist/geometry/geometry.d.ts +4 -4
  137. package/dist/geometry/geometry.d.ts.map +1 -1
  138. package/dist/geometry/geometry.js +96 -142
  139. package/dist/geometry/primitive-utils.js +30 -1
  140. package/dist/index.js +20 -16
  141. package/dist/lib/clip-space.js +50 -1
  142. package/dist/lib/model-utils.js +97 -29
  143. package/dist/lib/model.d.ts +1 -1
  144. package/dist/lib/model.d.ts.map +1 -1
  145. package/dist/lib/model.js +122 -166
  146. package/dist/lib/pipeline-factory.d.ts +3 -3
  147. package/dist/lib/pipeline-factory.d.ts.map +1 -1
  148. package/dist/lib/pipeline-factory.js +136 -204
  149. package/package.json +12 -11
  150. package/dist/animation/key-frames.js.map +0 -1
  151. package/dist/animation/timeline.js.map +0 -1
  152. package/dist/animation-loop/animation-loop.js.map +0 -1
  153. package/dist/animation-loop/animation-props.js.map +0 -1
  154. package/dist/animation-loop/make-animation-loop.js.map +0 -1
  155. package/dist/animation-loop/render-loop.js.map +0 -1
  156. package/dist/bundle.js.map +0 -1
  157. package/dist/geometries/cone-geometry.js.map +0 -1
  158. package/dist/geometries/cube-geometry.js.map +0 -1
  159. package/dist/geometries/cylinder-geometry.js.map +0 -1
  160. package/dist/geometries/ico-sphere-geometry.js.map +0 -1
  161. package/dist/geometries/plane-geometry.js.map +0 -1
  162. package/dist/geometries/sphere-geometry.js.map +0 -1
  163. package/dist/geometries/truncated-cone-geometry.js.map +0 -1
  164. package/dist/geometry/geometry-table.js.map +0 -1
  165. package/dist/geometry/geometry-utils.js.map +0 -1
  166. package/dist/geometry/geometry.js.map +0 -1
  167. package/dist/geometry/primitive-utils.js.map +0 -1
  168. package/dist/index.js.map +0 -1
  169. package/dist/lib/clip-space.js.map +0 -1
  170. package/dist/lib/model-utils.js.map +0 -1
  171. package/dist/lib/model.js.map +0 -1
  172. package/dist/lib/pipeline-factory.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-factory.js","names":["assembleShaders","DEFAULT_RENDER_PIPELINE_OPTIONS","vs","fs","modules","defines","inject","transpileToGLSL100","layout","varyings","bufferMode","topology","parameters","PipelineFactory","getDefaultPipelineFactory","device","defaultPipelineFactory","constructor","_defineProperty","addDefaultModule","module","_defaultModules","find","m","name","push","stateHash","removeDefaultModule","moduleName","filter","addShaderHook","hook","opts","Object","assign","_hookFunctions","createRenderPipeline","options","props","_getModuleList","hash","_hashRenderPipeline","_pipelineCache","pipeline","getUniforms","_createRenderPipeline","_getUniforms","x","_useCounts","release","destroy","platformInfo","gpu","info","features","Error","assembled","hookFunctions","createShader","stage","source","vsHash","_getHash","fsHash","moduleHashes","map","sort","varyingHashes","v","defineKeys","keys","injectKeys","defineHashes","injectHashes","key","String","parameterHash","JSON","stringify","concat","join","_hashes","undefined","_hashCounter","appModules","arguments","length","Array","seen","count","i","len"],"sources":["../../../src/lib/pipeline-factory.ts"],"sourcesContent":["import type {RenderPipelineParameters, PrimitiveTopology, ShaderLayout} from '@luma.gl/api';\nimport {Device, RenderPipeline} from '@luma.gl/api/';\nimport type { ShaderModule } from '@luma.gl/shadertools';\nimport {assembleShaders} from '@luma.gl/shadertools';\n\nexport type GetRenderPipelineOptions = {\n vs: string;\n fs: string | null;\n topology: PrimitiveTopology;\n layout?: ShaderLayout | null;\n parameters?: RenderPipelineParameters;\n\n modules?: ShaderModule[];\n defines?: Record<string, string | number | boolean>;\n inject?: Record<string, string>;\n transpileToGLSL100?: boolean;\n\n varyings?: string[];\n bufferMode?: number, \n};\n\nexport type GetComputePipelineOptions = {\n cs: string;\n parameters?: RenderPipelineParameters;\n\n modules?: ShaderModule[];\n defines?: Record<string, string>;\n inject?: Record<string, string>;\n transpileToGLSL100?: boolean;\n\n varyings?: string[];\n bufferMode?: number;\n};\n\nconst DEFAULT_RENDER_PIPELINE_OPTIONS: Required<GetRenderPipelineOptions> = {\n vs: '',\n fs: '',\n modules: [],\n defines: {},\n inject: {},\n transpileToGLSL100: false,\n layout: null,\n\n varyings: [],\n bufferMode: 0x8c8d, // // varyings/bufferMode for xform feedback, 0x8c8d: SEPARATE_ATTRIBS\n topology: 'triangle-list',\n parameters: {} \n};\n\ntype GetUniformsFunc = (props?: Record<string, any>) => Record<string, any>;\n\n/** Efficiently create shared pipelines with varying parameters */\nexport class PipelineFactory {\n readonly device: Device;\n\n stateHash: number = 0; // Used to change hashing if hooks are modified\n private _hashCounter: number = 0;\n private readonly _hashes: Record<string, number> = {};\n private readonly _useCounts: Record<string, number> = {};\n\n private readonly _pipelineCache: Record<string, RenderPipeline> = {};\n\n private readonly _getUniforms: Record<string, GetUniformsFunc> = {};\n private readonly _hookFunctions: any[] = [];\n private _defaultModules: any[] = [];\n // private readonly _registeredModules = {}; // TODO: Remove? This isn't used anywhere in luma.gl\n\n static getDefaultPipelineFactory(device: Device): PipelineFactory {\n // @ts-expect-error Add to device\n device.defaultPipelineFactory = device.defaultPipelineFactory || new PipelineFactory(device);\n // @ts-expect-error Add to device\n return device.defaultPipelineFactory;\n }\n\n constructor(device: Device) {\n this.device = device;\n }\n\n addDefaultModule(module: ShaderModule): void {\n if (!this._defaultModules.find((m) => m.name === (typeof module === 'string' ? module : module.name))) {\n this._defaultModules.push(module);\n }\n this.stateHash++;\n }\n\n removeDefaultModule(module: ShaderModule): void {\n const moduleName = typeof module === 'string' ? module : module.name;\n this._defaultModules = this._defaultModules.filter((m) => m.name !== moduleName);\n this.stateHash++;\n }\n\n addShaderHook(hook: string, opts?: any): void {\n if (opts) {\n hook = Object.assign(opts, {hook});\n }\n this._hookFunctions.push(hook);\n this.stateHash++;\n }\n\n createRenderPipeline(options: GetRenderPipelineOptions): {\n pipeline: RenderPipeline;\n getUniforms: GetUniformsFunc;\n } {\n const props: Required<GetRenderPipelineOptions> = {...DEFAULT_RENDER_PIPELINE_OPTIONS, ...options};\n\n const modules = this._getModuleList(props.modules); // Combine with default modules\n\n const hash = this._hashRenderPipeline({...props, modules});\n\n if (!this._pipelineCache[hash]) {\n const {pipeline, getUniforms} = this._createRenderPipeline({...props, modules});\n pipeline.hash = hash;\n this._pipelineCache[hash] = pipeline;\n this._getUniforms[hash] = getUniforms || ((x?: unknown) => ({}));\n this._useCounts[hash] = 0;\n }\n\n this._useCounts[hash]++;\n\n return {\n pipeline: this._pipelineCache[hash],\n getUniforms: this._getUniforms[hash]\n };\n }\n\n release(pipeline: RenderPipeline): void {\n const hash = pipeline.hash;\n this._useCounts[hash]--;\n if (this._useCounts[hash] === 0) {\n this._pipelineCache[hash].destroy();\n delete this._pipelineCache[hash];\n delete this._getUniforms[hash];\n delete this._useCounts[hash];\n }\n }\n\n getUniforms(pipeline: RenderPipeline) {\n return this._getUniforms[pipeline.hash] || null;\n }\n\n // PRIVATE\n\n _createRenderPipeline(props: GetRenderPipelineOptions): {\n pipeline: RenderPipeline,\n getUniforms: GetUniformsFunc\n } {\n const platformInfo = {\n gpu: this.device.info.gpu,\n features: this.device.features\n };\n\n if (!props.fs) {\n throw new Error('fs');\n }\n\n const assembled = assembleShaders(platformInfo, {...props, fs: props.fs, hookFunctions: this._hookFunctions});\n\n const pipeline = this.device.createRenderPipeline({\n ...props,\n vs: this.device.createShader({stage: 'vertex', source: assembled.vs}),\n fs: assembled.fs ? this.device.createShader({stage: 'fragment', source: assembled.fs}) : null,\n });\n\n return {pipeline, getUniforms: assembled.getUniforms};\n }\n\n /** Calculate a hash based on all the inputs for a render pipeline */\n _hashRenderPipeline(props: GetRenderPipelineOptions): string {\n const {modules = [], varyings = [], defines = {}, inject = {}, parameters = {}} = props;\n const vsHash = this._getHash(props.vs);\n const fsHash = props.fs ? this._getHash(props.fs) : 0;\n\n const moduleHashes = modules.map((m) => this._getHash(typeof m === 'string' ? m : m.name)).sort();\n const varyingHashes = varyings.map((v) => this._getHash(v));\n\n const defineKeys = Object.keys(defines).sort();\n const injectKeys = Object.keys(inject).sort();\n const defineHashes: number[] = [];\n const injectHashes: number[] = [];\n\n for (const key of defineKeys) {\n defineHashes.push(this._getHash(key));\n defineHashes.push(this._getHash(String(defines[key])));\n }\n\n for (const key of injectKeys) {\n injectHashes.push(this._getHash(key));\n injectHashes.push(this._getHash(inject[key]));\n }\n\n // TODO - hash parameters!\n const parameterHash = JSON.stringify(parameters);\n\n return `${vsHash}/${fsHash}D${defineHashes.join('/')}M${moduleHashes.join(\n '/'\n )}I${injectHashes.join('/')}V${varyingHashes.join('/')}H${this.stateHash}B${props.bufferMode}${\n props.transpileToGLSL100 ? 'T' : ''\n }P${parameterHash}`;\n }\n\n _getHash(key: string): number {\n if (this._hashes[key] === undefined) {\n this._hashes[key] = this._hashCounter++;\n }\n return this._hashes[key];\n }\n\n // Dedupe and combine with default modules\n _getModuleList(appModules: ShaderModule[] = []): ShaderModule[] {\n const modules = new Array(this._defaultModules.length + appModules.length);\n const seen: Record<string, boolean> = {};\n let count = 0;\n\n for (let i = 0, len = this._defaultModules.length; i < len; ++i) {\n const module = this._defaultModules[i];\n const name = module.name;\n modules[count++] = module;\n seen[name] = true;\n }\n\n for (let i = 0, len = appModules.length; i < len; ++i) {\n const module = appModules[i];\n const name = module.name;\n if (!seen[name]) {\n modules[count++] = module;\n seen[name] = true;\n }\n }\n\n modules.length = count;\n\n return modules;\n }\n}\n"],"mappings":";AAGA,SAAQA,eAAe,QAAO,sBAAsB;AA+BpD,MAAMC,+BAAmE,GAAG;EAC1EC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,OAAO,EAAE,EAAE;EACXC,OAAO,EAAE,CAAC,CAAC;EACXC,MAAM,EAAE,CAAC,CAAC;EACVC,kBAAkB,EAAE,KAAK;EACzBC,MAAM,EAAE,IAAI;EAEZC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAE,MAAM;EAClBC,QAAQ,EAAE,eAAe;EACzBC,UAAU,EAAE,CAAC;AACf,CAAC;AAKD,OAAO,MAAMC,eAAe,CAAC;EAe3B,OAAOC,yBAAyBA,CAACC,MAAc,EAAmB;IAEhEA,MAAM,CAACC,sBAAsB,GAAGD,MAAM,CAACC,sBAAsB,IAAI,IAAIH,eAAe,CAACE,MAAM,CAAC;IAE5F,OAAOA,MAAM,CAACC,sBAAsB;EACtC;EAEAC,WAAWA,CAACF,MAAc,EAAE;IAAAG,eAAA;IAAAA,eAAA,oBAnBR,CAAC;IAAAA,eAAA,uBACU,CAAC;IAAAA,eAAA,kBACmB,CAAC,CAAC;IAAAA,eAAA,qBACC,CAAC,CAAC;IAAAA,eAAA,yBAEU,CAAC,CAAC;IAAAA,eAAA,uBAEH,CAAC,CAAC;IAAAA,eAAA,yBAC1B,EAAE;IAAAA,eAAA,0BACV,EAAE;IAWjC,IAAI,CAACH,MAAM,GAAGA,MAAM;EACtB;EAEAI,gBAAgBA,CAACC,MAAoB,EAAQ;IAC3C,IAAI,CAAC,IAAI,CAACC,eAAe,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,MAAM,OAAOJ,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGA,MAAM,CAACI,IAAI,CAAC,CAAC,EAAE;MACrG,IAAI,CAACH,eAAe,CAACI,IAAI,CAACL,MAAM,CAAC;IACnC;IACA,IAAI,CAACM,SAAS,EAAE;EAClB;EAEAC,mBAAmBA,CAACP,MAAoB,EAAQ;IAC9C,MAAMQ,UAAU,GAAG,OAAOR,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGA,MAAM,CAACI,IAAI;IACpE,IAAI,CAACH,eAAe,GAAG,IAAI,CAACA,eAAe,CAACQ,MAAM,CAAEN,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKI,UAAU,CAAC;IAChF,IAAI,CAACF,SAAS,EAAE;EAClB;EAEAI,aAAaA,CAACC,IAAY,EAAEC,IAAU,EAAQ;IAC5C,IAAIA,IAAI,EAAE;MACRD,IAAI,GAAGE,MAAM,CAACC,MAAM,CAACF,IAAI,EAAE;QAACD;MAAI,CAAC,CAAC;IACpC;IACA,IAAI,CAACI,cAAc,CAACV,IAAI,CAACM,IAAI,CAAC;IAC9B,IAAI,CAACL,SAAS,EAAE;EAClB;EAEAU,oBAAoBA,CAACC,OAAiC,EAGpD;IACA,MAAMC,KAAyC,GAAG;MAAC,GAAGrC,+BAA+B;MAAE,GAAGoC;IAAO,CAAC;IAElG,MAAMjC,OAAO,GAAG,IAAI,CAACmC,cAAc,CAACD,KAAK,CAAClC,OAAO,CAAC;IAElD,MAAMoC,IAAI,GAAG,IAAI,CAACC,mBAAmB,CAAC;MAAC,GAAGH,KAAK;MAAElC;IAAO,CAAC,CAAC;IAE1D,IAAI,CAAC,IAAI,CAACsC,cAAc,CAACF,IAAI,CAAC,EAAE;MAC9B,MAAM;QAACG,QAAQ;QAAEC;MAAW,CAAC,GAAG,IAAI,CAACC,qBAAqB,CAAC;QAAC,GAAGP,KAAK;QAAElC;MAAO,CAAC,CAAC;MAC/EuC,QAAQ,CAACH,IAAI,GAAGA,IAAI;MACpB,IAAI,CAACE,cAAc,CAACF,IAAI,CAAC,GAAGG,QAAQ;MACpC,IAAI,CAACG,YAAY,CAACN,IAAI,CAAC,GAAGI,WAAW,KAAMG,CAAW,KAAM,CAAC,CAAC,CAAC,CAAC;MAChE,IAAI,CAACC,UAAU,CAACR,IAAI,CAAC,GAAG,CAAC;IAC3B;IAEA,IAAI,CAACQ,UAAU,CAACR,IAAI,CAAC,EAAE;IAEvB,OAAO;MACLG,QAAQ,EAAE,IAAI,CAACD,cAAc,CAACF,IAAI,CAAC;MACnCI,WAAW,EAAE,IAAI,CAACE,YAAY,CAACN,IAAI;IACrC,CAAC;EACH;EAEAS,OAAOA,CAACN,QAAwB,EAAQ;IACtC,MAAMH,IAAI,GAAGG,QAAQ,CAACH,IAAI;IAC1B,IAAI,CAACQ,UAAU,CAACR,IAAI,CAAC,EAAE;IACvB,IAAI,IAAI,CAACQ,UAAU,CAACR,IAAI,CAAC,KAAK,CAAC,EAAE;MAC/B,IAAI,CAACE,cAAc,CAACF,IAAI,CAAC,CAACU,OAAO,EAAE;MACnC,OAAO,IAAI,CAACR,cAAc,CAACF,IAAI,CAAC;MAChC,OAAO,IAAI,CAACM,YAAY,CAACN,IAAI,CAAC;MAC9B,OAAO,IAAI,CAACQ,UAAU,CAACR,IAAI,CAAC;IAC9B;EACF;EAEAI,WAAWA,CAACD,QAAwB,EAAE;IACpC,OAAO,IAAI,CAACG,YAAY,CAACH,QAAQ,CAACH,IAAI,CAAC,IAAI,IAAI;EACjD;EAIAK,qBAAqBA,CAACP,KAA+B,EAGnD;IACA,MAAMa,YAAY,GAAG;MACnBC,GAAG,EAAE,IAAI,CAACrC,MAAM,CAACsC,IAAI,CAACD,GAAG;MACzBE,QAAQ,EAAE,IAAI,CAACvC,MAAM,CAACuC;IACxB,CAAC;IAED,IAAI,CAAChB,KAAK,CAACnC,EAAE,EAAE;MACb,MAAM,IAAIoD,KAAK,CAAC,IAAI,CAAC;IACvB;IAEA,MAAMC,SAAS,GAAGxD,eAAe,CAACmD,YAAY,EAAE;MAAC,GAAGb,KAAK;MAAEnC,EAAE,EAAEmC,KAAK,CAACnC,EAAE;MAAEsD,aAAa,EAAE,IAAI,CAACtB;IAAc,CAAC,CAAC;IAE7G,MAAMQ,QAAQ,GAAG,IAAI,CAAC5B,MAAM,CAACqB,oBAAoB,CAAC;MAChD,GAAGE,KAAK;MACRpC,EAAE,EAAE,IAAI,CAACa,MAAM,CAAC2C,YAAY,CAAC;QAACC,KAAK,EAAE,QAAQ;QAAEC,MAAM,EAAEJ,SAAS,CAACtD;MAAE,CAAC,CAAC;MACrEC,EAAE,EAAEqD,SAAS,CAACrD,EAAE,GAAG,IAAI,CAACY,MAAM,CAAC2C,YAAY,CAAC;QAACC,KAAK,EAAE,UAAU;QAAEC,MAAM,EAAEJ,SAAS,CAACrD;MAAE,CAAC,CAAC,GAAG;IAC3F,CAAC,CAAC;IAEF,OAAO;MAACwC,QAAQ;MAAEC,WAAW,EAAEY,SAAS,CAACZ;IAAW,CAAC;EACvD;EAGAH,mBAAmBA,CAACH,KAA+B,EAAU;IAC3D,MAAM;MAAClC,OAAO,GAAG,EAAE;MAAEK,QAAQ,GAAG,EAAE;MAAEJ,OAAO,GAAG,CAAC,CAAC;MAAEC,MAAM,GAAG,CAAC,CAAC;MAAEM,UAAU,GAAG,CAAC;IAAC,CAAC,GAAG0B,KAAK;IACtF,MAAMuB,MAAM,GAAG,IAAI,CAACC,QAAQ,CAACxB,KAAK,CAACpC,EAAE,CAAC;IACvC,MAAM6D,MAAM,GAAGzB,KAAK,CAACnC,EAAE,GAAG,IAAI,CAAC2D,QAAQ,CAACxB,KAAK,CAACnC,EAAE,CAAC,GAAG,CAAC;IAErD,MAAM6D,YAAY,GAAG5D,OAAO,CAAC6D,GAAG,CAAE1C,CAAC,IAAK,IAAI,CAACuC,QAAQ,CAAC,OAAOvC,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC0C,IAAI,EAAE;IACjG,MAAMC,aAAa,GAAG1D,QAAQ,CAACwD,GAAG,CAAEG,CAAC,IAAK,IAAI,CAACN,QAAQ,CAACM,CAAC,CAAC,CAAC;IAE3D,MAAMC,UAAU,GAAGpC,MAAM,CAACqC,IAAI,CAACjE,OAAO,CAAC,CAAC6D,IAAI,EAAE;IAC9C,MAAMK,UAAU,GAAGtC,MAAM,CAACqC,IAAI,CAAChE,MAAM,CAAC,CAAC4D,IAAI,EAAE;IAC7C,MAAMM,YAAsB,GAAG,EAAE;IACjC,MAAMC,YAAsB,GAAG,EAAE;IAEjC,KAAK,MAAMC,GAAG,IAAIL,UAAU,EAAE;MAC5BG,YAAY,CAAC/C,IAAI,CAAC,IAAI,CAACqC,QAAQ,CAACY,GAAG,CAAC,CAAC;MACrCF,YAAY,CAAC/C,IAAI,CAAC,IAAI,CAACqC,QAAQ,CAACa,MAAM,CAACtE,OAAO,CAACqE,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD;IAEA,KAAK,MAAMA,GAAG,IAAIH,UAAU,EAAE;MAC5BE,YAAY,CAAChD,IAAI,CAAC,IAAI,CAACqC,QAAQ,CAACY,GAAG,CAAC,CAAC;MACrCD,YAAY,CAAChD,IAAI,CAAC,IAAI,CAACqC,QAAQ,CAACxD,MAAM,CAACoE,GAAG,CAAC,CAAC,CAAC;IAC/C;IAGA,MAAME,aAAa,GAAGC,IAAI,CAACC,SAAS,CAAClE,UAAU,CAAC;IAEhD,UAAAmE,MAAA,CAAUlB,MAAM,OAAAkB,MAAA,CAAIhB,MAAM,OAAAgB,MAAA,CAAIP,YAAY,CAACQ,IAAI,CAAC,GAAG,CAAC,OAAAD,MAAA,CAAIf,YAAY,CAACgB,IAAI,CACvE,GAAG,CACJ,OAAAD,MAAA,CAAIN,YAAY,CAACO,IAAI,CAAC,GAAG,CAAC,OAAAD,MAAA,CAAIZ,aAAa,CAACa,IAAI,CAAC,GAAG,CAAC,OAAAD,MAAA,CAAI,IAAI,CAACrD,SAAS,OAAAqD,MAAA,CAAIzC,KAAK,CAAC5B,UAAU,EAAAqE,MAAA,CAC1FzC,KAAK,CAAC/B,kBAAkB,GAAG,GAAG,GAAG,EAAE,OAAAwE,MAAA,CACjCH,aAAa;EACnB;EAEAd,QAAQA,CAACY,GAAW,EAAU;IAC5B,IAAI,IAAI,CAACO,OAAO,CAACP,GAAG,CAAC,KAAKQ,SAAS,EAAE;MACnC,IAAI,CAACD,OAAO,CAACP,GAAG,CAAC,GAAG,IAAI,CAACS,YAAY,EAAE;IACzC;IACA,OAAO,IAAI,CAACF,OAAO,CAACP,GAAG,CAAC;EAC1B;EAGAnC,cAAcA,CAAA,EAAkD;IAAA,IAAjD6C,UAA0B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAG,EAAE;IAC5C,MAAMjF,OAAO,GAAG,IAAImF,KAAK,CAAC,IAAI,CAAClE,eAAe,CAACiE,MAAM,GAAGF,UAAU,CAACE,MAAM,CAAC;IAC1E,MAAME,IAA6B,GAAG,CAAC,CAAC;IACxC,IAAIC,KAAK,GAAG,CAAC;IAEb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAG,IAAI,CAACtE,eAAe,CAACiE,MAAM,EAAEI,CAAC,GAAGC,GAAG,EAAE,EAAED,CAAC,EAAE;MAC/D,MAAMtE,MAAM,GAAG,IAAI,CAACC,eAAe,CAACqE,CAAC,CAAC;MACtC,MAAMlE,IAAI,GAAGJ,MAAM,CAACI,IAAI;MACxBpB,OAAO,CAACqF,KAAK,EAAE,CAAC,GAAGrE,MAAM;MACzBoE,IAAI,CAAChE,IAAI,CAAC,GAAG,IAAI;IACnB;IAEA,KAAK,IAAIkE,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGP,UAAU,CAACE,MAAM,EAAEI,CAAC,GAAGC,GAAG,EAAE,EAAED,CAAC,EAAE;MACrD,MAAMtE,MAAM,GAAGgE,UAAU,CAACM,CAAC,CAAC;MAC5B,MAAMlE,IAAI,GAAGJ,MAAM,CAACI,IAAI;MACxB,IAAI,CAACgE,IAAI,CAAChE,IAAI,CAAC,EAAE;QACfpB,OAAO,CAACqF,KAAK,EAAE,CAAC,GAAGrE,MAAM;QACzBoE,IAAI,CAAChE,IAAI,CAAC,GAAG,IAAI;MACnB;IACF;IAEApB,OAAO,CAACkF,MAAM,GAAGG,KAAK;IAEtB,OAAOrF,OAAO;EAChB;AACF"}
@@ -1,5 +1,5 @@
1
1
  import { TruncatedConeGeometry } from './truncated-cone-geometry';
2
- export declare type ConeGeometryProps = {
2
+ export type ConeGeometryProps = {
3
3
  id?: string;
4
4
  radius?: number;
5
5
  cap?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"cone-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cone-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,oBAAY,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAqB;gBACzC,KAAK,GAAE,iBAAsB;CAW1C"}
1
+ {"version":3,"file":"cone-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cone-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAqB;gBACzC,KAAK,GAAE,iBAAsB;CAW1C"}
@@ -1,20 +1,15 @@
1
1
  import { uid } from '@luma.gl/api';
2
- import { TruncatedConeGeometry } from './truncated-cone-geometry';
2
+ import { TruncatedConeGeometry } from './truncated-cone-geometry.js';
3
3
  export class ConeGeometry extends TruncatedConeGeometry {
4
- constructor(props = {}) {
5
- const {
6
- id = uid('cone-geometry'),
7
- radius = 1,
8
- cap = true
9
- } = props;
10
- super({ ...props,
11
- id,
12
- topRadius: 0,
13
- topCap: Boolean(cap),
14
- bottomCap: Boolean(cap),
15
- bottomRadius: radius
16
- });
17
- }
18
-
4
+ constructor(props = {}) {
5
+ const { id = uid('cone-geometry'), radius = 1, cap = true } = props;
6
+ super({
7
+ ...props,
8
+ id,
9
+ topRadius: 0,
10
+ topCap: Boolean(cap),
11
+ bottomCap: Boolean(cap),
12
+ bottomRadius: radius
13
+ });
14
+ }
19
15
  }
20
- //# sourceMappingURL=cone-geometry.js.map
@@ -1,5 +1,5 @@
1
1
  import Geometry from '../geometry/geometry';
2
- export declare type CubeGeometryProps = {
2
+ export type CubeGeometryProps = {
3
3
  id?: string;
4
4
  indices?: boolean;
5
5
  attributes?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"cube-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cube-geometry.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,oBAAY,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,KAAK,GAAE,iBAAsB;CAc1C;AAqDD,eAAO,MAAM,0BAA0B,cA0CrC,CAAC;AAIH,eAAO,MAAM,2BAA2B,cA0CtC,CAAC;AAIH,eAAO,MAAM,uBAAuB,cA0ClC,CAAC"}
1
+ {"version":3,"file":"cube-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cube-geometry.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,KAAK,GAAE,iBAAsB;CAc1C;AAqDD,eAAO,MAAM,0BAA0B,cA0CrC,CAAC;AAIH,eAAO,MAAM,2BAA2B,cA0CtC,CAAC;AAIH,eAAO,MAAM,uBAAuB,cA0ClC,CAAC"}
@@ -1,63 +1,194 @@
1
1
  import { uid } from '@luma.gl/api';
2
- import Geometry from '../geometry/geometry';
2
+ import Geometry from '../geometry/geometry.js';
3
3
  export class CubeGeometry extends Geometry {
4
- constructor(props = {}) {
5
- const {
6
- id = uid('cube-geometry'),
7
- indices = true
8
- } = props;
9
- super(indices ? { ...props,
10
- id,
11
- indices: {
12
- size: 1,
13
- value: CUBE_INDICES
14
- },
15
- attributes: { ...ATTRIBUTES,
16
- ...props.attributes
17
- }
18
- } : { ...props,
19
- id,
20
- indices: undefined,
21
- attributes: { ...NON_INDEXED_ATTRIBUTES,
22
- ...props.attributes
23
- }
24
- });
25
- }
26
-
4
+ constructor(props = {}) {
5
+ const { id = uid('cube-geometry'), indices = true } = props;
6
+ super(indices ? {
7
+ ...props,
8
+ id,
9
+ indices: { size: 1, value: CUBE_INDICES },
10
+ attributes: { ...ATTRIBUTES, ...props.attributes }
11
+ } : {
12
+ ...props,
13
+ id,
14
+ indices: undefined,
15
+ attributes: { ...NON_INDEXED_ATTRIBUTES, ...props.attributes }
16
+ });
17
+ }
27
18
  }
28
- const CUBE_INDICES = new Uint16Array([0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13, 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23]);
29
- const CUBE_POSITIONS = new Float32Array([-1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1]);
30
- const CUBE_NORMALS = new Float32Array([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0]);
31
- const CUBE_TEX_COORDS = new Float32Array([0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1]);
32
- export const CUBE_NON_INDEXED_POSITIONS = new Float32Array([1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1]);
33
- export const CUBE_NON_INDEXED_TEX_COORDS = new Float32Array([1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0]);
34
- export const CUBE_NON_INDEXED_COLORS = new Float32Array([1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1]);
19
+ // prettier-ignore
20
+ const CUBE_INDICES = new Uint16Array([
21
+ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13,
22
+ 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23
23
+ ]);
24
+ // prettier-ignore
25
+ const CUBE_POSITIONS = new Float32Array([
26
+ -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1,
27
+ -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1,
28
+ -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1,
29
+ -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1,
30
+ 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1,
31
+ -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1
32
+ ]);
33
+ // TODO - could be Uint8
34
+ // prettier-ignore
35
+ const CUBE_NORMALS = new Float32Array([
36
+ // Front face
37
+ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
38
+ // Back face
39
+ 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1,
40
+ // Top face
41
+ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
42
+ // Bottom face
43
+ 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0,
44
+ // Right face
45
+ 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
46
+ // Left face
47
+ -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0
48
+ ]);
49
+ // prettier-ignore
50
+ const CUBE_TEX_COORDS = new Float32Array([
51
+ // Front face
52
+ 0, 0, 1, 0, 1, 1, 0, 1,
53
+ // Back face
54
+ 1, 0, 1, 1, 0, 1, 0, 0,
55
+ // Top face
56
+ 0, 1, 0, 0, 1, 0, 1, 1,
57
+ // Bottom face
58
+ 1, 1, 0, 1, 0, 0, 1, 0,
59
+ // Right face
60
+ 1, 0, 1, 1, 0, 1, 0, 0,
61
+ // Left face
62
+ 0, 0, 1, 0, 1, 1, 0, 1
63
+ ]);
64
+ // float4 position
65
+ // prettier-ignore
66
+ export const CUBE_NON_INDEXED_POSITIONS = new Float32Array([
67
+ 1, -1, 1, 1,
68
+ -1, -1, 1, 1,
69
+ -1, -1, -1, 1,
70
+ 1, -1, -1, 1,
71
+ 1, -1, 1, 1,
72
+ -1, -1, -1, 1,
73
+ 1, 1, 1, 1,
74
+ 1, -1, 1, 1,
75
+ 1, -1, -1, 1,
76
+ 1, 1, -1, 1,
77
+ 1, 1, 1, 1,
78
+ 1, -1, -1, 1,
79
+ -1, 1, 1, 1,
80
+ 1, 1, 1, 1,
81
+ 1, 1, -1, 1,
82
+ -1, 1, -1, 1,
83
+ -1, 1, 1, 1,
84
+ 1, 1, -1, 1,
85
+ -1, -1, 1, 1,
86
+ -1, 1, 1, 1,
87
+ -1, 1, -1, 1,
88
+ -1, -1, -1, 1,
89
+ -1, -1, 1, 1,
90
+ -1, 1, -1, 1,
91
+ 1, 1, 1, 1,
92
+ -1, 1, 1, 1,
93
+ -1, -1, 1, 1,
94
+ -1, -1, 1, 1,
95
+ 1, -1, 1, 1,
96
+ 1, 1, 1, 1,
97
+ 1, -1, -1, 1,
98
+ -1, -1, -1, 1,
99
+ -1, 1, -1, 1,
100
+ 1, 1, -1, 1,
101
+ 1, -1, -1, 1,
102
+ -1, 1, -1, 1,
103
+ ]);
104
+ // float2 uv,
105
+ // prettier-ignore
106
+ export const CUBE_NON_INDEXED_TEX_COORDS = new Float32Array([
107
+ 1, 1,
108
+ 0, 1,
109
+ 0, 0,
110
+ 1, 0,
111
+ 1, 1,
112
+ 0, 0,
113
+ 1, 1,
114
+ 0, 1,
115
+ 0, 0,
116
+ 1, 0,
117
+ 1, 1,
118
+ 0, 0,
119
+ 1, 1,
120
+ 0, 1,
121
+ 0, 0,
122
+ 1, 0,
123
+ 1, 1,
124
+ 0, 0,
125
+ 1, 1,
126
+ 0, 1,
127
+ 0, 0,
128
+ 1, 0,
129
+ 1, 1,
130
+ 0, 0,
131
+ 1, 1,
132
+ 0, 1,
133
+ 0, 0,
134
+ 0, 0,
135
+ 1, 0,
136
+ 1, 1,
137
+ 1, 1,
138
+ 0, 1,
139
+ 0, 0,
140
+ 1, 0,
141
+ 1, 1,
142
+ 0, 0,
143
+ ]);
144
+ // float4 color
145
+ // prettier-ignore
146
+ export const CUBE_NON_INDEXED_COLORS = new Float32Array([
147
+ 1, 0, 1, 1,
148
+ 0, 0, 1, 1,
149
+ 0, 0, 0, 1,
150
+ 1, 0, 0, 1,
151
+ 1, 0, 1, 1,
152
+ 0, 0, 0, 1,
153
+ 1, 1, 1, 1,
154
+ 1, 0, 1, 1,
155
+ 1, 0, 0, 1,
156
+ 1, 1, 0, 1,
157
+ 1, 1, 1, 1,
158
+ 1, 0, 0, 1,
159
+ 0, 1, 1, 1,
160
+ 1, 1, 1, 1,
161
+ 1, 1, 0, 1,
162
+ 0, 1, 0, 1,
163
+ 0, 1, 1, 1,
164
+ 1, 1, 0, 1,
165
+ 0, 0, 1, 1,
166
+ 0, 1, 1, 1,
167
+ 0, 1, 0, 1,
168
+ 0, 0, 0, 1,
169
+ 0, 0, 1, 1,
170
+ 0, 1, 0, 1,
171
+ 1, 1, 1, 1,
172
+ 0, 1, 1, 1,
173
+ 0, 0, 1, 1,
174
+ 0, 0, 1, 1,
175
+ 1, 0, 1, 1,
176
+ 1, 1, 1, 1,
177
+ 1, 0, 0, 1,
178
+ 0, 0, 0, 1,
179
+ 0, 1, 0, 1,
180
+ 1, 1, 0, 1,
181
+ 1, 0, 0, 1,
182
+ 0, 1, 0, 1,
183
+ ]);
35
184
  const ATTRIBUTES = {
36
- POSITION: {
37
- size: 3,
38
- value: CUBE_POSITIONS
39
- },
40
- NORMAL: {
41
- size: 3,
42
- value: CUBE_NORMALS
43
- },
44
- TEXCOORD_0: {
45
- size: 2,
46
- value: CUBE_TEX_COORDS
47
- }
185
+ POSITION: { size: 3, value: CUBE_POSITIONS },
186
+ NORMAL: { size: 3, value: CUBE_NORMALS },
187
+ TEXCOORD_0: { size: 2, value: CUBE_TEX_COORDS }
48
188
  };
49
189
  const NON_INDEXED_ATTRIBUTES = {
50
- POSITION: {
51
- size: 4,
52
- value: CUBE_NON_INDEXED_POSITIONS
53
- },
54
- TEXCOORD_0: {
55
- size: 2,
56
- value: CUBE_NON_INDEXED_TEX_COORDS
57
- },
58
- COLOR_0: {
59
- size: 3,
60
- value: CUBE_NON_INDEXED_COLORS
61
- }
190
+ POSITION: { size: 4, value: CUBE_NON_INDEXED_POSITIONS },
191
+ // NORMAL: {size: 3, value: CUBE_NON_INDEXED_NORMALS},
192
+ TEXCOORD_0: { size: 2, value: CUBE_NON_INDEXED_TEX_COORDS },
193
+ COLOR_0: { size: 3, value: CUBE_NON_INDEXED_COLORS }
62
194
  };
63
- //# sourceMappingURL=cube-geometry.js.map
@@ -1,5 +1,5 @@
1
1
  import { TruncatedConeGeometry } from './truncated-cone-geometry';
2
- export declare type CylinderGeometryProps = {
2
+ export type CylinderGeometryProps = {
3
3
  id?: string;
4
4
  radius?: number;
5
5
  attributes?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"cylinder-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cylinder-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,oBAAY,qBAAqB,GAAG;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,qBAAqB;gBAC7C,KAAK,GAAE,qBAA0B;CAS9C"}
1
+ {"version":3,"file":"cylinder-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cylinder-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,qBAAqB;gBAC7C,KAAK,GAAE,qBAA0B;CAS9C"}
@@ -1,17 +1,13 @@
1
1
  import { uid } from '@luma.gl/api';
2
- import { TruncatedConeGeometry } from './truncated-cone-geometry';
2
+ import { TruncatedConeGeometry } from './truncated-cone-geometry.js';
3
3
  export class CylinderGeometry extends TruncatedConeGeometry {
4
- constructor(props = {}) {
5
- const {
6
- id = uid('cylinder-geometry'),
7
- radius = 1
8
- } = props;
9
- super({ ...props,
10
- id,
11
- bottomRadius: radius,
12
- topRadius: radius
13
- });
14
- }
15
-
4
+ constructor(props = {}) {
5
+ const { id = uid('cylinder-geometry'), radius = 1 } = props;
6
+ super({
7
+ ...props,
8
+ id,
9
+ bottomRadius: radius,
10
+ topRadius: radius
11
+ });
12
+ }
16
13
  }
17
- //# sourceMappingURL=cylinder-geometry.js.map
@@ -1,5 +1,5 @@
1
1
  import Geometry from '../geometry/geometry';
2
- export declare type IcoSphereGeometryProps = {
2
+ export type IcoSphereGeometryProps = {
3
3
  id?: string;
4
4
  radius?: number;
5
5
  iterations?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ico-sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAO5C,oBAAY,sBAAsB,GAAG;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAA;CACjB,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,KAAK,GAAE,sBAA2B;CAU/C"}
1
+ {"version":3,"file":"ico-sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAO5C,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAA;CACjB,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,KAAK,GAAE,sBAA2B;CAU/C"}