@equinor/videx-3d 1.1.1 → 3.0.0

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 (74) hide show
  1. package/README.md +120 -120
  2. package/dist/chunk-DKAquGKk.js +2820 -0
  3. package/dist/chunk-DsUZyEG_.js +16 -0
  4. package/dist/generators.js +512 -716
  5. package/dist/main.js +6909 -8947
  6. package/dist/sdk.js +2 -785
  7. package/dist/src/sdk/materials/shaderLib/oit.glsl +106 -0
  8. package/dist/types/components/Annotations/AutoUpdate.d.ts +1 -1
  9. package/dist/types/components/Annotations/index.d.ts +2 -2
  10. package/dist/types/components/Annotations/types.d.ts +3 -1
  11. package/dist/types/components/Annotations/update-annotations.d.ts +10 -0
  12. package/dist/types/components/EventEmitter/picking-helper.d.ts +23 -1
  13. package/dist/types/components/Ocean/Ocean.d.ts +333 -0
  14. package/dist/types/components/Ocean/index.d.ts +6 -0
  15. package/dist/types/components/Ocean/ocean-bed-material.d.ts +60 -0
  16. package/dist/types/components/Ocean/ocean-contact.d.ts +39 -0
  17. package/dist/types/components/Ocean/ocean-material.d.ts +145 -0
  18. package/dist/types/components/Ocean/ocean-sampler.d.ts +93 -0
  19. package/dist/types/components/Ocean/ocean-volume-material.d.ts +54 -0
  20. package/dist/types/components/Surfaces/Surface.d.ts +8 -1
  21. package/dist/types/components/Surfaces/SurfaceMaterial.d.ts +3 -0
  22. package/dist/types/components/Surfaces/surface-defs.d.ts +1 -0
  23. package/dist/types/components/Tanker/Tanker.d.ts +47 -0
  24. package/dist/types/components/Tanker/TankerSuperstructure.d.ts +23 -0
  25. package/dist/types/components/Tanker/tanker-geometry-builder.d.ts +21 -0
  26. package/dist/types/generators/surface-generator.d.ts +1 -1
  27. package/dist/types/layers/layers.d.ts +4 -0
  28. package/dist/types/main.d.ts +1 -0
  29. package/dist/types/rendering/OitMaterial.d.ts +59 -0
  30. package/dist/types/rendering/Pass.d.ts +16 -0
  31. package/dist/types/rendering/RenderingPipeline.d.ts +46 -0
  32. package/dist/types/rendering/debug/DebugBoxOutputPass.d.ts +22 -0
  33. package/dist/types/rendering/debug/DebugPatternPass.d.ts +30 -0
  34. package/dist/types/rendering/fullscreen-renderer.d.ts +1 -0
  35. package/dist/types/rendering/fxaa-resolver.d.ts +25 -0
  36. package/dist/types/rendering/gpu-timer.d.ts +46 -0
  37. package/dist/types/rendering/index.d.ts +8 -1
  38. package/dist/types/rendering/oit-material.d.ts +122 -0
  39. package/dist/types/{components/Annotations/annotations-renderer.d.ts → rendering/passes/AnnotationsPass.d.ts} +14 -4
  40. package/dist/types/rendering/passes/FXAAPass.d.ts +17 -0
  41. package/dist/types/rendering/passes/OITRenderPass.d.ts +429 -0
  42. package/dist/types/rendering/passes/OutputPass.d.ts +19 -0
  43. package/dist/types/rendering/passes/RenderPass.d.ts +10 -0
  44. package/dist/types/rendering/passes/index.d.ts +4 -0
  45. package/dist/types/rendering/rendering-state.d.ts +59 -0
  46. package/dist/types/rendering/smaa-resolver.d.ts +58 -0
  47. package/dist/types/rendering/taa-resolver.d.ts +161 -0
  48. package/dist/types/rendering/temporal-resolver.d.ts +152 -0
  49. package/dist/types/sdk/geometries/boundary-loops.d.ts +38 -0
  50. package/dist/types/sdk/geometries/geometry-attributes.d.ts +37 -0
  51. package/dist/types/sdk/geometries/grid-sampling.d.ts +50 -0
  52. package/dist/types/sdk/geometries/ocean-geometry.d.ts +288 -0
  53. package/dist/types/sdk/geometries/packing.d.ts +1 -1
  54. package/dist/types/sdk/geometries/tessellation.d.ts +25 -0
  55. package/dist/types/sdk/index.d.ts +5 -0
  56. package/dist/types/sdk/utils/elevation-map.d.ts +23 -0
  57. package/dist/types/sdk/utils/trigonometry.d.ts +4 -1
  58. package/dist/types/sdk/utils/vector-operations.d.ts +7 -0
  59. package/package.json +9 -10
  60. package/dist/chunk-BlPg4RjP.js +0 -689
  61. package/dist/chunk-CnY6Tmof.js +0 -358
  62. package/dist/chunk-DuRASjkF.js +0 -17
  63. package/dist/chunk-iY0wQ9Z6.js +0 -887
  64. package/dist/types/rendering/render-passes.d.ts +0 -16
  65. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/color-conversion.glsl +0 -0
  66. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/colors.glsl +0 -0
  67. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/glyphs.glsl +0 -0
  68. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/random.glsl +0 -0
  69. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/remap.glsl +0 -0
  70. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/render-number.glsl +0 -0
  71. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/render-text.glsl +0 -0
  72. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/rotation.glsl +0 -0
  73. /package/dist/{shaderLib → src/sdk/materials/shaderLib}/sdf-functions.glsl +0 -0
  74. /package/dist/textures/{normal_map.jpg → public/normal_map.jpg} +0 -0
@@ -1,358 +0,0 @@
1
- import Q from "proj4";
2
- import { DataTexture as z, RedFormat as $, FloatType as I, LinearFilter as T, UniformsGroup as O, Uniform as h, Vector4 as Y, Vector3 as Z, Vector2 as J, RedIntegerFormat as j, UnsignedShortType as q, ShaderMaterial as K, UniformsUtils as X, ShaderLib as ee } from "three";
3
- import "comlink";
4
- import "p-limit";
5
- import "curve-interpolator";
6
- import { a3 as B, aa as ne, ah as A, F as te } from "./chunk-iY0wQ9Z6.js";
7
- import "three/src/math/MathUtils.js";
8
- function ge(e, n, r) {
9
- const t = /* @__PURE__ */ new Map(), l = {};
10
- n.sort((o, s) => o.id === r ? -1 : s.id === r ? 1 : o.drilled && s.drilled ? s.drilled.getTime() - o.drilled.getTime() : o.name.localeCompare(s.name));
11
- for (let o = 0; o < n.length; o++) {
12
- const s = n[o];
13
- if (!s) continue;
14
- let u = s.parent && s.kickoffDepthMsl !== null ? s.kickoffDepthMsl : -s.depthReferenceElevation;
15
- if (t.has(s.id))
16
- u = t.get(s.id);
17
- else {
18
- let m = s.parent;
19
- for (; m; ) {
20
- const a = e[m];
21
- if (!a) break;
22
- if (t.has(a.id)) {
23
- const i = t.get(a.id);
24
- u >= i && (t.set(a.id, u), u = i);
25
- break;
26
- } else
27
- t.set(a.id, u), u = a.parent && a.kickoffDepthMsl !== null ? a.kickoffDepthMsl : -a.depthReferenceElevation;
28
- m = a.parent;
29
- }
30
- }
31
- l[s.id] = [u, o], t.set(s.id, s.depthMdMsl);
32
- }
33
- return l;
34
- }
35
- const re = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
36
- class me {
37
- utmDef;
38
- originWgs84;
39
- originUtm;
40
- _projection;
41
- constructor(n, r, t = "lnglat") {
42
- this.utmDef = n, this._projection = Q(re, n), t === "lnglat" ? (this.originWgs84 = r, this.originUtm = this.wgs84ToUtm(r)) : (this.originWgs84 = this.utmToWgs84(r), this.originUtm = r);
43
- }
44
- utmToWgs84(n) {
45
- return this._projection.inverse(n);
46
- }
47
- wgs84ToUtm(n) {
48
- return this._projection.forward(n);
49
- }
50
- utmToWorld(n, r, t) {
51
- return {
52
- x: n - this.originUtm[0],
53
- y: t,
54
- z: this.originUtm[1] - r
55
- };
56
- }
57
- worldToUtm(n, r, t) {
58
- return {
59
- easting: n + this.originUtm[0],
60
- altitude: r,
61
- northing: this.originUtm[1] - t
62
- };
63
- }
64
- wgs84ToWorld(n, r, t = 0) {
65
- const l = this.wgs84ToUtm([n, r]);
66
- return this.utmToWorld(l[0], l[1], t);
67
- }
68
- worldToWgs84(n, r, t) {
69
- const l = this.worldToUtm(n, r, t), o = this.utmToWgs84([l.easting, l.northing]);
70
- return {
71
- lng: o[0],
72
- lat: o[1],
73
- alt: r
74
- };
75
- }
76
- }
77
- function pe(e) {
78
- const [, n, r] = new RegExp(/^([0-9]{2})([N|S]?)$/).exec(e) || [];
79
- return `+proj=utm +zone=${n}${r === "S" ? " +south" : ""} +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs`;
80
- }
81
- function he([e, n]) {
82
- if (n > 55 && n < 64 && e > 2 && e < 6)
83
- return "32N";
84
- if (n > 71 && e >= 6 && e < 9)
85
- return "31N";
86
- if (n > 71 && (e >= 9 && e < 12 || e >= 18 && e < 21))
87
- return "33N";
88
- if (n > 71 && (e >= 21 && e < 24 || e >= 30 && e < 33))
89
- return "35N";
90
- if (e >= -180 && e <= 180) {
91
- const r = Math.floor((e + 180) / 6) % 60 + 1;
92
- return n < 0 ? `${r}S` : `${r}N`;
93
- }
94
- throw new Error(
95
- `getUtmZoneFromLatLng: Cannot figure out UTM zone from give Lat: ${n}, Lng: ${e}`
96
- );
97
- }
98
- function b(e, n, r) {
99
- const t = A(e, n), l = A(e, r);
100
- return B(te(t, l));
101
- }
102
- function ve(e, n, r, t, l = 0, o = -1) {
103
- const s = e.length / n, u = n - 1, m = s - 1, a = new Uint8Array(u * m * 4);
104
- let i = 0;
105
- const d = (c, g) => e[g * n + c];
106
- for (let c = 0; c < m; c++) {
107
- const g = c + 1, p = c + 0.5;
108
- for (let f = 0; f < u; f++) {
109
- const v = f + 1, w = f + 0.5, _ = d(f, c);
110
- if (_ !== o) {
111
- const V = d(f, g), F = d(v, c), M = d(v, g), D = (_ + V + F + M) / 4, G = [f * r, c * t, _], L = [f * r, g * t, V], P = [v * r, c * t, F], E = [v * r, g * t, M], x = [w * r, p * t, D], C = b(x, G, P), R = b(x, P, E), H = b(x, E, L), U = b(x, L, G), S = B([
112
- C[0] + R[0] + H[0] + U[0],
113
- C[2] + R[2] + H[2] + U[2],
114
- C[1] + R[1] + H[1] + U[1]
115
- ]), y = ne(S, [0, 1, 0], l * (Math.PI / 180)), W = Math.floor((y[0] + 1) / 2 * 255), N = Math.floor((y[1] + 1) / 2 * 255), k = Math.floor((y[2] + 1) / 2 * 255);
116
- a[i] = W, a[i + 1] = N, a[i + 2] = k, a[i + 3] = 255;
117
- } else
118
- a[i] = 0, a[i + 1] = 0, a[i + 2] = 0, a[i + 3] = 0;
119
- i += 4;
120
- }
121
- }
122
- return a;
123
- }
124
- function _e(e, n, r) {
125
- const t = new z(e, n, r);
126
- return t.minFilter = T, t.magFilter = T, t.flipY = !0, t.anisotropy = 4, t.needsUpdate = !0, t;
127
- }
128
- function we(e, n, r) {
129
- const t = new z(
130
- e,
131
- n,
132
- r,
133
- $,
134
- I
135
- );
136
- return t.minFilter = T, t.magFilter = T, t.needsUpdate = !0, t.flipY = !0, t;
137
- }
138
- function xe(e) {
139
- const n = new Map(
140
- e.chars.map((i, d) => [i.id, { index: d, spacing: i.xadvance }])
141
- ), r = 32, t = (i) => {
142
- const d = [];
143
- let c = 0;
144
- for (let g = 0; g < i.length; g++) {
145
- let p = i.charCodeAt(g);
146
- n.has(p) || (p = r);
147
- const f = n.get(p);
148
- f && (d.push(f.index), c += f.spacing);
149
- }
150
- return {
151
- indices: d,
152
- width: c
153
- };
154
- }, l = (i) => {
155
- i = Array.isArray(i) ? i : [i];
156
- const d = [], c = [];
157
- for (let f = 0; f < i.length; f++) {
158
- const v = i[f], w = t(v), _ = c.length;
159
- c.push(...w.indices), d.push([_, c.length, w.width]);
160
- }
161
- c.length || c.push(0);
162
- const g = c.length;
163
- d.forEach((f) => c.push(...f));
164
- const p = new z(
165
- new Uint16Array(c),
166
- c.length,
167
- 1,
168
- j,
169
- q
170
- );
171
- return p.needsUpdate = !0, { texture: p, textPointersOffset: g, textPointersCount: d.length };
172
- }, o = new O();
173
- o.setName("GlyphData");
174
- const s = [], u = [];
175
- e.chars.forEach((i) => {
176
- s.push(
177
- new h(new Y(i.x, i.y, i.width, i.height))
178
- ), u.push(
179
- new h(new Z(i.xoffset, i.yoffset, i.xadvance))
180
- );
181
- }), o.add(s), o.add(u), o.add(
182
- new h(new J(e.common.scaleW, e.common.scaleH))
183
- ), o.add(new h(e.info.size)), o.add(new h(e.distanceField.distanceRange)), o.add(new h(e.common.lineHeight)), o.add(new h(e.common.base));
184
- const m = () => {
185
- o.dispose();
186
- };
187
- return {
188
- glyphsCount: e.chars.length,
189
- glyphData: o,
190
- encodeText: t,
191
- encodeTextTexture: l,
192
- dispose: m
193
- };
194
- }
195
- function be(e, n, r) {
196
- if (e.length === 0) return [];
197
- e.sort((o, s) => n(o) - n(s));
198
- const t = [];
199
- let l = { start: n(e[0]), end: r(e[0]) };
200
- for (let o = 1; o < e.length; o += 1)
201
- n(e[o]) === l.end ? l.end = r(e[o]) : (t.push(l), l = { start: n(e[o]), end: r(e[o]) });
202
- return t.push(l), t;
203
- }
204
- var oe = `#define TRAJECTORY_MATERIAL
205
-
206
- uniform vec3 diffuse;
207
- uniform float opacity;
208
-
209
- #ifndef FLAT_SHADED
210
- varying vec3 vNormal;
211
- #endif
212
- varying vec3 vViewPosition;
213
- #include <common>
214
- #include <color_pars_fragment>
215
- #include <uv_pars_fragment>
216
- #include <map_pars_fragment>
217
- #include <fog_pars_fragment>
218
- #include <logdepthbuf_pars_fragment>
219
- #include <clipping_planes_pars_fragment>
220
-
221
- vec3 hue2rgb(in float H) {
222
- float R = abs(H * 6. - 3.) - 1.;
223
- float G = 2. - abs(H * 6. - 2.);
224
- float B = 2. - abs(H * 6. - 4.);
225
- return saturate(vec3(R, G, B));
226
- }
227
-
228
- vec3 hsl2rgb(in vec3 HSL) {
229
- vec3 RGB = hue2rgb(HSL.x);
230
- float C = (1. - abs(2. * HSL.z - 1.)) * HSL.y;
231
- return (RGB - 0.5) * C + HSL.z;
232
- }
233
-
234
- vec3 rgb2hsv(in vec3 RGB) {
235
-
236
- vec4 P = (RGB.g < RGB.b) ? vec4(RGB.bg, -1.0, 2.0 / 3.0) : vec4(RGB.gb, 0.0, -1.0 / 3.0);
237
- vec4 Q = (RGB.r < P.x) ? vec4(P.xyw, RGB.r) : vec4(RGB.r, P.yzx);
238
- float C = Q.x - min(Q.w, Q.y);
239
- float H = abs((Q.w - Q.y) / (6. * C + EPSILON) + Q.z);
240
- return vec3(H, C, Q.x);
241
- }
242
-
243
- vec3 rgb2hsl(in vec3 RGB) {
244
- vec3 HCV = rgb2hsv(RGB);
245
- float L = HCV.z - HCV.y * 0.5;
246
- float S = HCV.y / (1. - abs(L * 2. - 1.) + EPSILON);
247
- return vec3(HCV.x, S, L);
248
- }
249
-
250
- vec3 hsv2rgb(in vec3 HSV) {
251
- vec3 RGB = hue2rgb(HSV.x);
252
- return ((RGB - 1.) * HSV.y + 1.) * HSV.z;
253
- }
254
-
255
- void main() {
256
- #include <clipping_planes_fragment>
257
-
258
- vec3 color = diffuse.rgb;
259
-
260
- vec4 diffuseColor = vec4(color.rgb, opacity);
261
-
262
- #include <logdepthbuf_fragment>
263
- #include <map_fragment>
264
- #include <color_fragment>
265
- #include <normal_fragment_begin>
266
-
267
- #ifdef DEPTH_SHADE
268
- float depthFactor = clamp(dot(normalize(vNormal), normalize(vViewPosition)), 0.0, 1.0);
269
- float darkenFactor = clamp(vViewPosition.z / 5000.0, 0.1, 0.8);
270
- vec3 hsv = rgb2hsv(diffuseColor.rgb);
271
- hsv.z = hsv.z * darkenFactor;
272
- vec3 mixColor = hsv2rgb(hsv);
273
- diffuseColor.rgb = mix(mixColor, diffuseColor.rgb, pow(depthFactor, 0.8));
274
- #else
275
- float alphaFactor = clamp(vViewPosition.z / 100000.0, 0.0, 0.9);
276
-
277
- diffuseColor.a = 1.0 - alphaFactor;
278
- #endif
279
-
280
- gl_FragColor = diffuseColor.rgba;
281
-
282
- #include <tonemapping_fragment>
283
- #include <colorspace_fragment>
284
- #include <fog_fragment>
285
-
286
- #ifdef OPAQUE
287
-
288
- gl_FragColor.a = 1.0;
289
-
290
- #endif
291
- }`, ie = `#define TRAJECTORY_MATERIAL
292
-
293
- varying vec3 vViewPosition;
294
-
295
- #include <common>
296
- #include <batching_pars_vertex>
297
- #include <uv_pars_vertex>
298
- #include <envmap_pars_vertex>
299
- #include <color_pars_vertex>
300
- #include <fog_pars_vertex>
301
- #include <normal_pars_fragment>
302
- #include <logdepthbuf_pars_vertex>
303
- #include <clipping_planes_pars_vertex>
304
-
305
- void main() {
306
-
307
- #include <uv_vertex>
308
- #include <color_vertex>
309
- #include <batching_vertex>
310
- #include <beginnormal_vertex>
311
- #include <defaultnormal_vertex>
312
- #include <normal_vertex>
313
-
314
- #include <begin_vertex>
315
- #include <project_vertex>
316
- #include <logdepthbuf_vertex>
317
- #include <clipping_planes_vertex>
318
-
319
- vViewPosition = - mvPosition.xyz;
320
-
321
- #include <worldpos_vertex>
322
- #include <fog_vertex>
323
- }`;
324
- class Te extends K {
325
- isTubeMaterial = !0;
326
- constructor(n) {
327
- super({
328
- vertexShader: ie,
329
- fragmentShader: oe,
330
- uniforms: X.clone(ee.basic.uniforms),
331
- defines: {
332
- DEPTH_SHADE: !0
333
- },
334
- clipping: !0,
335
- fog: !0
336
- }), n && this.setValues(n);
337
- }
338
- get color() {
339
- return this.uniforms.diffuse.value;
340
- }
341
- set color(n) {
342
- this.uniforms.diffuse.value.set(n);
343
- }
344
- }
345
- export {
346
- me as C,
347
- Te as T,
348
- we as a,
349
- xe as b,
350
- ge as c,
351
- _e as d,
352
- ve as e,
353
- he as f,
354
- pe as g,
355
- b as h,
356
- be as t,
357
- re as w
358
- };
@@ -1,17 +0,0 @@
1
- const o = "completionTools", e = {
2
- "blank pipe": 0,
3
- tube: 1,
4
- packer: 2,
5
- gauge: 3,
6
- plug: 4,
7
- pbr: 5,
8
- "safety valve": 6,
9
- spm: 7,
10
- screen: 8,
11
- tracer: 9,
12
- unknown: 10
13
- };
14
- export {
15
- e as a,
16
- o as c
17
- };