@luma.gl/engine 9.0.0-alpha.29 → 9.0.0-alpha.30

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 (91) hide show
  1. package/LICENSE +2 -1
  2. package/dist/animation-loop/animation-loop.d.ts +1 -1
  3. package/dist/animation-loop/animation-loop.d.ts.map +1 -1
  4. package/dist/animation-loop/animation-loop.js +2 -2
  5. package/dist/animation-loop/animation-loop.js.map +1 -1
  6. package/dist/animation-loop/animation-props.d.ts +1 -1
  7. package/dist/animation-loop/animation-props.d.ts.map +1 -1
  8. package/dist/animation-loop/animation-props.js.map +1 -1
  9. package/dist/animation-loop/make-animation-loop.js +1 -1
  10. package/dist/animation-loop/make-animation-loop.js.map +1 -1
  11. package/dist/dist.dev.js +69 -91
  12. package/dist/geometries/cone-geometry.js +1 -1
  13. package/dist/geometries/cone-geometry.js.map +1 -1
  14. package/dist/geometries/cube-geometry.d.ts.map +1 -1
  15. package/dist/geometries/cube-geometry.js +3 -1
  16. package/dist/geometries/cube-geometry.js.map +1 -1
  17. package/dist/geometries/cylinder-geometry.js +1 -1
  18. package/dist/geometries/cylinder-geometry.js.map +1 -1
  19. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
  20. package/dist/geometries/ico-sphere-geometry.js +2 -1
  21. package/dist/geometries/ico-sphere-geometry.js.map +1 -1
  22. package/dist/geometries/plane-geometry.d.ts.map +1 -1
  23. package/dist/geometries/plane-geometry.js +2 -1
  24. package/dist/geometries/plane-geometry.js.map +1 -1
  25. package/dist/geometries/sphere-geometry.d.ts.map +1 -1
  26. package/dist/geometries/sphere-geometry.js +2 -1
  27. package/dist/geometries/sphere-geometry.js.map +1 -1
  28. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
  29. package/dist/geometries/truncated-cone-geometry.js +2 -1
  30. package/dist/geometries/truncated-cone-geometry.js.map +1 -1
  31. package/dist/geometry/geometry-table.d.ts +1 -1
  32. package/dist/geometry/geometry-table.d.ts.map +1 -1
  33. package/dist/geometry/geometry-table.js.map +1 -1
  34. package/dist/geometry/geometry.d.ts +9 -36
  35. package/dist/geometry/geometry.d.ts.map +1 -1
  36. package/dist/geometry/geometry.js +6 -44
  37. package/dist/geometry/geometry.js.map +1 -1
  38. package/dist/index.cjs +67 -113
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/clip-space.d.ts +1 -1
  43. package/dist/lib/clip-space.d.ts.map +1 -1
  44. package/dist/lib/clip-space.js +2 -3
  45. package/dist/lib/clip-space.js.map +1 -1
  46. package/dist/lib/pipeline-factory.d.ts +2 -2
  47. package/dist/lib/pipeline-factory.d.ts.map +1 -1
  48. package/dist/lib/pipeline-factory.js.map +1 -1
  49. package/dist/model/model-utils.d.ts +1 -1
  50. package/dist/model/model-utils.d.ts.map +1 -1
  51. package/dist/model/model-utils.js +1 -1
  52. package/dist/model/model-utils.js.map +1 -1
  53. package/dist/model/model.d.ts +2 -2
  54. package/dist/model/model.d.ts.map +1 -1
  55. package/dist/model/model.js +2 -2
  56. package/dist/model/model.js.map +1 -1
  57. package/dist/scenegraph/group-node.js +1 -1
  58. package/dist/scenegraph/group-node.js.map +1 -1
  59. package/dist/scenegraph/model-node.d.ts +1 -1
  60. package/dist/scenegraph/model-node.d.ts.map +1 -1
  61. package/dist/scenegraph/model-node.js.map +1 -1
  62. package/dist/scenegraph/scenegraph-node.d.ts +1 -1
  63. package/dist/scenegraph/scenegraph-node.d.ts.map +1 -1
  64. package/dist/scenegraph/scenegraph-node.js +1 -1
  65. package/dist/scenegraph/scenegraph-node.js.map +1 -1
  66. package/dist/transform/transform.d.ts +1 -1
  67. package/dist/transform/transform.d.ts.map +1 -1
  68. package/dist/transform/transform.js.map +1 -1
  69. package/dist.min.js +23 -23
  70. package/package.json +6 -6
  71. package/src/animation-loop/animation-loop.ts +2 -2
  72. package/src/animation-loop/animation-props.ts +1 -1
  73. package/src/animation-loop/make-animation-loop.ts +1 -1
  74. package/src/geometries/cone-geometry.ts +1 -1
  75. package/src/geometries/cube-geometry.ts +3 -1
  76. package/src/geometries/cylinder-geometry.ts +1 -1
  77. package/src/geometries/ico-sphere-geometry.ts +2 -1
  78. package/src/geometries/plane-geometry.ts +2 -1
  79. package/src/geometries/sphere-geometry.ts +2 -1
  80. package/src/geometries/truncated-cone-geometry.ts +2 -1
  81. package/src/geometry/geometry-table.ts +1 -1
  82. package/src/geometry/geometry.ts +37 -87
  83. package/src/index.ts +1 -0
  84. package/src/lib/clip-space.ts +2 -3
  85. package/src/lib/pipeline-factory.ts +2 -2
  86. package/src/model/model-utils.ts +1 -1
  87. package/src/model/model.ts +2 -2
  88. package/src/scenegraph/group-node.ts +1 -1
  89. package/src/scenegraph/model-node.ts +1 -1
  90. package/src/scenegraph/scenegraph-node.ts +1 -1
  91. package/src/transform/transform.ts +1 -1
package/dist/dist.dev.js CHANGED
@@ -791,7 +791,7 @@ var __exports__ = (() => {
791
791
  id: "@probe.gl/log"
792
792
  });
793
793
 
794
- // ../api/src/lib/utils/log.ts
794
+ // ../core/src/lib/utils/log.ts
795
795
  var log = new Log({
796
796
  id: "luma.gl"
797
797
  });
@@ -987,7 +987,7 @@ var __exports__ = (() => {
987
987
  }
988
988
  };
989
989
 
990
- // ../api/src/lib/utils/stats-manager.ts
990
+ // ../core/src/lib/utils/stats-manager.ts
991
991
  var StatsManager = class {
992
992
  stats = /* @__PURE__ */ new Map();
993
993
  getStats(name) {
@@ -1004,7 +1004,7 @@ var __exports__ = (() => {
1004
1004
  };
1005
1005
  var lumaStats = new StatsManager();
1006
1006
 
1007
- // ../api/src/init.ts
1007
+ // ../core/src/init.ts
1008
1008
  function initializeLuma() {
1009
1009
  const VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
1010
1010
  const STARTUP_MESSAGE = "set luma.log.level=1 (or higher) to trace rendering";
@@ -1028,7 +1028,7 @@ var __exports__ = (() => {
1028
1028
  }
1029
1029
  var VERSION2 = initializeLuma();
1030
1030
 
1031
- // ../api/src/lib/utils/utils.ts
1031
+ // ../core/src/lib/utils/utils.ts
1032
1032
  var uidCounters = {};
1033
1033
  function uid(id = "id") {
1034
1034
  uidCounters[id] = uidCounters[id] || 1;
@@ -1047,7 +1047,7 @@ var __exports__ = (() => {
1047
1047
  return isEmpty;
1048
1048
  }
1049
1049
 
1050
- // ../api/src/adapter/resources/resource.ts
1050
+ // ../core/src/adapter/resources/resource.ts
1051
1051
  var DEFAULT_RESOURCE_PROPS = {
1052
1052
  id: "undefined",
1053
1053
  handle: void 0,
@@ -1177,7 +1177,7 @@ var __exports__ = (() => {
1177
1177
  return mergedProps;
1178
1178
  }
1179
1179
 
1180
- // ../api/src/adapter/resources/buffer.ts
1180
+ // ../core/src/adapter/resources/buffer.ts
1181
1181
  var DEFAULT_BUFFER_PROPS = {
1182
1182
  ...DEFAULT_RESOURCE_PROPS,
1183
1183
  usage: 0,
@@ -1274,7 +1274,7 @@ var __exports__ = (() => {
1274
1274
  __publicField(Buffer2, "INDIRECT", 256);
1275
1275
  __publicField(Buffer2, "QUERY_RESOLVE", 512);
1276
1276
 
1277
- // ../api/src/adapter/device.ts
1277
+ // ../core/src/adapter/device.ts
1278
1278
  var DEFAULT_DEVICE_PROPS = {
1279
1279
  id: null,
1280
1280
  type: "best-available",
@@ -1379,7 +1379,7 @@ var __exports__ = (() => {
1379
1379
  };
1380
1380
  __publicField(Device, "VERSION", VERSION2);
1381
1381
 
1382
- // ../api/src/lib/luma.ts
1382
+ // ../core/src/lib/luma.ts
1383
1383
  var deviceList = /* @__PURE__ */ new Map();
1384
1384
  var luma = class {
1385
1385
  static registerDevices(deviceClasses) {
@@ -1437,7 +1437,7 @@ var __exports__ = (() => {
1437
1437
  /** Global log */
1438
1438
  __publicField(luma, "log", log);
1439
1439
 
1440
- // ../api/src/adapter/canvas-context.ts
1440
+ // ../core/src/adapter/canvas-context.ts
1441
1441
  var isPage = isBrowser() && typeof document !== "undefined";
1442
1442
  var isPageLoaded = () => isPage && document.readyState === "complete";
1443
1443
  var DEFAULT_CANVAS_CONTEXT_PROPS = {
@@ -1716,7 +1716,7 @@ var __exports__ = (() => {
1716
1716
  return yInvert ? Math.max(0, height - 1 - Math.round(y * ratio)) : Math.min(Math.round(y * ratio), height - 1);
1717
1717
  }
1718
1718
 
1719
- // ../api/src/adapter/resources/texture.ts
1719
+ // ../core/src/adapter/resources/texture.ts
1720
1720
  var DEFAULT_TEXTURE_PROPS = {
1721
1721
  ...DEFAULT_RESOURCE_PROPS,
1722
1722
  data: null,
@@ -1760,7 +1760,7 @@ var __exports__ = (() => {
1760
1760
  __publicField(Texture, "STORAGE_BINDING", 8);
1761
1761
  __publicField(Texture, "RENDER_ATTACHMENT", 16);
1762
1762
 
1763
- // ../api/src/adapter/resources/shader.ts
1763
+ // ../core/src/adapter/resources/shader.ts
1764
1764
  var DEFAULT_SHADER_PROPS = {
1765
1765
  ...DEFAULT_RESOURCE_PROPS,
1766
1766
  stage: "vertex",
@@ -1780,7 +1780,7 @@ var __exports__ = (() => {
1780
1780
  }
1781
1781
  };
1782
1782
 
1783
- // ../api/src/adapter/resources/sampler.ts
1783
+ // ../core/src/adapter/resources/sampler.ts
1784
1784
  var DEFAULT_SAMPLER_PROPS = {
1785
1785
  ...DEFAULT_RESOURCE_PROPS,
1786
1786
  type: "color-sampler",
@@ -1805,7 +1805,7 @@ var __exports__ = (() => {
1805
1805
  }
1806
1806
  };
1807
1807
 
1808
- // ../api/src/adapter/resources/framebuffer.ts
1808
+ // ../core/src/adapter/resources/framebuffer.ts
1809
1809
  var DEFAULT_FRAMEBUFFER_PROPS = {
1810
1810
  ...DEFAULT_RESOURCE_PROPS,
1811
1811
  width: 1,
@@ -1993,7 +1993,7 @@ var __exports__ = (() => {
1993
1993
  */
1994
1994
  };
1995
1995
 
1996
- // ../api/src/adapter/resources/render-pipeline.ts
1996
+ // ../core/src/adapter/resources/render-pipeline.ts
1997
1997
  var DEFAULT_RENDER_PIPELINE_PROPS = {
1998
1998
  ...DEFAULT_RESOURCE_PROPS,
1999
1999
  vs: null,
@@ -2035,7 +2035,7 @@ var __exports__ = (() => {
2035
2035
  /** Private "export" for Model class */
2036
2036
  __publicField(RenderPipeline, "_DEFAULT_PROPS", DEFAULT_RENDER_PIPELINE_PROPS);
2037
2037
 
2038
- // ../api/src/adapter/resources/render-pass.ts
2038
+ // ../core/src/adapter/resources/render-pass.ts
2039
2039
  var _RenderPass = class extends Resource {
2040
2040
  get [Symbol.toStringTag]() {
2041
2041
  return "RenderPass";
@@ -2092,7 +2092,7 @@ var __exports__ = (() => {
2092
2092
  discard: false
2093
2093
  });
2094
2094
 
2095
- // ../api/src/adapter/resources/command-encoder.ts
2095
+ // ../core/src/adapter/resources/command-encoder.ts
2096
2096
  var DEFAULT_COMMAND_ENCODER_PROPS = {
2097
2097
  ...DEFAULT_RESOURCE_PROPS
2098
2098
  };
@@ -2123,7 +2123,7 @@ var __exports__ = (() => {
2123
2123
  // }): void;
2124
2124
  };
2125
2125
 
2126
- // ../api/src/adapter/resources/command-buffer.ts
2126
+ // ../core/src/adapter/resources/command-buffer.ts
2127
2127
  var DEFAULT_COMMAND_ENCODER_PROPS2 = {
2128
2128
  ...DEFAULT_RESOURCE_PROPS
2129
2129
  };
@@ -2136,14 +2136,14 @@ var __exports__ = (() => {
2136
2136
  }
2137
2137
  };
2138
2138
 
2139
- // ../api/src/lib/utils/assert.ts
2139
+ // ../core/src/lib/utils/assert.ts
2140
2140
  function assert2(condition, message2) {
2141
2141
  if (!condition) {
2142
2142
  throw new Error(message2 || "luma.gl: assertion failed.");
2143
2143
  }
2144
2144
  }
2145
2145
 
2146
- // ../api/src/adapter/utils/decode-data-type.ts
2146
+ // ../core/src/adapter/utils/decode-data-type.ts
2147
2147
  function decodeVertexType(type) {
2148
2148
  const dataType = TYPE_MAP[type];
2149
2149
  const bytes = getDataTypeBytes(dataType);
@@ -2187,13 +2187,18 @@ var __exports__ = (() => {
2187
2187
  sint32: 4
2188
2188
  };
2189
2189
 
2190
- // ../api/src/adapter/utils/decode-vertex-format.ts
2190
+ // ../core/src/adapter/utils/decode-vertex-format.ts
2191
2191
  function decodeVertexFormat(format) {
2192
+ let webglOnly;
2193
+ if (format.endsWith("-webgl")) {
2194
+ format.replace("-webgl", "");
2195
+ webglOnly = true;
2196
+ }
2192
2197
  const [type_, count] = format.split("x");
2193
2198
  const type = type_;
2194
2199
  const components = count ? parseInt(count) : 1;
2195
2200
  const decodedType = decodeVertexType(type);
2196
- return {
2201
+ const result = {
2197
2202
  type,
2198
2203
  components,
2199
2204
  byteLength: decodedType.byteLength * components,
@@ -2201,9 +2206,13 @@ var __exports__ = (() => {
2201
2206
  signed: decodedType.signed,
2202
2207
  normalized: decodedType.normalized
2203
2208
  };
2209
+ if (webglOnly) {
2210
+ result.webglOnly = true;
2211
+ }
2212
+ return result;
2204
2213
  }
2205
2214
 
2206
- // ../api/src/adapter/utils/decode-texture-format.ts
2215
+ // ../core/src/adapter/utils/decode-texture-format.ts
2207
2216
  var REGEX = /^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;
2208
2217
  function decodeTextureFormat(format) {
2209
2218
  const matches = REGEX.exec(format);
@@ -2309,7 +2318,7 @@ var __exports__ = (() => {
2309
2318
  };
2310
2319
  }
2311
2320
 
2312
- // ../api/src/lib/compiler-log/format-compiler-log.ts
2321
+ // ../core/src/lib/compiler-log/format-compiler-log.ts
2313
2322
  function formatCompilerLog(shaderLog, source, options) {
2314
2323
  const lines = source.split(/\r?\n/);
2315
2324
  let formattedLog = "";
@@ -2349,12 +2358,12 @@ var __exports__ = (() => {
2349
2358
  return result + string;
2350
2359
  }
2351
2360
 
2352
- // ../api/src/lib/utils/cast.ts
2361
+ // ../core/src/lib/utils/cast.ts
2353
2362
  function cast(value) {
2354
2363
  return value;
2355
2364
  }
2356
2365
 
2357
- // ../api/src/lib/utils/stub-methods.ts
2366
+ // ../core/src/lib/utils/stub-methods.ts
2358
2367
  function stubRemovedMethods(instance, className, version, methodNames) {
2359
2368
  const upgradeMessage = `See luma.gl ${version} Upgrade Guide at https://luma.gl/docs/upgrade-guide`;
2360
2369
  const prototype = Object.getPrototypeOf(instance);
@@ -2369,7 +2378,7 @@ var __exports__ = (() => {
2369
2378
  });
2370
2379
  }
2371
2380
 
2372
- // ../api/src/lib/utils/check-props.ts
2381
+ // ../core/src/lib/utils/check-props.ts
2373
2382
  function checkProps(className, props, propChecks) {
2374
2383
  const {
2375
2384
  removedProps = {},
@@ -2401,7 +2410,7 @@ var __exports__ = (() => {
2401
2410
  return newProps || props;
2402
2411
  }
2403
2412
 
2404
- // ../api/src/lib/utils/load-file.ts
2413
+ // ../core/src/lib/utils/load-file.ts
2405
2414
  var pathPrefix = "";
2406
2415
  async function loadImage(url, opts) {
2407
2416
  return new Promise((resolve, reject) => {
@@ -2434,7 +2443,7 @@ var __exports__ = (() => {
2434
2443
  });
2435
2444
  }
2436
2445
 
2437
- // ../api/src/lib/utils/array-utils-flat.ts
2446
+ // ../core/src/lib/utils/array-utils-flat.ts
2438
2447
  var arrayBuffer;
2439
2448
  function getScratchArrayBuffer(byteLength) {
2440
2449
  if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {
@@ -2471,7 +2480,7 @@ var __exports__ = (() => {
2471
2480
  return options.target;
2472
2481
  }
2473
2482
 
2474
- // ../api/src/lib/request-animation-frame.ts
2483
+ // ../core/src/lib/request-animation-frame.ts
2475
2484
  function requestAnimationFrame(callback) {
2476
2485
  return typeof window !== "undefined" && window.requestAnimationFrame ? window.requestAnimationFrame(callback) : setTimeout(callback, 1e3 / 60);
2477
2486
  }
@@ -2479,7 +2488,7 @@ var __exports__ = (() => {
2479
2488
  return typeof window !== "undefined" && window.cancelAnimationFrame ? window.cancelAnimationFrame(timerId) : clearTimeout(timerId);
2480
2489
  }
2481
2490
 
2482
- // ../api/src/index.ts
2491
+ // ../core/src/index.ts
2483
2492
  var glsl = (x) => `${x}`;
2484
2493
 
2485
2494
  // src/animation-loop/animation-loop.ts
@@ -11887,8 +11896,12 @@ ${formattedLog}`)();
11887
11896
  glParameters.stencilMask = this.props.stencilReadOnly ? 0 : 1;
11888
11897
  glParameters[GL.RASTERIZER_DISCARD] = this.props.discard;
11889
11898
  if (parameters.viewport) {
11890
- glParameters.viewport = parameters.viewport;
11891
- glParameters.depthRange = [parameters.viewport[4], parameters.viewport[5]];
11899
+ if (parameters.viewport.length >= 6) {
11900
+ glParameters.viewport = parameters.viewport.slice(0, 4);
11901
+ glParameters.depthRange = [parameters.viewport[4], parameters.viewport[5]];
11902
+ } else {
11903
+ glParameters.viewport = parameters.viewport;
11904
+ }
11892
11905
  }
11893
11906
  glParameters.scissorTest = Boolean(parameters.scissorRect);
11894
11907
  if (parameters.scissorRect) {
@@ -12416,7 +12429,7 @@ ${formattedLog}`)();
12416
12429
  value = 1;
12417
12430
  }
12418
12431
  if (value === false) {
12419
- value = 1;
12432
+ value = 0;
12420
12433
  }
12421
12434
  const arrayValue = typeof value === "number" ? [value] : value;
12422
12435
  switch (type) {
@@ -12739,8 +12752,8 @@ ${formattedLog}`)();
12739
12752
  type: typeString,
12740
12753
  components: size,
12741
12754
  byteLength: stride,
12742
- normalized,
12743
- integer
12755
+ normalized
12756
+ /* , integer*/
12744
12757
  } = decoded;
12745
12758
  const divisor = attribute.stepMode === "instance" ? 1 : 0;
12746
12759
  const type = getWebGLDataType(typeString);
@@ -12750,7 +12763,12 @@ ${formattedLog}`)();
12750
12763
  stride,
12751
12764
  offset: 0,
12752
12765
  normalized,
12753
- integer,
12766
+ // it is the shader attribute declaration, not the vertex memory format,
12767
+ // that determines if the data in the buffer will be treated as integers.
12768
+ // /
12769
+ // Also note that WebGL supports assigning non-normalized integer data to floating point attributes,
12770
+ // but as far as we can tell, WebGPU does not.
12771
+ integer: false,
12754
12772
  divisor
12755
12773
  });
12756
12774
  }
@@ -12998,13 +13016,13 @@ ${formattedLog}`)();
12998
13016
  return GL.LINES;
12999
13017
  case "line-strip":
13000
13018
  return GL.LINE_STRIP;
13001
- case "line-loop":
13019
+ case "line-loop-webgl":
13002
13020
  return GL.LINE_LOOP;
13003
13021
  case "triangle-list":
13004
13022
  return GL.TRIANGLES;
13005
13023
  case "triangle-strip":
13006
13024
  return GL.TRIANGLE_STRIP;
13007
- case "triangle-fan":
13025
+ case "triangle-fan-webgl":
13008
13026
  return GL.TRIANGLE_FAN;
13009
13027
  default:
13010
13028
  throw new Error(topology);
@@ -13018,13 +13036,13 @@ ${formattedLog}`)();
13018
13036
  return GL.LINES;
13019
13037
  case "line-strip":
13020
13038
  return GL.LINES;
13021
- case "line-loop":
13039
+ case "line-loop-webgl":
13022
13040
  return GL.LINES;
13023
13041
  case "triangle-list":
13024
13042
  return GL.TRIANGLES;
13025
13043
  case "triangle-strip":
13026
13044
  return GL.TRIANGLES;
13027
- case "triangle-fan":
13045
+ case "triangle-fan-webgl":
13028
13046
  return GL.TRIANGLES;
13029
13047
  default:
13030
13048
  throw new Error(topology);
@@ -13677,21 +13695,16 @@ ${formattedLog}`)();
13677
13695
 
13678
13696
  // src/geometry/geometry.ts
13679
13697
  var Geometry = class {
13680
- userData = {};
13681
13698
  /** Determines how vertices are read from the 'vertex' attributes */
13682
- /** @deprecated */
13683
- drawMode = GL.TRIANGLES;
13684
- constructor(props = {}) {
13699
+ userData = {};
13700
+ constructor(props) {
13685
13701
  const {
13686
- id = uid("geometry"),
13687
- drawMode = GL.TRIANGLES,
13688
13702
  attributes = {},
13689
13703
  indices = null,
13690
13704
  vertexCount = null
13691
13705
  } = props;
13692
- this.id = id;
13693
- this.drawMode = drawMode;
13694
- this.topology = props.topology || convertToTopology(drawMode);
13706
+ this.id = props.id || uid("geometry");
13707
+ this.topology = props.topology;
13695
13708
  if (indices) {
13696
13709
  this.indices = ArrayBuffer.isView(indices) ? {
13697
13710
  value: indices,
@@ -13720,10 +13733,6 @@ ${formattedLog}`)();
13720
13733
  }
13721
13734
  this.vertexCount = vertexCount || this._calculateVertexCount(this.attributes, this.indices);
13722
13735
  }
13723
- /** @deprecated Use string topology constants instead */
13724
- get mode() {
13725
- return this.drawMode;
13726
- }
13727
13736
  getVertexCount() {
13728
13737
  return this.vertexCount;
13729
13738
  }
@@ -13766,43 +13775,6 @@ ${formattedLog}`)();
13766
13775
  return vertexCount;
13767
13776
  }
13768
13777
  };
13769
- /** @deprecated */
13770
- __publicField(Geometry, "DRAW_MODE", {
13771
- POINTS: GL.POINTS,
13772
- // draw single points.
13773
- LINES: GL.LINES,
13774
- // draw lines. Each vertex connects to the one after it.
13775
- LINE_LOOP: GL.LINE_LOOP,
13776
- // draw lines. Each set of two vertices is treated as a separate line segment.
13777
- LINE_STRIP: GL.LINE_STRIP,
13778
- // draw a connected group of line segments from the first vertex to the last
13779
- TRIANGLES: GL.TRIANGLES,
13780
- // draw triangles. Each set of three vertices creates a separate triangle.
13781
- TRIANGLE_STRIP: GL.TRIANGLE_STRIP,
13782
- // draw a connected group of triangles.
13783
- TRIANGLE_FAN: GL.TRIANGLE_FAN
13784
- // draw a connected group of triangles.
13785
- });
13786
- function convertToTopology(drawMode) {
13787
- switch (drawMode) {
13788
- case GL.POINTS:
13789
- return "point-list";
13790
- case GL.LINES:
13791
- return "line-list";
13792
- case GL.LINE_STRIP:
13793
- return "line-strip";
13794
- case GL.TRIANGLES:
13795
- return "triangle-list";
13796
- case GL.TRIANGLE_STRIP:
13797
- return "triangle-strip";
13798
- case GL.TRIANGLE_FAN:
13799
- return "triangle-fan";
13800
- case GL.LINE_LOOP:
13801
- return "line-loop";
13802
- default:
13803
- throw new Error(String(drawMode));
13804
- }
13805
- }
13806
13778
 
13807
13779
  // src/lib/clip-space.ts
13808
13780
  var CLIPSPACE_VERTEX_SHADER = glsl`\
@@ -13830,7 +13802,7 @@ void main(void) {
13830
13802
  vs: CLIPSPACE_VERTEX_SHADER,
13831
13803
  vertexCount: 4,
13832
13804
  geometry: new Geometry({
13833
- drawMode: GL.TRIANGLE_STRIP,
13805
+ topology: "triangle-strip",
13834
13806
  vertexCount: 4,
13835
13807
  attributes: {
13836
13808
  aClipSpacePosition: {
@@ -14144,6 +14116,7 @@ void main(void) {
14144
14116
  super({
14145
14117
  ...props,
14146
14118
  id,
14119
+ topology: "triangle-list",
14147
14120
  indices,
14148
14121
  attributes: {
14149
14122
  POSITION: {
@@ -14277,6 +14250,7 @@ void main(void) {
14277
14250
  super(indices ? {
14278
14251
  ...props,
14279
14252
  id,
14253
+ topology: "triangle-list",
14280
14254
  indices: {
14281
14255
  size: 1,
14282
14256
  value: CUBE_INDICES
@@ -14288,6 +14262,7 @@ void main(void) {
14288
14262
  } : {
14289
14263
  ...props,
14290
14264
  id,
14265
+ topology: "triangle-list",
14291
14266
  indices: void 0,
14292
14267
  attributes: {
14293
14268
  ...NON_INDEXED_ATTRIBUTES,
@@ -14498,6 +14473,7 @@ void main(void) {
14498
14473
  super({
14499
14474
  ...props,
14500
14475
  id,
14476
+ topology: "triangle-list",
14501
14477
  indices,
14502
14478
  attributes: {
14503
14479
  ...attributes,
@@ -14701,6 +14677,7 @@ void main(void) {
14701
14677
  super({
14702
14678
  ...props,
14703
14679
  id,
14680
+ topology: "triangle-list",
14704
14681
  indices,
14705
14682
  attributes: {
14706
14683
  ...attributes,
@@ -14817,6 +14794,7 @@ void main(void) {
14817
14794
  super({
14818
14795
  ...props,
14819
14796
  id,
14797
+ topology: "triangle-list",
14820
14798
  indices,
14821
14799
  attributes: {
14822
14800
  ...attributes,
@@ -1,4 +1,4 @@
1
- import { uid } from '@luma.gl/api';
1
+ import { uid } from '@luma.gl/core';
2
2
  import { TruncatedConeGeometry } from "./truncated-cone-geometry.js";
3
3
  export class ConeGeometry extends TruncatedConeGeometry {
4
4
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"cone-geometry.js","names":["uid","TruncatedConeGeometry","ConeGeometry","constructor","props","arguments","length","undefined","id","radius","cap","topRadius","topCap","Boolean","bottomCap","bottomRadius"],"sources":["../../src/geometries/cone-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport {TruncatedConeGeometry} from './truncated-cone-geometry';\n\nexport type ConeGeometryProps = {\n id?: string;\n radius?: number;\n cap?: boolean;\n};\n\nexport class ConeGeometry extends TruncatedConeGeometry {\n constructor(props: ConeGeometryProps = {}) {\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"],"mappings":"AAAA,SAAQA,GAAG,QAAO,cAAc;AAAC,SACzBC,qBAAqB;AAQ7B,OAAO,MAAMC,YAAY,SAASD,qBAAqB,CAAC;EACtDE,WAAWA,CAAA,EAAgC;IAAA,IAA/BC,KAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACvC,MAAM;MAACG,EAAE,GAAGR,GAAG,CAAC,eAAe,CAAC;MAAES,MAAM,GAAG,CAAC;MAAEC,GAAG,GAAG;IAAI,CAAC,GAAGN,KAAK;IACjE,KAAK,CAAC;MACJ,GAAGA,KAAK;MACRI,EAAE;MACFG,SAAS,EAAE,CAAC;MACZC,MAAM,EAAEC,OAAO,CAACH,GAAG,CAAC;MACpBI,SAAS,EAAED,OAAO,CAACH,GAAG,CAAC;MACvBK,YAAY,EAAEN;IAChB,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"file":"cone-geometry.js","names":["uid","TruncatedConeGeometry","ConeGeometry","constructor","props","arguments","length","undefined","id","radius","cap","topRadius","topCap","Boolean","bottomCap","bottomRadius"],"sources":["../../src/geometries/cone-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/core';\nimport {TruncatedConeGeometry} from './truncated-cone-geometry';\n\nexport type ConeGeometryProps = {\n id?: string;\n radius?: number;\n cap?: boolean;\n};\n\nexport class ConeGeometry extends TruncatedConeGeometry {\n constructor(props: ConeGeometryProps = {}) {\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"],"mappings":"AAAA,SAAQA,GAAG,QAAO,eAAe;AAAC,SAC1BC,qBAAqB;AAQ7B,OAAO,MAAMC,YAAY,SAASD,qBAAqB,CAAC;EACtDE,WAAWA,CAAA,EAAgC;IAAA,IAA/BC,KAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACvC,MAAM;MAACG,EAAE,GAAGR,GAAG,CAAC,eAAe,CAAC;MAAES,MAAM,GAAG,CAAC;MAAEC,GAAG,GAAG;IAAI,CAAC,GAAGN,KAAK;IACjE,KAAK,CAAC;MACJ,GAAGA,KAAK;MACRI,EAAE;MACFG,SAAS,EAAE,CAAC;MACZC,MAAM,EAAEC,OAAO,CAACH,GAAG,CAAC;MACpBI,SAAS,EAAED,OAAO,CAACH,GAAG,CAAC;MACvBK,YAAY,EAAEN;IAChB,CAAC,CAAC;EACJ;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"cube-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cube-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,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
+ {"version":3,"file":"cube-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cube-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,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;CAgB1C;AAqDD,eAAO,MAAM,0BAA0B,cA0CrC,CAAC;AAIH,eAAO,MAAM,2BAA2B,cA0CtC,CAAC;AAIH,eAAO,MAAM,uBAAuB,cA0ClC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { uid } from '@luma.gl/api';
1
+ import { uid } from '@luma.gl/core';
2
2
  import { Geometry } from "../geometry/geometry.js";
3
3
  export class CubeGeometry extends Geometry {
4
4
  constructor() {
@@ -10,6 +10,7 @@ export class CubeGeometry extends Geometry {
10
10
  super(indices ? {
11
11
  ...props,
12
12
  id,
13
+ topology: 'triangle-list',
13
14
  indices: {
14
15
  size: 1,
15
16
  value: CUBE_INDICES
@@ -21,6 +22,7 @@ export class CubeGeometry extends Geometry {
21
22
  } : {
22
23
  ...props,
23
24
  id,
25
+ topology: 'triangle-list',
24
26
  indices: undefined,
25
27
  attributes: {
26
28
  ...NON_INDEXED_ATTRIBUTES,
@@ -1 +1 @@
1
- {"version":3,"file":"cube-geometry.js","names":["uid","Geometry","CubeGeometry","constructor","props","arguments","length","undefined","id","indices","size","value","CUBE_INDICES","attributes","ATTRIBUTES","NON_INDEXED_ATTRIBUTES","Uint16Array","CUBE_POSITIONS","Float32Array","CUBE_NORMALS","CUBE_TEX_COORDS","CUBE_NON_INDEXED_POSITIONS","CUBE_NON_INDEXED_TEX_COORDS","CUBE_NON_INDEXED_COLORS","POSITION","NORMAL","TEXCOORD_0","COLOR_0"],"sources":["../../src/geometries/cube-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport {Geometry} from '../geometry/geometry';\n// import type {GeometryType} from '../geometry/geometry-type';\n\nexport type CubeGeometryProps = {\n id?: string;\n indices?: boolean;\n attributes?: any;\n};\n\nexport class CubeGeometry extends Geometry {\n constructor(props: CubeGeometryProps = {}) {\n const {id = uid('cube-geometry'), indices = true} = props;\n super(indices ? {\n ...props,\n id,\n indices: {size: 1, value: CUBE_INDICES},\n attributes: {...ATTRIBUTES, ...props.attributes}\n } : {\n ...props,\n id,\n indices: undefined,\n attributes: {...NON_INDEXED_ATTRIBUTES, ...props.attributes}\n });\n }\n}\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\n// float4 position\n// prettier-ignore\nexport const CUBE_NON_INDEXED_POSITIONS = new Float32Array([\n 1, -1, 1, 1,\n -1, -1, 1, 1,\n -1, -1, -1, 1,\n 1, -1, -1, 1,\n 1, -1, 1, 1,\n -1, -1, -1, 1,\n\n 1, 1, 1, 1,\n 1, -1, 1, 1,\n 1, -1, -1, 1,\n 1, 1, -1, 1,\n 1, 1, 1, 1,\n 1, -1, -1, 1,\n\n -1, 1, 1, 1,\n 1, 1, 1, 1,\n 1, 1, -1, 1,\n -1, 1, -1, 1,\n -1, 1, 1, 1,\n 1, 1, -1, 1,\n\n -1, -1, 1, 1,\n -1, 1, 1, 1,\n -1, 1, -1, 1,\n -1, -1, -1, 1,\n -1, -1, 1, 1,\n -1, 1, -1, 1,\n\n 1, 1, 1, 1,\n -1, 1, 1, 1,\n -1, -1, 1, 1,\n -1, -1, 1, 1,\n 1, -1, 1, 1,\n 1, 1, 1, 1,\n\n 1, -1, -1, 1,\n -1, -1, -1, 1,\n -1, 1, -1, 1,\n 1, 1, -1, 1,\n 1, -1, -1, 1,\n -1, 1, -1, 1,\n]);\n\n// float2 uv,\n// prettier-ignore\nexport const CUBE_NON_INDEXED_TEX_COORDS = new Float32Array([\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 0, 0,\n 1, 0,\n 1, 1,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n]);\n\n// float4 color\n// prettier-ignore\nexport const CUBE_NON_INDEXED_COLORS = new Float32Array([\n 1, 0, 1, 1,\n 0, 0, 1, 1,\n 0, 0, 0, 1,\n 1, 0, 0, 1,\n 1, 0, 1, 1,\n 0, 0, 0, 1,\n\n 1, 1, 1, 1,\n 1, 0, 1, 1,\n 1, 0, 0, 1,\n 1, 1, 0, 1,\n 1, 1, 1, 1,\n 1, 0, 0, 1,\n\n 0, 1, 1, 1,\n 1, 1, 1, 1,\n 1, 1, 0, 1,\n 0, 1, 0, 1,\n 0, 1, 1, 1,\n 1, 1, 0, 1,\n\n 0, 0, 1, 1,\n 0, 1, 1, 1,\n 0, 1, 0, 1,\n 0, 0, 0, 1,\n 0, 0, 1, 1,\n 0, 1, 0, 1,\n\n 1, 1, 1, 1,\n 0, 1, 1, 1,\n 0, 0, 1, 1,\n 0, 0, 1, 1,\n 1, 0, 1, 1,\n 1, 1, 1, 1,\n\n 1, 0, 0, 1,\n 0, 0, 0, 1,\n 0, 1, 0, 1,\n 1, 1, 0, 1,\n 1, 0, 0, 1,\n 0, 1, 0, 1,\n]);\n\nconst ATTRIBUTES = {\n POSITION: {size: 3, value: CUBE_POSITIONS},\n NORMAL: {size: 3, value: CUBE_NORMALS},\n TEXCOORD_0: {size: 2, value: CUBE_TEX_COORDS}\n};\n\nconst NON_INDEXED_ATTRIBUTES = {\n POSITION: {size: 4, value: CUBE_NON_INDEXED_POSITIONS},\n // NORMAL: {size: 3, value: CUBE_NON_INDEXED_NORMALS},\n TEXCOORD_0: {size: 2, value: CUBE_NON_INDEXED_TEX_COORDS},\n COLOR_0: {size: 3, value: CUBE_NON_INDEXED_COLORS}\n};\n"],"mappings":"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,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACX,CAAC;AAEF,MAAMJ,UAAU,GAAG;EACjBU,QAAQ,EAAE;IAACd,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEM;EAAc,CAAC;EAC1CQ,MAAM,EAAE;IAACf,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEQ;EAAY,CAAC;EACtCO,UAAU,EAAE;IAAChB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAES;EAAe;AAC9C,CAAC;AAED,MAAML,sBAAsB,GAAG;EAC7BS,QAAQ,EAAE;IAACd,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEU;EAA0B,CAAC;EAEtDK,UAAU,EAAE;IAAChB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEW;EAA2B,CAAC;EACzDK,OAAO,EAAE;IAACjB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEY;EAAuB;AACnD,CAAC"}
1
+ {"version":3,"file":"cube-geometry.js","names":["uid","Geometry","CubeGeometry","constructor","props","arguments","length","undefined","id","indices","topology","size","value","CUBE_INDICES","attributes","ATTRIBUTES","NON_INDEXED_ATTRIBUTES","Uint16Array","CUBE_POSITIONS","Float32Array","CUBE_NORMALS","CUBE_TEX_COORDS","CUBE_NON_INDEXED_POSITIONS","CUBE_NON_INDEXED_TEX_COORDS","CUBE_NON_INDEXED_COLORS","POSITION","NORMAL","TEXCOORD_0","COLOR_0"],"sources":["../../src/geometries/cube-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/core';\nimport {Geometry} from '../geometry/geometry';\n// import type {GeometryType} from '../geometry/geometry-type';\n\nexport type CubeGeometryProps = {\n id?: string;\n indices?: boolean;\n attributes?: any;\n};\n\nexport class CubeGeometry extends Geometry {\n constructor(props: CubeGeometryProps = {}) {\n const {id = uid('cube-geometry'), indices = true} = props;\n super(indices ? {\n ...props,\n id,\n topology: 'triangle-list',\n indices: {size: 1, value: CUBE_INDICES},\n attributes: {...ATTRIBUTES, ...props.attributes}\n } : {\n ...props,\n id,\n topology: 'triangle-list',\n indices: undefined,\n attributes: {...NON_INDEXED_ATTRIBUTES, ...props.attributes}\n });\n }\n}\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\n// float4 position\n// prettier-ignore\nexport const CUBE_NON_INDEXED_POSITIONS = new Float32Array([\n 1, -1, 1, 1,\n -1, -1, 1, 1,\n -1, -1, -1, 1,\n 1, -1, -1, 1,\n 1, -1, 1, 1,\n -1, -1, -1, 1,\n\n 1, 1, 1, 1,\n 1, -1, 1, 1,\n 1, -1, -1, 1,\n 1, 1, -1, 1,\n 1, 1, 1, 1,\n 1, -1, -1, 1,\n\n -1, 1, 1, 1,\n 1, 1, 1, 1,\n 1, 1, -1, 1,\n -1, 1, -1, 1,\n -1, 1, 1, 1,\n 1, 1, -1, 1,\n\n -1, -1, 1, 1,\n -1, 1, 1, 1,\n -1, 1, -1, 1,\n -1, -1, -1, 1,\n -1, -1, 1, 1,\n -1, 1, -1, 1,\n\n 1, 1, 1, 1,\n -1, 1, 1, 1,\n -1, -1, 1, 1,\n -1, -1, 1, 1,\n 1, -1, 1, 1,\n 1, 1, 1, 1,\n\n 1, -1, -1, 1,\n -1, -1, -1, 1,\n -1, 1, -1, 1,\n 1, 1, -1, 1,\n 1, -1, -1, 1,\n -1, 1, -1, 1,\n]);\n\n// float2 uv,\n// prettier-ignore\nexport const CUBE_NON_INDEXED_TEX_COORDS = new Float32Array([\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 0, 0,\n 1, 0,\n 1, 1,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n]);\n\n// float4 color\n// prettier-ignore\nexport const CUBE_NON_INDEXED_COLORS = new Float32Array([\n 1, 0, 1, 1,\n 0, 0, 1, 1,\n 0, 0, 0, 1,\n 1, 0, 0, 1,\n 1, 0, 1, 1,\n 0, 0, 0, 1,\n\n 1, 1, 1, 1,\n 1, 0, 1, 1,\n 1, 0, 0, 1,\n 1, 1, 0, 1,\n 1, 1, 1, 1,\n 1, 0, 0, 1,\n\n 0, 1, 1, 1,\n 1, 1, 1, 1,\n 1, 1, 0, 1,\n 0, 1, 0, 1,\n 0, 1, 1, 1,\n 1, 1, 0, 1,\n\n 0, 0, 1, 1,\n 0, 1, 1, 1,\n 0, 1, 0, 1,\n 0, 0, 0, 1,\n 0, 0, 1, 1,\n 0, 1, 0, 1,\n\n 1, 1, 1, 1,\n 0, 1, 1, 1,\n 0, 0, 1, 1,\n 0, 0, 1, 1,\n 1, 0, 1, 1,\n 1, 1, 1, 1,\n\n 1, 0, 0, 1,\n 0, 0, 0, 1,\n 0, 1, 0, 1,\n 1, 1, 0, 1,\n 1, 0, 0, 1,\n 0, 1, 0, 1,\n]);\n\nconst ATTRIBUTES = {\n POSITION: {size: 3, value: CUBE_POSITIONS},\n NORMAL: {size: 3, value: CUBE_NORMALS},\n TEXCOORD_0: {size: 2, value: CUBE_TEX_COORDS}\n};\n\nconst NON_INDEXED_ATTRIBUTES = {\n POSITION: {size: 4, value: CUBE_NON_INDEXED_POSITIONS},\n // NORMAL: {size: 3, value: CUBE_NON_INDEXED_NORMALS},\n TEXCOORD_0: {size: 2, value: CUBE_NON_INDEXED_TEX_COORDS},\n COLOR_0: {size: 3, value: CUBE_NON_INDEXED_COLORS}\n};\n"],"mappings":"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CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAEb,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAEZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACX,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAEX,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACb,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAEZ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACb,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CACb,CAAC;AAIF,OAAO,MAAMI,2BAA2B,GAAG,IAAIJ,YAAY,CAAC,CAC1D,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EAEJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EAEJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EAEJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EAEJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EAEJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,CACL,CAAC;AAIF,OAAO,MAAMK,uBAAuB,GAAG,IAAIL,YAAY,CAAC,CACtD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAEV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACX,CAAC;AAEF,MAAMJ,UAAU,GAAG;EACjBU,QAAQ,EAAE;IAACd,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEM;EAAc,CAAC;EAC1CQ,MAAM,EAAE;IAACf,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEQ;EAAY,CAAC;EACtCO,UAAU,EAAE;IAAChB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAES;EAAe;AAC9C,CAAC;AAED,MAAML,sBAAsB,GAAG;EAC7BS,QAAQ,EAAE;IAACd,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEU;EAA0B,CAAC;EAEtDK,UAAU,EAAE;IAAChB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEW;EAA2B,CAAC;EACzDK,OAAO,EAAE;IAACjB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAEY;EAAuB;AACnD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { uid } from '@luma.gl/api';
1
+ import { uid } from '@luma.gl/core';
2
2
  import { TruncatedConeGeometry } from "./truncated-cone-geometry.js";
3
3
  export class CylinderGeometry extends TruncatedConeGeometry {
4
4
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"cylinder-geometry.js","names":["uid","TruncatedConeGeometry","CylinderGeometry","constructor","props","arguments","length","undefined","id","radius","bottomRadius","topRadius"],"sources":["../../src/geometries/cylinder-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport {TruncatedConeGeometry} from './truncated-cone-geometry';\n\nexport type CylinderGeometryProps = {\n id?: string;\n radius?: number;\n attributes?: any;\n};\n\nexport class CylinderGeometry extends TruncatedConeGeometry {\n constructor(props: CylinderGeometryProps = {}) {\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"],"mappings":"AAAA,SAAQA,GAAG,QAAO,cAAc;AAAC,SACzBC,qBAAqB;AAQ7B,OAAO,MAAMC,gBAAgB,SAASD,qBAAqB,CAAC;EAC1DE,WAAWA,CAAA,EAAoC;IAAA,IAAnCC,KAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC3C,MAAM;MAACG,EAAE,GAAGR,GAAG,CAAC,mBAAmB,CAAC;MAAES,MAAM,GAAG;IAAC,CAAC,GAAGL,KAAK;IACzD,KAAK,CAAC;MACJ,GAAGA,KAAK;MACRI,EAAE;MACFE,YAAY,EAAED,MAAM;MACpBE,SAAS,EAAEF;IACb,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"file":"cylinder-geometry.js","names":["uid","TruncatedConeGeometry","CylinderGeometry","constructor","props","arguments","length","undefined","id","radius","bottomRadius","topRadius"],"sources":["../../src/geometries/cylinder-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/core';\nimport {TruncatedConeGeometry} from './truncated-cone-geometry';\n\nexport type CylinderGeometryProps = {\n id?: string;\n radius?: number;\n attributes?: any;\n};\n\nexport class CylinderGeometry extends TruncatedConeGeometry {\n constructor(props: CylinderGeometryProps = {}) {\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"],"mappings":"AAAA,SAAQA,GAAG,QAAO,eAAe;AAAC,SAC1BC,qBAAqB;AAQ7B,OAAO,MAAMC,gBAAgB,SAASD,qBAAqB,CAAC;EAC1DE,WAAWA,CAAA,EAAoC;IAAA,IAAnCC,KAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC3C,MAAM;MAACG,EAAE,GAAGR,GAAG,CAAC,mBAAmB,CAAC;MAAES,MAAM,GAAG;IAAC,CAAC,GAAGL,KAAK;IACzD,KAAK,CAAC;MACJ,GAAGA,KAAK;MACRI,EAAE;MACFE,YAAY,EAAED,MAAM;MACpBE,SAAS,EAAEF;IACb,CAAC,CAAC;EACJ;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ico-sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAO9C,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"}
1
+ {"version":3,"file":"ico-sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAO9C,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;CAW/C"}
@@ -1,4 +1,4 @@
1
- import { uid } from '@luma.gl/api';
1
+ import { uid } from '@luma.gl/core';
2
2
  import { Vector3 } from '@math.gl/core';
3
3
  import { Geometry } from "../geometry/geometry.js";
4
4
  const ICO_POSITIONS = [-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0, -1, 0, 1, 0, 0];
@@ -16,6 +16,7 @@ export class IcoSphereGeometry extends Geometry {
16
16
  super({
17
17
  ...props,
18
18
  id,
19
+ topology: 'triangle-list',
19
20
  indices,
20
21
  attributes: {
21
22
  ...attributes,