@loaders.gl/potree 4.2.0-alpha.6 → 4.2.0-beta.1

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.
package/dist/dist.dev.js CHANGED
@@ -57,6 +57,8 @@ var __exports__ = (() => {
57
57
  // src/potree-loader.ts
58
58
  var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
59
59
  var PotreeLoader = {
60
+ dataType: null,
61
+ batchType: null,
60
62
  name: "potree",
61
63
  id: "potree",
62
64
  module: "potree",
@@ -68,6 +70,7 @@ var __exports__ = (() => {
68
70
  options: {
69
71
  potree: {}
70
72
  }
73
+ // @ts-ignore
71
74
  };
72
75
 
73
76
  // src/parsers/parse-potree-hierarchy-chunk.ts
@@ -138,6 +141,8 @@ var __exports__ = (() => {
138
141
 
139
142
  // src/potree-hierarchy-chunk-loader.ts
140
143
  var PotreeHierarchyChunkLoader = {
144
+ dataType: null,
145
+ batchType: null,
141
146
  id: "potree",
142
147
  name: "potree Hierarchy Chunk",
143
148
  extensions: ["hrc"],
@@ -147,6 +152,7 @@ var __exports__ = (() => {
147
152
  parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
148
153
  parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
149
154
  binary: true
155
+ // @ts-ignore
150
156
  };
151
157
 
152
158
  // src/parsers/parse-potree-bin.ts
@@ -156,6 +162,8 @@ var __exports__ = (() => {
156
162
 
157
163
  // src/potree-bin-loader.ts
158
164
  var PotreeBinLoader = {
165
+ dataType: null,
166
+ batchType: null,
159
167
  name: "potree Binary Point Attributes",
160
168
  id: "potree",
161
169
  extensions: ["bin"],
@@ -163,7 +171,9 @@ var __exports__ = (() => {
163
171
  // Unfortunately binary potree files have no header bytes, no test possible
164
172
  // test: ['...'],
165
173
  parseSync,
166
- binary: true
174
+ binary: true,
175
+ options: {}
176
+ // @ts-ignore
167
177
  };
168
178
  function parseSync(arrayBuffer, options) {
169
179
  const index = {};
package/dist/dist.min.js CHANGED
@@ -4,6 +4,6 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var B=Object.create;var l=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var I=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),b=(n,e)=>{for(var r in e)l(n,r,{get:e[r],enumerable:!0})},d=(n,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of N(e))!w.call(n,a)&&a!==r&&l(n,a,{get:()=>e[a],enumerable:!(o=L(e,a))||o.enumerable});return n},u=(n,e,r)=>(d(n,e,"default"),r&&d(r,e,"default")),A=(n,e,r)=>(r=n!=null?B(S(n)):{},d(e||!n||!n.__esModule?l(r,"default",{value:n,enumerable:!0}):r,n)),H=n=>d(l({},"__esModule",{value:!0}),n);var f=I((O,y)=>{y.exports=globalThis.loaders});var h={};b(h,{PotreeBinLoader:()=>T,PotreeHierarchyChunkLoader:()=>k,PotreeLoader:()=>P});u(h,A(f(),1));var D="4.2.0-alpha.5",P={name:"potree",id:"potree",module:"potree",version:D,extensions:["json"],mimeTypes:["application/json"],testText:n=>n.indexOf("octreeDir")>=0,parseTextSync:n=>JSON.parse(n),options:{potree:{}}};function m(n){let e=U(n);return v(e)}function U(n,e=0){let r=new DataView(n),o=[],a={};e=g(r,e,a),o.push(a);let t=[];for(;o.length>0;){let i=o.shift(),c=1;for(let p=0;p<8;p++){if(i&&i.header.childMask&c){let s={};e=g(r,e,s),s.name=i.name+p,o.push(s),t.push(s),i.header.childCount++}c=c*2}if(e===r.byteLength)break}return t}function g(n,e,r){return r.header=r.header||{},r.header.childMask=n.getUint8(e),r.header.childCount=0,r.pointCount=n.getUint32(e+1,!0),r.name="",e+=5,e}function v(n,e={}){e={...{spacing:100},...e};let o=n[0],a={};for(let t of n){let{name:i}=t,c=parseInt(i.charAt(i.length-1),10),p=i.substring(0,i.length-1),s=a[p],x=i.length-1;t.level=x,t.hasChildren=t.header.childCount,t.children=[],t.childrenByIndex=new Array(8).fill(null),t.spacing=(e?.spacing||0)/Math.pow(2,x),s&&(s.children.push(t),s.childrenByIndex[c]=t),a[i]=t}return o}var k={id:"potree",name:"potree Hierarchy Chunk",extensions:["hrc"],mimeTypes:["application/octet-stream"],parse:async(n,e)=>m(n),parseSync:(n,e)=>m(n),binary:!0};function C(n,e,r,o){return null}var T={name:"potree Binary Point Attributes",id:"potree",extensions:["bin"],mimeTypes:["application/octet-stream"],parseSync:E,binary:!0};function E(n,e){let r={};return C(n,0,e,r),r}return H(h);})();
7
+ "use strict";var __exports__=(()=>{var B=Object.create;var d=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var w=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),I=(n,e)=>{for(var t in e)d(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of b(e))!S.call(n,a)&&a!==t&&d(n,a,{get:()=>e[a],enumerable:!(o=L(e,a))||o.enumerable});return n},u=(n,e,t)=>(l(n,e,"default"),t&&l(t,e,"default")),A=(n,e,t)=>(t=n!=null?B(N(n)):{},l(e||!n||!n.__esModule?d(t,"default",{value:n,enumerable:!0}):t,n)),H=n=>l(d({},"__esModule",{value:!0}),n);var f=w((O,x)=>{x.exports=globalThis.loaders});var h={};I(h,{PotreeBinLoader:()=>C,PotreeHierarchyChunkLoader:()=>g,PotreeLoader:()=>T});u(h,A(f(),1));var D="4.2.0-alpha.6",T={dataType:null,batchType:null,name:"potree",id:"potree",module:"potree",version:D,extensions:["json"],mimeTypes:["application/json"],testText:n=>n.indexOf("octreeDir")>=0,parseTextSync:n=>JSON.parse(n),options:{potree:{}}};function m(n){let e=U(n);return v(e)}function U(n,e=0){let t=new DataView(n),o=[],a={};e=P(t,e,a),o.push(a);let r=[];for(;o.length>0;){let i=o.shift(),p=1;for(let c=0;c<8;c++){if(i&&i.header.childMask&p){let s={};e=P(t,e,s),s.name=i.name+c,o.push(s),r.push(s),i.header.childCount++}p=p*2}if(e===t.byteLength)break}return r}function P(n,e,t){return t.header=t.header||{},t.header.childMask=n.getUint8(e),t.header.childCount=0,t.pointCount=n.getUint32(e+1,!0),t.name="",e+=5,e}function v(n,e={}){e={...{spacing:100},...e};let o=n[0],a={};for(let r of n){let{name:i}=r,p=parseInt(i.charAt(i.length-1),10),c=i.substring(0,i.length-1),s=a[c],y=i.length-1;r.level=y,r.hasChildren=r.header.childCount,r.children=[],r.childrenByIndex=new Array(8).fill(null),r.spacing=(e?.spacing||0)/Math.pow(2,y),s&&(s.children.push(r),s.childrenByIndex[p]=r),a[i]=r}return o}var g={dataType:null,batchType:null,id:"potree",name:"potree Hierarchy Chunk",extensions:["hrc"],mimeTypes:["application/octet-stream"],parse:async(n,e)=>m(n),parseSync:(n,e)=>m(n),binary:!0};function k(n,e,t,o){return null}var C={dataType:null,batchType:null,name:"potree Binary Point Attributes",id:"potree",extensions:["bin"],mimeTypes:["application/octet-stream"],parseSync:E,binary:!0,options:{}};function E(n,e){let t={};return k(n,0,e,t),t}return H(h);})();
8
8
  return __exports__;
9
9
  });
package/dist/index.cjs CHANGED
@@ -27,8 +27,10 @@ __export(dist_exports, {
27
27
  module.exports = __toCommonJS(dist_exports);
28
28
 
29
29
  // dist/potree-loader.js
30
- var VERSION = true ? "4.2.0-alpha.5" : "latest";
30
+ var VERSION = true ? "4.2.0-alpha.6" : "latest";
31
31
  var PotreeLoader = {
32
+ dataType: null,
33
+ batchType: null,
32
34
  name: "potree",
33
35
  id: "potree",
34
36
  module: "potree",
@@ -40,6 +42,7 @@ var PotreeLoader = {
40
42
  options: {
41
43
  potree: {}
42
44
  }
45
+ // @ts-ignore
43
46
  };
44
47
 
45
48
  // dist/parsers/parse-potree-hierarchy-chunk.js
@@ -110,6 +113,8 @@ function buildHierarchy(tileHeaders, options = {}) {
110
113
 
111
114
  // dist/potree-hierarchy-chunk-loader.js
112
115
  var PotreeHierarchyChunkLoader = {
116
+ dataType: null,
117
+ batchType: null,
113
118
  id: "potree",
114
119
  name: "potree Hierarchy Chunk",
115
120
  extensions: ["hrc"],
@@ -119,6 +124,7 @@ var PotreeHierarchyChunkLoader = {
119
124
  parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
120
125
  parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
121
126
  binary: true
127
+ // @ts-ignore
122
128
  };
123
129
 
124
130
  // dist/parsers/parse-potree-bin.js
@@ -128,6 +134,8 @@ function parsePotreeBin(arrayBuffer, byteOffset, options, index) {
128
134
 
129
135
  // dist/potree-bin-loader.js
130
136
  var PotreeBinLoader = {
137
+ dataType: null,
138
+ batchType: null,
131
139
  name: "potree Binary Point Attributes",
132
140
  id: "potree",
133
141
  extensions: ["bin"],
@@ -135,7 +143,9 @@ var PotreeBinLoader = {
135
143
  // Unfortunately binary potree files have no header bytes, no test possible
136
144
  // test: ['...'],
137
145
  parseSync,
138
- binary: true
146
+ binary: true,
147
+ options: {}
148
+ // @ts-ignore
139
149
  };
140
150
  function parseSync(arrayBuffer, options) {
141
151
  const index = {};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.js", "potree-loader.js", "parsers/parse-potree-hierarchy-chunk.js", "potree-hierarchy-chunk-loader.js", "parsers/parse-potree-bin.js", "potree-bin-loader.js"],
4
- "sourcesContent": ["export { PotreeLoader } from \"./potree-loader.js\";\nexport { PotreeHierarchyChunkLoader } from \"./potree-hierarchy-chunk-loader.js\";\nexport { PotreeBinLoader } from \"./potree-bin-loader.js\";\n", "// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.2.0-alpha.5\" !== 'undefined' ? \"4.2.0-alpha.5\" : 'latest';\n/** Potree loader */\n// @ts-ignore\nexport const PotreeLoader = {\n name: 'potree',\n id: 'potree',\n module: 'potree',\n version: VERSION,\n extensions: ['json'],\n mimeTypes: ['application/json'],\n testText: (text) => text.indexOf('octreeDir') >= 0,\n parseTextSync: (text) => JSON.parse(text),\n options: {\n potree: {}\n }\n};\n", "// This file is derived from the Cesium code base under BSD 2-clause license\n// See LICENSE.md and https://github.com/potree/potree/blob/develop/LICENSE\n// type POTreeTileNode = POTreeNode;\n// load hierarchy\nexport function parsePotreeHierarchyChunk(arrayBuffer) {\n const tileHeaders = parseBinaryChunk(arrayBuffer);\n return buildHierarchy(tileHeaders);\n}\n// Parses the binary rows\nfunction parseBinaryChunk(arrayBuffer, byteOffset = 0) {\n const dataView = new DataView(arrayBuffer);\n const stack = [];\n // Get root mask\n // @ts-expect-error\n const topTileHeader = {};\n byteOffset = decodeRow(dataView, byteOffset, topTileHeader);\n stack.push(topTileHeader);\n const tileHeaders = [];\n while (stack.length > 0) {\n const snode = stack.shift();\n let mask = 1;\n for (let i = 0; i < 8; i++) {\n if (snode && (snode.header.childMask & mask) !== 0) {\n // @ts-expect-error\n const tileHeader = {};\n byteOffset = decodeRow(dataView, byteOffset, tileHeader);\n tileHeader.name = snode.name + i;\n // @ts-expect-error\n stack.push(tileHeader);\n tileHeaders.push(tileHeader);\n snode.header.childCount++;\n }\n mask = mask * 2;\n }\n if (byteOffset === dataView.byteLength) {\n break;\n }\n }\n return tileHeaders;\n}\nfunction decodeRow(dataView, byteOffset, tileHeader) {\n tileHeader.header = tileHeader.header || {};\n tileHeader.header.childMask = dataView.getUint8(byteOffset);\n tileHeader.header.childCount = 0;\n tileHeader.pointCount = dataView.getUint32(byteOffset + 1, true);\n tileHeader.name = '';\n byteOffset += 5;\n return byteOffset;\n}\n// Resolves the binary rows into a hierarchy (tree structure)\nfunction buildHierarchy(tileHeaders, options = {}) {\n const DEFAULT_OPTIONS = { spacing: 100 }; // TODO assert instead of default?\n options = { ...DEFAULT_OPTIONS, ...options };\n const topNode = tileHeaders[0];\n const nodes = {};\n for (const tileHeader of tileHeaders) {\n const { name } = tileHeader;\n const index = parseInt(name.charAt(name.length - 1), 10);\n const parentName = name.substring(0, name.length - 1);\n const parentNode = nodes[parentName];\n const level = name.length - 1;\n // assert(parentNode && level >= 0);\n tileHeader.level = level;\n tileHeader.hasChildren = tileHeader.header.childCount;\n tileHeader.children = [];\n tileHeader.childrenByIndex = new Array(8).fill(null);\n tileHeader.spacing = (options?.spacing || 0) / Math.pow(2, level);\n // tileHeader.boundingVolume = Utils.createChildAABB(parentNode.boundingBox, index);\n if (parentNode) {\n parentNode.children.push(tileHeader);\n parentNode.childrenByIndex[index] = tileHeader;\n }\n // Add the node to the map\n nodes[name] = tileHeader;\n }\n // First node is the root\n return topNode;\n}\n", "import { parsePotreeHierarchyChunk } from \"./parsers/parse-potree-hierarchy-chunk.js\";\n/** Potree hierarchy chunk loader */\n// @ts-ignore not a valid loader\nexport const PotreeHierarchyChunkLoader = {\n id: 'potree',\n name: 'potree Hierarchy Chunk',\n extensions: ['hrc'],\n mimeTypes: ['application/octet-stream'],\n // binary potree files have no header bytes, no content test function possible\n // test: ['...'],\n parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),\n parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),\n binary: true\n};\n", "export function parsePotreeBin(arrayBuffer, byteOffset, options, index) {\n return null;\n}\n", "import { parsePotreeBin } from \"./parsers/parse-potree-bin.js\";\n/**\n * Loader for potree Binary Point Attributes\n * */\n// @ts-ignore\nexport const PotreeBinLoader = {\n name: 'potree Binary Point Attributes',\n id: 'potree',\n extensions: ['bin'],\n mimeTypes: ['application/octet-stream'],\n // Unfortunately binary potree files have no header bytes, no test possible\n // test: ['...'],\n parseSync,\n binary: true\n};\nfunction parseSync(arrayBuffer, options) {\n const index = {};\n const byteOffset = 0;\n parsePotreeBin(arrayBuffer, byteOffset, options, index);\n return index;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export { PotreeLoader } from \"./potree-loader.js\";\nexport { PotreeHierarchyChunkLoader } from \"./potree-hierarchy-chunk-loader.js\";\nexport { PotreeBinLoader } from \"./potree-bin-loader.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.2.0-alpha.6\" !== 'undefined' ? \"4.2.0-alpha.6\" : 'latest';\n/** Potree loader */\n// @ts-ignore\nexport const PotreeLoader = {\n dataType: null,\n batchType: null,\n name: 'potree',\n id: 'potree',\n module: 'potree',\n version: VERSION,\n extensions: ['json'],\n mimeTypes: ['application/json'],\n testText: (text) => text.indexOf('octreeDir') >= 0,\n parseTextSync: (text) => JSON.parse(text),\n options: {\n potree: {}\n }\n // @ts-ignore\n};\n", "// This file is derived from the Cesium code base under BSD 2-clause license\n// See LICENSE.md and https://github.com/potree/potree/blob/develop/LICENSE\n// type POTreeTileNode = POTreeNode;\n// load hierarchy\nexport function parsePotreeHierarchyChunk(arrayBuffer) {\n const tileHeaders = parseBinaryChunk(arrayBuffer);\n return buildHierarchy(tileHeaders);\n}\n// Parses the binary rows\nfunction parseBinaryChunk(arrayBuffer, byteOffset = 0) {\n const dataView = new DataView(arrayBuffer);\n const stack = [];\n // Get root mask\n // @ts-expect-error\n const topTileHeader = {};\n byteOffset = decodeRow(dataView, byteOffset, topTileHeader);\n stack.push(topTileHeader);\n const tileHeaders = [];\n while (stack.length > 0) {\n const snode = stack.shift();\n let mask = 1;\n for (let i = 0; i < 8; i++) {\n if (snode && (snode.header.childMask & mask) !== 0) {\n // @ts-expect-error\n const tileHeader = {};\n byteOffset = decodeRow(dataView, byteOffset, tileHeader);\n tileHeader.name = snode.name + i;\n // @ts-expect-error\n stack.push(tileHeader);\n tileHeaders.push(tileHeader);\n snode.header.childCount++;\n }\n mask = mask * 2;\n }\n if (byteOffset === dataView.byteLength) {\n break;\n }\n }\n return tileHeaders;\n}\nfunction decodeRow(dataView, byteOffset, tileHeader) {\n tileHeader.header = tileHeader.header || {};\n tileHeader.header.childMask = dataView.getUint8(byteOffset);\n tileHeader.header.childCount = 0;\n tileHeader.pointCount = dataView.getUint32(byteOffset + 1, true);\n tileHeader.name = '';\n byteOffset += 5;\n return byteOffset;\n}\n// Resolves the binary rows into a hierarchy (tree structure)\nfunction buildHierarchy(tileHeaders, options = {}) {\n const DEFAULT_OPTIONS = { spacing: 100 }; // TODO assert instead of default?\n options = { ...DEFAULT_OPTIONS, ...options };\n const topNode = tileHeaders[0];\n const nodes = {};\n for (const tileHeader of tileHeaders) {\n const { name } = tileHeader;\n const index = parseInt(name.charAt(name.length - 1), 10);\n const parentName = name.substring(0, name.length - 1);\n const parentNode = nodes[parentName];\n const level = name.length - 1;\n // assert(parentNode && level >= 0);\n tileHeader.level = level;\n tileHeader.hasChildren = tileHeader.header.childCount;\n tileHeader.children = [];\n tileHeader.childrenByIndex = new Array(8).fill(null);\n tileHeader.spacing = (options?.spacing || 0) / Math.pow(2, level);\n // tileHeader.boundingVolume = Utils.createChildAABB(parentNode.boundingBox, index);\n if (parentNode) {\n parentNode.children.push(tileHeader);\n parentNode.childrenByIndex[index] = tileHeader;\n }\n // Add the node to the map\n nodes[name] = tileHeader;\n }\n // First node is the root\n return topNode;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\nimport { parsePotreeHierarchyChunk } from \"./parsers/parse-potree-hierarchy-chunk.js\";\n/** Potree hierarchy chunk loader */\n// @ts-ignore not a valid loader\nexport const PotreeHierarchyChunkLoader = {\n dataType: null,\n batchType: null,\n id: 'potree',\n name: 'potree Hierarchy Chunk',\n extensions: ['hrc'],\n mimeTypes: ['application/octet-stream'],\n // binary potree files have no header bytes, no content test function possible\n // test: ['...'],\n parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),\n parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),\n binary: true\n // @ts-ignore\n};\n", "export function parsePotreeBin(arrayBuffer, byteOffset, options, index) {\n return null;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\nimport { parsePotreeBin } from \"./parsers/parse-potree-bin.js\";\n/**\n * Loader for potree Binary Point Attributes\n * */\nexport const PotreeBinLoader = {\n dataType: null,\n batchType: null,\n name: 'potree Binary Point Attributes',\n id: 'potree',\n extensions: ['bin'],\n mimeTypes: ['application/octet-stream'],\n // Unfortunately binary potree files have no header bytes, no test possible\n // test: ['...'],\n parseSync,\n binary: true,\n options: {}\n // @ts-ignore\n};\nfunction parseSync(arrayBuffer, options) {\n const index = {};\n const byteOffset = 0;\n parsePotreeBin(arrayBuffer, byteOffset, options, index);\n return index;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,18 @@
1
- import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
1
+ import type { LoaderOptions } from '@loaders.gl/loader-utils';
2
2
  /**
3
3
  * Loader for potree Binary Point Attributes
4
4
  * */
5
- export declare const PotreeBinLoader: LoaderWithParser<{}, never, LoaderOptions>;
5
+ export declare const PotreeBinLoader: {
6
+ readonly dataType: {};
7
+ readonly batchType: never;
8
+ readonly name: "potree Binary Point Attributes";
9
+ readonly id: "potree";
10
+ readonly extensions: ["bin"];
11
+ readonly mimeTypes: ["application/octet-stream"];
12
+ readonly parseSync: typeof parseSync;
13
+ readonly binary: true;
14
+ readonly options: {};
15
+ };
16
+ declare function parseSync(arrayBuffer: ArrayBuffer, options?: LoaderOptions): {};
17
+ export {};
6
18
  //# sourceMappingURL=potree-bin-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"potree-bin-loader.d.ts","sourceRoot":"","sources":["../src/potree-bin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAG9E;;KAEK;AAEL,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAStE,CAAC"}
1
+ {"version":3,"file":"potree-bin-loader.d.ts","sourceRoot":"","sources":["../src/potree-bin-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAG9E;;KAEK;AACL,eAAO,MAAM,eAAe;;;;;;;;;;CAcmC,CAAC;AAEhE,iBAAS,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,EAAE,CAKxE"}
@@ -1,9 +1,13 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
1
4
  import { parsePotreeBin } from "./parsers/parse-potree-bin.js";
2
5
  /**
3
6
  * Loader for potree Binary Point Attributes
4
7
  * */
5
- // @ts-ignore
6
8
  export const PotreeBinLoader = {
9
+ dataType: null,
10
+ batchType: null,
7
11
  name: 'potree Binary Point Attributes',
8
12
  id: 'potree',
9
13
  extensions: ['bin'],
@@ -11,7 +15,9 @@ export const PotreeBinLoader = {
11
15
  // Unfortunately binary potree files have no header bytes, no test possible
12
16
  // test: ['...'],
13
17
  parseSync,
14
- binary: true
18
+ binary: true,
19
+ options: {}
20
+ // @ts-ignore
15
21
  };
16
22
  function parseSync(arrayBuffer, options) {
17
23
  const index = {};
@@ -1,6 +1,15 @@
1
- import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
1
  import type { POTreeLoaderOptions } from "./potree-loader.js";
3
2
  import type { POTreeNode } from "./parsers/parse-potree-hierarchy-chunk.js";
4
3
  /** Potree hierarchy chunk loader */
5
- export declare const PotreeHierarchyChunkLoader: LoaderWithParser<POTreeNode, never, POTreeLoaderOptions>;
4
+ export declare const PotreeHierarchyChunkLoader: {
5
+ readonly dataType: POTreeNode;
6
+ readonly batchType: never;
7
+ readonly id: "potree";
8
+ readonly name: "potree Hierarchy Chunk";
9
+ readonly extensions: ["hrc"];
10
+ readonly mimeTypes: ["application/octet-stream"];
11
+ readonly parse: (arrayBuffer: ArrayBuffer, options: POTreeLoaderOptions | undefined) => Promise<POTreeNode>;
12
+ readonly parseSync: (arrayBuffer: ArrayBuffer, options: POTreeLoaderOptions | undefined) => POTreeNode;
13
+ readonly binary: true;
14
+ };
6
15
  //# sourceMappingURL=potree-hierarchy-chunk-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"potree-hierarchy-chunk-loader.d.ts","sourceRoot":"","sources":["../src/potree-hierarchy-chunk-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,mBAAmB,EAAC,2BAAwB;AACzD,OAAO,KAAK,EAAC,UAAU,EAAC,kDAA+C;AAGvE,oCAAoC;AAEpC,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,mBAAmB,CAW7F,CAAC"}
1
+ {"version":3,"file":"potree-hierarchy-chunk-loader.d.ts","sourceRoot":"","sources":["../src/potree-hierarchy-chunk-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,2BAAwB;AACzD,OAAO,KAAK,EAAC,UAAU,EAAC,kDAA+C;AAGvE,oCAAoC;AAEpC,eAAO,MAAM,0BAA0B;;;;;;;;;;CAcsC,CAAC"}
@@ -1,7 +1,12 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
1
4
  import { parsePotreeHierarchyChunk } from "./parsers/parse-potree-hierarchy-chunk.js";
2
5
  /** Potree hierarchy chunk loader */
3
6
  // @ts-ignore not a valid loader
4
7
  export const PotreeHierarchyChunkLoader = {
8
+ dataType: null,
9
+ batchType: null,
5
10
  id: 'potree',
6
11
  name: 'potree Hierarchy Chunk',
7
12
  extensions: ['hrc'],
@@ -11,4 +16,5 @@ export const PotreeHierarchyChunkLoader = {
11
16
  parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
12
17
  parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
13
18
  binary: true
19
+ // @ts-ignore
14
20
  };
@@ -1,7 +1,21 @@
1
- import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
1
+ import type { LoaderOptions } from '@loaders.gl/loader-utils';
2
2
  export type POTreeLoaderOptions = LoaderOptions & {
3
3
  potree?: {};
4
4
  };
5
5
  /** Potree loader */
6
- export declare const PotreeLoader: LoaderWithParser<any, never, POTreeLoaderOptions>;
6
+ export declare const PotreeLoader: {
7
+ readonly dataType: any;
8
+ readonly batchType: never;
9
+ readonly name: "potree";
10
+ readonly id: "potree";
11
+ readonly module: "potree";
12
+ readonly version: any;
13
+ readonly extensions: ["json"];
14
+ readonly mimeTypes: ["application/json"];
15
+ readonly testText: (text: string) => boolean;
16
+ readonly parseTextSync: (text: string) => any;
17
+ readonly options: {
18
+ readonly potree: {};
19
+ };
20
+ };
7
21
  //# sourceMappingURL=potree-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"potree-loader.d.ts","sourceRoot":"","sources":["../src/potree-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAM9E,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,MAAM,CAAC,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,oBAAoB;AAEpB,eAAO,MAAM,YAAY,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,CAY1E,CAAC"}
1
+ {"version":3,"file":"potree-loader.d.ts","sourceRoot":"","sources":["../src/potree-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAM9E,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,MAAM,CAAC,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,oBAAoB;AAEpB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAgB6C,CAAC"}
@@ -1,9 +1,14 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
1
4
  // __VERSION__ is injected by babel-plugin-version-inline
2
5
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
3
- const VERSION = typeof "4.2.0-alpha.5" !== 'undefined' ? "4.2.0-alpha.5" : 'latest';
6
+ const VERSION = typeof "4.2.0-alpha.6" !== 'undefined' ? "4.2.0-alpha.6" : 'latest';
4
7
  /** Potree loader */
5
8
  // @ts-ignore
6
9
  export const PotreeLoader = {
10
+ dataType: null,
11
+ batchType: null,
7
12
  name: 'potree',
8
13
  id: 'potree',
9
14
  module: 'potree',
@@ -15,4 +20,5 @@ export const PotreeLoader = {
15
20
  options: {
16
21
  potree: {}
17
22
  }
23
+ // @ts-ignore
18
24
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/potree",
3
- "version": "4.2.0-alpha.6",
3
+ "version": "4.2.0-beta.1",
4
4
  "description": "potree loaders for large point clouds.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -44,11 +44,11 @@
44
44
  "build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
45
45
  },
46
46
  "dependencies": {
47
- "@loaders.gl/math": "4.2.0-alpha.6",
47
+ "@loaders.gl/math": "4.2.0-beta.1",
48
48
  "@math.gl/core": "^4.0.0"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "@loaders.gl/core": "^4.0.0"
52
52
  },
53
- "gitHead": "37bd8ca71763529f18727ee4bf29dd176aa914ca"
53
+ "gitHead": "c386a9196516fe3ff24847b40e6c77be039cf905"
54
54
  }
@@ -1,11 +1,17 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
4
+
1
5
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
2
6
  import {parsePotreeBin} from './parsers/parse-potree-bin';
3
7
 
4
8
  /**
5
9
  * Loader for potree Binary Point Attributes
6
10
  * */
7
- // @ts-ignore
8
- export const PotreeBinLoader: LoaderWithParser<{}, never, LoaderOptions> = {
11
+ export const PotreeBinLoader = {
12
+ dataType: null as unknown as {},
13
+ batchType: null as never,
14
+
9
15
  name: 'potree Binary Point Attributes',
10
16
  id: 'potree',
11
17
  extensions: ['bin'],
@@ -13,8 +19,10 @@ export const PotreeBinLoader: LoaderWithParser<{}, never, LoaderOptions> = {
13
19
  // Unfortunately binary potree files have no header bytes, no test possible
14
20
  // test: ['...'],
15
21
  parseSync,
16
- binary: true
17
- };
22
+ binary: true,
23
+ options: {}
24
+ // @ts-ignore
25
+ } as const satisfies LoaderWithParser<{}, never, LoaderOptions>;
18
26
 
19
27
  function parseSync(arrayBuffer: ArrayBuffer, options?: LoaderOptions): {} {
20
28
  const index = {};
@@ -1,3 +1,7 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
4
+
1
5
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
2
6
  import type {POTreeLoaderOptions} from './potree-loader';
3
7
  import type {POTreeNode} from './parsers/parse-potree-hierarchy-chunk';
@@ -5,15 +9,18 @@ import {parsePotreeHierarchyChunk} from './parsers/parse-potree-hierarchy-chunk'
5
9
 
6
10
  /** Potree hierarchy chunk loader */
7
11
  // @ts-ignore not a valid loader
8
- export const PotreeHierarchyChunkLoader: LoaderWithParser<POTreeNode, never, POTreeLoaderOptions> =
9
- {
10
- id: 'potree',
11
- name: 'potree Hierarchy Chunk',
12
- extensions: ['hrc'],
13
- mimeTypes: ['application/octet-stream'],
14
- // binary potree files have no header bytes, no content test function possible
15
- // test: ['...'],
16
- parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
17
- parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
18
- binary: true
19
- };
12
+ export const PotreeHierarchyChunkLoader = {
13
+ dataType: null as unknown as POTreeNode,
14
+ batchType: null as never,
15
+
16
+ id: 'potree',
17
+ name: 'potree Hierarchy Chunk',
18
+ extensions: ['hrc'],
19
+ mimeTypes: ['application/octet-stream'],
20
+ // binary potree files have no header bytes, no content test function possible
21
+ // test: ['...'],
22
+ parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
23
+ parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),
24
+ binary: true
25
+ // @ts-ignore
26
+ } as const satisfies LoaderWithParser<POTreeNode, never, POTreeLoaderOptions>;
@@ -1,3 +1,7 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
4
+
1
5
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
2
6
 
3
7
  // __VERSION__ is injected by babel-plugin-version-inline
@@ -10,7 +14,10 @@ export type POTreeLoaderOptions = LoaderOptions & {
10
14
 
11
15
  /** Potree loader */
12
16
  // @ts-ignore
13
- export const PotreeLoader: LoaderWithParser<any, never, POTreeLoaderOptions> = {
17
+ export const PotreeLoader = {
18
+ dataType: null as unknown as any,
19
+ batchType: null as never,
20
+
14
21
  name: 'potree',
15
22
  id: 'potree',
16
23
  module: 'potree',
@@ -22,4 +29,5 @@ export const PotreeLoader: LoaderWithParser<any, never, POTreeLoaderOptions> = {
22
29
  options: {
23
30
  potree: {}
24
31
  }
25
- };
32
+ // @ts-ignore
33
+ } as const satisfies LoaderWithParser<any, never, POTreeLoaderOptions>;