@realsee/dnalogel 4.0.0-webgpu.3 → 4.0.0-webgpu.4

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 (147) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/floorplan.js +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +270 -35
  5. package/dist/index.js.map +1 -0
  6. package/dist/internal/{BasePlugin-CT5K8m36.js → BasePlugin-DC5m72La.js} +3 -3
  7. package/dist/internal/{BasePlugin-CT5K8m36.js.map → BasePlugin-DC5m72La.js.map} +1 -1
  8. package/dist/internal/BasePluginWithData-D_0W46_q.js +7 -0
  9. package/dist/internal/{BasePluginWithData-9z4tpAT4.js.map → BasePluginWithData-D_0W46_q.js.map} +1 -1
  10. package/dist/internal/{BetterTween-BX0aTvP1.js → BetterTween-DmptqE8m.js} +2 -2
  11. package/dist/internal/{BetterTween-BX0aTvP1.js.map → BetterTween-DmptqE8m.js.map} +1 -1
  12. package/dist/internal/{CSS3DRenderPlugin-ccSpcvwd.js → CSS3DRenderPlugin-CEatgl0m.js} +3 -3
  13. package/dist/internal/CSS3DRenderPlugin-CEatgl0m.js.map +1 -0
  14. package/dist/internal/{Controller-Csut_kcH.js → Controller-D6o4OGWJ.js} +8 -8
  15. package/dist/internal/{Controller-Csut_kcH.js.map → Controller-D6o4OGWJ.js.map} +1 -1
  16. package/dist/internal/{FiveDomEvents-3H9NvDOz.js → FiveDomEvents-BUBLFzti.js} +2 -2
  17. package/dist/internal/{FiveDomEvents-3H9NvDOz.js.map → FiveDomEvents-BUBLFzti.js.map} +1 -1
  18. package/dist/internal/FivePuppet-C6QmVY70.js +67 -0
  19. package/dist/internal/FivePuppet-C6QmVY70.js.map +1 -0
  20. package/dist/internal/{PointHelper-D565h9b_.js → PointHelper-DIhgdjY2.js} +48 -48
  21. package/dist/internal/{PointHelper-D565h9b_.js.map → PointHelper-DIhgdjY2.js.map} +1 -1
  22. package/dist/internal/{Polygon-CBGvYUfJ.js → Polygon-D3xIL1Pl.js} +30 -30
  23. package/dist/internal/{Polygon-CBGvYUfJ.js.map → Polygon-D3xIL1Pl.js.map} +1 -1
  24. package/dist/internal/{Prism-Dm5ESkgg.js → Prism-CJlyAEAU.js} +13 -13
  25. package/dist/internal/{Prism-Dm5ESkgg.js.map → Prism-CJlyAEAU.js.map} +1 -1
  26. package/dist/internal/{Rectangle-D-zkDycu.js → Rectangle-BpL9lNKU.js} +118 -129
  27. package/dist/internal/Rectangle-BpL9lNKU.js.map +1 -0
  28. package/dist/internal/{Work-DF8j5GnL.js → Work-BE4AgdwH.js} +9 -9
  29. package/dist/internal/{Work-DF8j5GnL.js.map → Work-BE4AgdwH.js.map} +1 -1
  30. package/dist/internal/{animationFrame-XGKHIeQK.js → animationFrame-CacKXN8l.js} +14 -3
  31. package/dist/internal/animationFrame-CacKXN8l.js.map +1 -0
  32. package/dist/internal/{area-maker-Bd9l2pIp.js → area-maker-Bnhx4SkH.js} +4 -4
  33. package/dist/internal/{area-maker-Bd9l2pIp.js.map → area-maker-Bnhx4SkH.js.map} +1 -1
  34. package/dist/internal/{boundingBox-DvCor5Hd.js → boundingBox-CIqXgNXW.js} +2 -2
  35. package/dist/internal/{boundingBox-DvCor5Hd.js.map → boundingBox-CIqXgNXW.js.map} +1 -1
  36. package/dist/internal/{camera-movement-CwI7UqUk.js → camera-movement-C1pwfMk_.js} +2 -2
  37. package/dist/internal/camera-movement-C1pwfMk_.js.map +1 -0
  38. package/dist/internal/{changeMode-BVGYCoqu.js → changeMode-D_I2AOjH.js} +2 -2
  39. package/dist/internal/{changeMode-BVGYCoqu.js.map → changeMode-D_I2AOjH.js.map} +1 -1
  40. package/dist/internal/{controller-BWkZT0l1.js → controller-DIDtFrBE.js} +1991 -2050
  41. package/dist/internal/controller-DIDtFrBE.js.map +1 -0
  42. package/dist/internal/{cruise-C3F0eNQ-.js → cruise-B50Tcq66.js} +2 -2
  43. package/dist/internal/{cruise-C3F0eNQ-.js.map → cruise-B50Tcq66.js.map} +1 -1
  44. package/dist/internal/{current-pano-image-DKUWluR-.js → current-pano-image-BCFr6njt.js} +4 -4
  45. package/dist/internal/{current-pano-image-DKUWluR-.js.map → current-pano-image-BCFr6njt.js.map} +1 -1
  46. package/dist/internal/{defaultUrls-CjKkS9k9.js → defaultUrls-CfMtGzqM.js} +14 -3
  47. package/dist/internal/defaultUrls-CfMtGzqM.js.map +1 -0
  48. package/dist/internal/{fire-scene-CczaBz2_.js → fire-scene-BzZGvyh_.js} +9 -4
  49. package/dist/internal/fire-scene-BzZGvyh_.js.map +1 -0
  50. package/dist/internal/{fiveModelLoad-mg-TnpnM.js → fiveModelLoad-BUIBYxzp.js} +2 -2
  51. package/dist/internal/{fiveModelLoad-mg-TnpnM.js.map → fiveModelLoad-BUIBYxzp.js.map} +1 -1
  52. package/dist/internal/{floorplan-KWlIsTvO.js → floorplan-C8BGw87S.js} +5 -5
  53. package/dist/internal/{floorplan-KWlIsTvO.js.map → floorplan-C8BGw87S.js.map} +1 -1
  54. package/dist/internal/{generatePolygonGeometry-B_5JFq8y.js → generatePolygonGeometry-BOnzdCaG.js} +181 -178
  55. package/dist/internal/generatePolygonGeometry-BOnzdCaG.js.map +1 -0
  56. package/dist/internal/{lookObject-wesf8xt6.js → lookObject-DuRab5wf.js} +2 -2
  57. package/dist/internal/{lookObject-wesf8xt6.js.map → lookObject-DuRab5wf.js.map} +1 -1
  58. package/dist/internal/{measure-BX6boAC7.js → measure-B4jFwdQ6.js} +5 -5
  59. package/dist/internal/{measure-BX6boAC7.js.map → measure-B4jFwdQ6.js.map} +1 -1
  60. package/dist/internal/{model-chassis-compass-InVNmOAQ.js → model-chassis-compass-C6NTVMLo.js} +2 -2
  61. package/dist/internal/{model-chassis-compass-InVNmOAQ.js.map → model-chassis-compass-C6NTVMLo.js.map} +1 -1
  62. package/dist/internal/{model-entry-door-guide-wZbyY77a.js → model-entry-door-guide-DnGTLY2s.js} +2 -2
  63. package/dist/internal/{model-entry-door-guide-wZbyY77a.js.map → model-entry-door-guide-DnGTLY2s.js.map} +1 -1
  64. package/dist/internal/{model-maker-uO8xlTuO.js → model-maker-B1mnDdKY.js} +15 -15
  65. package/dist/internal/{model-maker-uO8xlTuO.js.map → model-maker-B1mnDdKY.js.map} +1 -1
  66. package/dist/internal/{model-tv-video-DzXb2JRf.js → model-tv-video-BP-7HoDC.js} +2 -2
  67. package/dist/internal/{model-tv-video-DzXb2JRf.js.map → model-tv-video-BP-7HoDC.js.map} +1 -1
  68. package/dist/internal/{model-view-CBeeMM98.js → model-view-BWUU0-uq.js} +2 -2
  69. package/dist/internal/{model-view-CBeeMM98.js.map → model-view-BWUU0-uq.js.map} +1 -1
  70. package/dist/internal/object3d-helper-CbRRhnLV.js +7 -0
  71. package/dist/internal/{object3d-helper-DDYsVPN6.js.map → object3d-helper-CbRRhnLV.js.map} +1 -1
  72. package/dist/internal/{pano-compass-jSr629BP.js → pano-compass-BRTM0dCc.js} +7 -7
  73. package/dist/internal/{pano-compass-jSr629BP.js.map → pano-compass-BRTM0dCc.js.map} +1 -1
  74. package/dist/internal/{pano-door-label-DKoYIKLa.js → pano-door-label-BLjYGZrr.js} +3 -3
  75. package/dist/internal/{pano-door-label-DKoYIKLa.js.map → pano-door-label-BLjYGZrr.js.map} +1 -1
  76. package/dist/internal/{pano-measure-DW9mdx1O.js → pano-measure-BIgCWkVJ.js} +14 -14
  77. package/dist/internal/{pano-measure-DW9mdx1O.js.map → pano-measure-BIgCWkVJ.js.map} +1 -1
  78. package/dist/internal/{pano-ruler-pro-D7q0Ob21.js → pano-ruler-pro-D9yTbHJz.js} +2 -2
  79. package/dist/internal/{pano-ruler-pro-D7q0Ob21.js.map → pano-ruler-pro-D9yTbHJz.js.map} +1 -1
  80. package/dist/internal/{pano-spatial-tag-D0qn-__S.js → pano-spatial-tag-B7Gxn3BS.js} +3 -3
  81. package/dist/internal/{pano-spatial-tag-D0qn-__S.js.map → pano-spatial-tag-B7Gxn3BS.js.map} +1 -1
  82. package/dist/internal/{pano-tag-BW5MXXws.js → pano-tag-Bchz-jED.js} +2 -2
  83. package/dist/internal/{pano-tag-BW5MXXws.js.map → pano-tag-Bchz-jED.js.map} +1 -1
  84. package/dist/internal/{pano-video-Bmud_CAn.js → pano-video-BufYQMqo.js} +3 -3
  85. package/dist/internal/{pano-video-Bmud_CAn.js.map → pano-video-BufYQMqo.js.map} +1 -1
  86. package/dist/internal/{pipeline-DDqgb1gw.js → pipeline-t_3IMXKB.js} +4 -4
  87. package/dist/internal/{pipeline-DDqgb1gw.js.map → pipeline-t_3IMXKB.js.map} +1 -1
  88. package/dist/internal/{sculpt-BNkLJR6p.js → sculpt-BCK4PMwL.js} +64 -63
  89. package/dist/internal/{sculpt-BNkLJR6p.js.map → sculpt-BCK4PMwL.js.map} +1 -1
  90. package/dist/internal/tagPosition-DA9YguT8.js +176 -0
  91. package/dist/internal/tagPosition-DA9YguT8.js.map +1 -0
  92. package/dist/internal/withResolvers-DVr4bnnk.js +15 -0
  93. package/dist/internal/withResolvers-DVr4bnnk.js.map +1 -0
  94. package/dist/plugins/area-maker.js +1 -1
  95. package/dist/plugins/camera-movement.js +1 -1
  96. package/dist/plugins/cruise.js +2 -2
  97. package/dist/plugins/css3d-render.js +1 -1
  98. package/dist/plugins/current-pano-image.js +1 -1
  99. package/dist/plugins/digital-performance.d.ts +1 -1
  100. package/dist/plugins/digital-performance.js +1 -1
  101. package/dist/plugins/fire-scene.d.ts +1 -1
  102. package/dist/plugins/fire-scene.js +1 -1
  103. package/dist/plugins/guide-line.js +1 -1
  104. package/dist/plugins/measure.js +1 -1
  105. package/dist/plugins/model-chassis-compass.js +1 -1
  106. package/dist/plugins/model-entry-door-guide.js +1 -1
  107. package/dist/plugins/model-maker.d.ts +1 -1
  108. package/dist/plugins/model-maker.js +1 -1
  109. package/dist/plugins/model-tv-video.js +1 -1
  110. package/dist/plugins/model-view.js +1 -1
  111. package/dist/plugins/object3d-helper.d.ts +1 -1
  112. package/dist/plugins/object3d-helper.js +3 -1
  113. package/dist/plugins/pano-compass.js +1 -1
  114. package/dist/plugins/pano-door-label.js +1 -1
  115. package/dist/plugins/pano-measure.js +1 -1
  116. package/dist/plugins/pano-ruler-pro.js +1 -1
  117. package/dist/plugins/pano-spatial-tag.js +1 -1
  118. package/dist/plugins/pano-tag.d.ts +1 -1
  119. package/dist/plugins/pano-tag.js +4 -1
  120. package/dist/plugins/pano-video.js +1 -1
  121. package/dist/plugins/pipeline.js +1 -1
  122. package/dist/plugins/sculpt.d.ts +1 -1
  123. package/dist/plugins/sculpt.js +7 -1
  124. package/dist/types/public/index.d.ts +2 -0
  125. package/dist/types/public/plugins/digital-performance.d.ts +1 -0
  126. package/dist/types/public/plugins/fire-scene.d.ts +1 -0
  127. package/dist/types/public/plugins/model-maker.d.ts +1 -0
  128. package/dist/types/public/plugins/object3d-helper.d.ts +1 -0
  129. package/dist/types/public/plugins/pano-tag.d.ts +2 -0
  130. package/dist/types/public/plugins/sculpt.d.ts +8 -0
  131. package/dist/types/public/utils.d.ts +5 -0
  132. package/dist/utils.d.ts +1 -1
  133. package/dist/utils.js +16 -50
  134. package/package.json +1 -1
  135. package/dist/internal/BasePluginWithData-9z4tpAT4.js +0 -7
  136. package/dist/internal/CSS3DRenderPlugin-ccSpcvwd.js.map +0 -1
  137. package/dist/internal/Rectangle-D-zkDycu.js.map +0 -1
  138. package/dist/internal/animationFrame-XGKHIeQK.js.map +0 -1
  139. package/dist/internal/blink-DD_0mH-m.js +0 -113
  140. package/dist/internal/blink-DD_0mH-m.js.map +0 -1
  141. package/dist/internal/camera-movement-CwI7UqUk.js.map +0 -1
  142. package/dist/internal/controller-BWkZT0l1.js.map +0 -1
  143. package/dist/internal/defaultUrls-CjKkS9k9.js.map +0 -1
  144. package/dist/internal/fire-scene-CczaBz2_.js.map +0 -1
  145. package/dist/internal/generatePolygonGeometry-B_5JFq8y.js.map +0 -1
  146. package/dist/internal/object3d-helper-DDYsVPN6.js +0 -7
  147. package/dist/utils.js.map +0 -1
@@ -0,0 +1,176 @@
1
+ import { t as e } from "./transformPosition-Cc92Wf0o.js";
2
+ import { i as t, n, o as r } from "./util-vGeVT4oo.js";
3
+ import { t as i } from "./FiveUtil-DyTBRHpM.js";
4
+ import { t as a } from "./vectorToCoordinate-DIOgfeEi.js";
5
+ import { n as o } from "./isNil-CQNA0Sbe.js";
6
+ import { t as s } from "./animation-D9rPUNWJ.js";
7
+ import * as c from "three/webgpu";
8
+ import { Euler as l, Matrix4 as u, Vector3 as d } from "three/webgpu";
9
+ //#region src/shared-utils/five/mode.ts
10
+ function f(e) {
11
+ return e.toLowerCase().includes("panorama");
12
+ }
13
+ function p(e) {
14
+ return !f(e);
15
+ }
16
+ //#endregion
17
+ //#region src/shared-utils/five/lookPoint.ts
18
+ async function m(e, t, n) {
19
+ if (!t) return;
20
+ let r = n?.distance ?? 3, s = new i(e), l = e.camera.position.clone().sub(t).setY(0).normalize(), u = e.state.mode === "Mapview" ? e.state.fov : 60, d = r, f = d * Math.cos(c.MathUtils.degToRad(u / 2)), p = d * Math.sin(c.MathUtils.degToRad(u / 2)), m = 0, h = [], g = (e) => {
21
+ let n = c.MathUtils.degToRad(e);
22
+ return l.clone().applyAxisAngle(new c.Vector3(0, 1, 0), n).clone().multiplyScalar(f).add(new c.Vector3(0, p, 0)).add(t);
23
+ };
24
+ for (; m !== 360;) {
25
+ let e = 0, n = g(m);
26
+ if (((t) => {
27
+ let r = t.distanceTo(n), i = new c.Raycaster(t, n.clone().sub(t).normalize()), a = s.model.intersectRaycaster(i)[0]?.distance;
28
+ o(a) ? a > r && (e += 1) : e += 1;
29
+ })(t), h[e] = m, e === 1) break;
30
+ m += 30;
31
+ }
32
+ let _ = g(h[1] ?? 0), v = a(t.clone().sub(_).normalize());
33
+ if (e.state.mode === "Mapview") return e.updateCamera({
34
+ offset: t,
35
+ distance: r,
36
+ ...v
37
+ }, 800);
38
+ e.setState({
39
+ mode: "Mapview",
40
+ offset: t,
41
+ distance: r,
42
+ ...v
43
+ }), await e.ready();
44
+ }
45
+ //#endregion
46
+ //#region src/shared-utils/three/blink.ts
47
+ var h = /* @__PURE__ */ new WeakMap();
48
+ function g(e) {
49
+ return typeof HTMLElement < "u" && e instanceof HTMLElement;
50
+ }
51
+ function _(e, t = {}, n = !1) {
52
+ let r = Array.isArray(e) ? e : [e], i = /* @__PURE__ */ new Set();
53
+ for (let e of r) h.get(e)?.finish(), i.add(e), !g(e) && t.traverseTHREEObject !== !1 && e.traverse((e) => i.add(e));
54
+ let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
55
+ for (let e of i) if (g(e)) o.set(e, {
56
+ opacity: e.style.opacity,
57
+ display: e.style.display,
58
+ visibility: e.style.visibility
59
+ }), n && (e.style.display = "", e.style.visibility = "");
60
+ else {
61
+ c.set(e, e.visible), n && (e.visible = !0);
62
+ let t = e.material;
63
+ for (let e of t ? Array.isArray(t) ? t : [t] : []) a.has(e) || a.set(e, {
64
+ opacity: e.opacity,
65
+ transparent: e.transparent
66
+ }), e.transparent || (e.transparent = !0, e.needsUpdate = !0);
67
+ }
68
+ let l, u = !1, d, f = new Promise((e) => {
69
+ d = e;
70
+ });
71
+ function p() {
72
+ u || (u = !0, o.forEach((e, t) => Object.assign(t.style, e)), c.forEach((e, t) => {
73
+ t.visible = e;
74
+ }), a.forEach((e, t) => {
75
+ t.transparent !== e.transparent && (t.needsUpdate = !0), Object.assign(t, e);
76
+ }), r.forEach((e) => {
77
+ h.get(e) === l && h.delete(e);
78
+ }), t.updateRender?.(), d());
79
+ }
80
+ let m = { opacity: +!n };
81
+ l = s(m, {
82
+ opacity: +!!n,
83
+ duration: t.duration ?? 300,
84
+ delay: t.delay ?? 0,
85
+ loop: t.loop ?? 4,
86
+ alternate: t.alternate ?? !0,
87
+ ease: t.ease ?? "linear",
88
+ autoplay: !1,
89
+ onUpdate: () => {
90
+ o.forEach((e, t) => {
91
+ t.style.opacity = String(Number(e.opacity || 1) * m.opacity);
92
+ }), a.forEach((e, r) => {
93
+ r.opacity = (n ? t.maxOpacity ?? e.opacity : e.opacity) * m.opacity;
94
+ }), t.onProgress?.(l?.progress ?? 0), t.updateRender?.();
95
+ },
96
+ onComplete: () => {
97
+ p(), t.onComplete?.();
98
+ }
99
+ }), l.finished = f;
100
+ let _ = l.cancel.bind(l);
101
+ l.cancel = () => (_(), p(), l), l.finish = () => {
102
+ l.complete(), p();
103
+ }, r.forEach((e) => h.set(e, l));
104
+ let v = !1, y = l.play.bind(l);
105
+ return l.play = () => (v || (v = !0, t.onStart?.()), y()), t.autoplay !== !1 && l.play(), l;
106
+ }
107
+ function v(e, t) {
108
+ return _(e, t);
109
+ }
110
+ function y(e, t) {
111
+ return _(e, t, !0);
112
+ }
113
+ //#endregion
114
+ //#region src/PanoTagPlugin/utils/tag/tagCheck.ts
115
+ function b(e) {
116
+ return e.stickType === "Plane";
117
+ }
118
+ function x(e) {
119
+ return e.stickType === "3DPoint";
120
+ }
121
+ function S(e) {
122
+ return e.stickType === "Model" && e.contentType === "MediaModel";
123
+ }
124
+ function C(e) {
125
+ return e.stickType === "Model" && e.contentType === "Model";
126
+ }
127
+ function w(e) {
128
+ return e.stickType === "Model" && e.contentType === "VirtualObject";
129
+ }
130
+ function T(e) {
131
+ return C(e) || w(e);
132
+ }
133
+ function E(e) {
134
+ return e.stickType === "Plane" && e.contentType === "MediaPlane";
135
+ }
136
+ function D(e) {
137
+ return e.stickType === "Polygon";
138
+ }
139
+ function O(e) {
140
+ return e.stickType === "3DBox";
141
+ }
142
+ function k(e) {
143
+ return e.stickType === "Mask";
144
+ }
145
+ //#endregion
146
+ //#region src/PanoTagPlugin/utils/tagPosition.ts
147
+ function A(n, r) {
148
+ let i = t(n.start), a = t(n.end), o = new l().fromArray(n.rotation), s = e(new d((i.x + a.x) / 2, (i.y + a.y) / 2, (i.z + a.z) / 2), r), c = new d(Math.abs(a.x - i.x) / 2, Math.abs(a.y - i.y) / 2, Math.abs(a.z - i.z) / 2), f = new u().makeRotationFromEuler(o), p = [
149
+ new d(-.5, -.5, -.5),
150
+ new d(.5, -.5, -.5),
151
+ new d(.5, -.5, .5),
152
+ new d(-.5, -.5, .5),
153
+ new d(-.5, .5, -.5),
154
+ new d(.5, .5, -.5),
155
+ new d(.5, .5, .5),
156
+ new d(-.5, .5, .5)
157
+ ], m = c.clone().multiplyScalar(2);
158
+ return p.map((e) => e.clone().multiply(m).applyMatrix4(f).add(s));
159
+ }
160
+ function j(e, t) {
161
+ if (!t) return e;
162
+ let n = new u().fromArray(t);
163
+ return e.map((e) => e.clone().applyMatrix4(n));
164
+ }
165
+ function M(e) {
166
+ let n = O(e) && e.position ? j(A(e.position, e.plugin?.workUtil?.transform), e.matrix) : D(e) && e.position ? j(e.position.map((e) => t(e)), e.matrix) : S(e) && e.matrix ? j(e.data.mediaPosition.map((e) => t(e)), e.matrix) : k(e) ? e.position && Array.isArray(e.position) ? t(e.position) : (console.warn("[getTagPosition] Mask tag without position, tag id:", e.id), new d(0, 0, 0)) : e.position;
167
+ return r(n);
168
+ }
169
+ function N(e) {
170
+ let t = M(e);
171
+ return n(...Array.isArray(t) ? t : [t]);
172
+ }
173
+ //#endregion
174
+ export { T as a, b as c, y as d, m as f, M as i, x as l, f as m, A as n, S as o, p, N as r, E as s, j as t, v as u };
175
+
176
+ //# sourceMappingURL=tagPosition-DA9YguT8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagPosition-DA9YguT8.js","names":["ThreeVector3","transformPosition","anyPositionToVector3","vector3Position","FiveUtil","vectorToCoordinates","notNil","animate","THREE","isPanoramaLike","mode","isModelLike","lookPoint","point","distance","config","fiveUtil","five","vector","fov","c","b","a","offsetAngle","offsetCheckResult","getCameraPosition","angle","passed","provisionCameraPosition","distanceToCamera","origin","raycaster","distanceToIntersection","newCameraPosition","longlat","activeAnimations","isElement","target","createBlink","roots","input","targets","root","options","child","materials","elements","visibility","reveal","material","item","animation","restored","resolveFinished","finished","resolve","restore","element","state","visible","driver","cancel","started","play","blink","reblink","isPlaneTag","tag","isPoint3DTag","isMediaModelTag","isModelTag","isVirtualObjectTag","isAutoLookAtModelTag","isMediaPlaneTag","isPolygonTag","is3DBoxTag","isMaskTag","getBoxCorners","start","boxPosition","end","rotation","Euler","center","Vector3","transform","halfSize","rotationMatrix","Matrix4","unitCorners","size","corner","applyMatrixToPoints","matrix","points","matrix4","getTagPosition","position","p","getTagCenterPosition","tagPosition","centerPoint"],"sources":["../../src/shared-utils/five/mode.ts","../../src/shared-utils/five/lookPoint.ts","../../src/shared-utils/three/blink.ts","../../src/PanoTagPlugin/utils/tag/tagCheck.ts","../../src/PanoTagPlugin/utils/tagPosition.ts"],"sourcesContent":["import type { Mode } from '@realsee/five-webgpu'\n\nexport function isPanoramaLike(mode: Mode) {\n return mode.toLowerCase().includes('panorama')\n}\n\nexport function isModelLike(mode: Mode) {\n return !isPanoramaLike(mode)\n}\n","import * as THREE from 'three/webgpu'\nimport { vectorToCoordinates } from '../vectorToCoordinate'\nimport { FiveUtil } from '../Utils/FiveUtil'\nimport { notNil } from '../isNil'\nimport type { Five } from '@realsee/five-webgpu'\n\n/**\n * @description 以最佳视角看向一个三维空间点\n * @param five five 实例\n * @param point 要观察的坐标点\n * @param config.distance 观察距离,单位为米,默认为 3\n */\nexport async function lookPoint(five: Five, point: THREE.Vector3, config?: { distance?: number }) {\n if (!point) return\n\n const distance = config?.distance ?? 3\n\n const fiveUtil = new FiveUtil(five)\n\n const vector = five.camera.position.clone().sub(point).setY(0).normalize() // model 看向 camera 的方向,用于之后计算 camera 应该在的位置\n const fov = five.state.mode === 'Mapview' ? five.state.fov : 60\n const c /* 斜边 */ = distance\n const b /* 邻边 */ = c * Math.cos(THREE.MathUtils.degToRad(fov / 2)) // cosine(fov/2)\n const a /* 对边 */ = c * Math.sin(THREE.MathUtils.degToRad(fov / 2)) // sine(fov/2)\n\n let offsetAngle = 0\n const offsetCheckResult: number[] = [] // index 指 碰撞检测通过的数量,只有 0,1 两种情况,value 为 当前 index 情况下的 offsetAngle\n\n const getCameraPosition = (offsetAngle: number) => {\n const angle = THREE.MathUtils.degToRad(offsetAngle)\n const _vector = vector.clone().applyAxisAngle(new THREE.Vector3(0, 1, 0), angle) // 旋转后的 vector\n return _vector.clone().multiplyScalar(b).add(new THREE.Vector3(0, a, 0)).add(point)\n }\n\n // 每个角度做一次检测\n while (offsetAngle !== 360) {\n // 旋转vector\n let passed = 0\n const provisionCameraPosition = getCameraPosition(offsetAngle)\n\n const doIntersectRaycaster = (origin: THREE.Vector3) => {\n const distanceToCamera = origin.distanceTo(provisionCameraPosition) // 球上的点到摄像机的距离\n const raycaster = new THREE.Raycaster(origin, provisionCameraPosition.clone().sub(origin).normalize())\n const intersection = fiveUtil.model.intersectRaycaster(raycaster)[0]\n const distanceToIntersection = intersection?.distance // 球上的点到模型的距离\n if (notNil(distanceToIntersection)) {\n if (distanceToIntersection > distanceToCamera) {\n // 有遮挡,但是不影响\n passed += 1\n } else {\n // 中间有物体遮挡\n }\n } else {\n // 无遮挡\n passed += 1\n }\n }\n\n // 圆点碰撞检测\n doIntersectRaycaster(point)\n\n offsetCheckResult[passed] = offsetAngle\n if (passed === 1) {\n break\n } else {\n offsetAngle += 30\n }\n }\n\n const newCameraPosition = getCameraPosition(offsetCheckResult[1] ?? 0)\n const longlat = vectorToCoordinates(point.clone().sub(newCameraPosition).normalize())\n\n if (five.state.mode === 'Mapview') {\n return five.updateCamera(\n {\n offset: point,\n distance,\n ...longlat,\n },\n 800,\n )\n } else {\n five.setState({\n mode: 'Mapview',\n offset: point,\n distance,\n ...longlat,\n })\n await five.ready()\n }\n}\n","import { animate, type AnimationParams, type JSAnimation } from 'animejs'\nimport type { Material, Object3D } from 'three/webgpu'\n\nexport type BlinkTarget = HTMLElement | Object3D\nexport interface BlinkOptions {\n /** 默认立即播放;false 时由返回的动画句柄手动 play。 */\n autoplay?: boolean\n duration?: number\n delay?: number\n loop?: number | boolean\n alternate?: boolean\n ease?: AnimationParams['ease']\n traverseTHREEObject?: boolean\n updateRender?: () => void\n onProgress?: (progress: number) => void\n onStart?: () => void\n onComplete?: () => void\n}\nexport interface ReBlinkOptions extends BlinkOptions { maxOpacity?: number }\nexport type BlinkAnimation = JSAnimation & { finished: Promise<void>; finish: () => void }\n\nconst activeAnimations = new WeakMap<BlinkTarget, BlinkAnimation>()\n\nfunction isElement(target: BlinkTarget): target is HTMLElement {\n return typeof HTMLElement !== 'undefined' && target instanceof HTMLElement\n}\n\nfunction createBlink(input: BlinkTarget | BlinkTarget[], options: ReBlinkOptions = {}, reveal = false): BlinkAnimation {\n const roots = Array.isArray(input) ? input : [input]\n const targets = new Set<BlinkTarget>()\n for (const root of roots) {\n activeAnimations.get(root)?.finish()\n targets.add(root)\n if (!isElement(root) && options.traverseTHREEObject !== false) root.traverse((child) => targets.add(child))\n }\n const materials = new Map<Material, { opacity: number; transparent: boolean }>()\n const elements = new Map<HTMLElement, { opacity: string; display: string; visibility: string }>()\n const visibility = new Map<Object3D, boolean>()\n for (const target of targets) {\n if (isElement(target)) {\n elements.set(target, { opacity: target.style.opacity, display: target.style.display, visibility: target.style.visibility })\n if (reveal) { target.style.display = ''; target.style.visibility = '' }\n } else {\n visibility.set(target, target.visible)\n if (reveal) target.visible = true\n const material = (target as Object3D & { material?: Material | Material[] }).material\n for (const item of material ? Array.isArray(material) ? material : [material] : []) {\n if (!materials.has(item)) materials.set(item, { opacity: item.opacity, transparent: item.transparent })\n if (!item.transparent) { item.transparent = true; item.needsUpdate = true }\n }\n }\n }\n let animation: BlinkAnimation\n let restored = false\n let resolveFinished: () => void\n const finished = new Promise<void>((resolve) => { resolveFinished = resolve })\n function restore() {\n if (restored) return\n restored = true\n elements.forEach((state, element) => Object.assign(element.style, state))\n visibility.forEach((visible, object) => { object.visible = visible })\n materials.forEach((state, material) => {\n if (material.transparent !== state.transparent) material.needsUpdate = true\n Object.assign(material, state)\n })\n roots.forEach((root) => { if (activeAnimations.get(root) === animation) activeAnimations.delete(root) })\n options.updateRender?.()\n resolveFinished()\n }\n const driver = { opacity: reveal ? 0 : 1 }\n animation = animate(driver, {\n opacity: reveal ? 1 : 0,\n duration: options.duration ?? 300,\n delay: options.delay ?? 0,\n loop: options.loop ?? 4,\n alternate: options.alternate ?? true,\n ease: options.ease ?? 'linear',\n autoplay: false,\n onUpdate: () => {\n elements.forEach((state, element) => { element.style.opacity = String((Number(state.opacity || 1)) * driver.opacity) })\n materials.forEach((state, material) => { material.opacity = (reveal ? options.maxOpacity ?? state.opacity : state.opacity) * driver.opacity })\n options.onProgress?.(animation?.progress ?? 0)\n options.updateRender?.()\n },\n onComplete: () => { restore(); options.onComplete?.() },\n }) as BlinkAnimation\n animation.finished = finished\n const cancel = animation.cancel.bind(animation)\n animation.cancel = () => { cancel(); restore(); return animation }\n animation.finish = () => { animation.complete(); restore() }\n roots.forEach((root) => activeAnimations.set(root, animation))\n let started = false\n const play = animation.play.bind(animation)\n animation.play = () => {\n if (!started) { started = true; options.onStart?.() }\n return play()\n }\n if (options.autoplay !== false) animation.play()\n return animation\n}\n\nexport function blink(targets: BlinkTarget | BlinkTarget[], options?: BlinkOptions): BlinkAnimation {\n return createBlink(targets, options)\n}\nexport function reblink(targets: BlinkTarget | BlinkTarget[], options?: ReBlinkOptions): BlinkAnimation {\n return createBlink(targets, options, true)\n}\n","import type { TagContentType, TagInstance } from '../../typings'\nimport type { ModelTagInterface } from '../../controller/Tag/ModelTag'\nimport type { PlaneTagInterface } from '../../controller/Tag/PlaneTag'\nimport type { PolygonTagInterface } from '../../controller/Tag/PolygonTag'\nimport type { BoxTagInterface } from '../../controller/Tag/BoxTag'\nimport type { MaskTagInterface } from '../../controller/Tag/MaskTag'\n\nexport function isPlaneTag<T extends TagContentType>(tag: TagInstance<T>): tag is PlaneTagInterface<T> {\n return tag.stickType === 'Plane'\n}\n\nexport function isPoint3DTag<T extends TagContentType>(tag: TagInstance<T>): tag is TagInstance<T, '3DPoint'> {\n return tag.stickType === '3DPoint'\n}\n\nexport function is3DTag<T extends TagContentType>(tag: TagInstance): tag is TagInstance<T, '3DPoint'> | TagInstance<T, 'Plane'> {\n return tag.stickType === '3DPoint' || tag.stickType === 'Plane'\n}\n\nexport function isMediaModelTag(tag: TagInstance): tag is ModelTagInterface<'MediaModel'> {\n return tag.stickType === 'Model' && tag.contentType === 'MediaModel'\n}\n\nexport function isModelTag(tag: TagInstance): tag is ModelTagInterface<'Model'> {\n return tag.stickType === 'Model' && tag.contentType === 'Model'\n}\n\n/** 虚拟模型标签(空间三维对象,渲染同纯模型) */\nexport function isVirtualObjectTag(tag: TagInstance): tag is ModelTagInterface<'VirtualObject'> {\n return tag.stickType === 'Model' && tag.contentType === 'VirtualObject'\n}\n\n/** 可自动转向用户的模型标签:纯模型(Model) 或 虚拟模型(VirtualObject) */\nexport function isAutoLookAtModelTag(tag: TagInstance): tag is ModelTagInterface<'Model'> | ModelTagInterface<'VirtualObject'> {\n return isModelTag(tag) || isVirtualObjectTag(tag)\n}\n\nexport function isMediaPlaneTag(tag: TagInstance): tag is PlaneTagInterface<'MediaModel'> {\n return tag.stickType === 'Plane' && tag.contentType === 'MediaPlane'\n}\nexport function isPolygonTag(tag: TagInstance): tag is PolygonTagInterface {\n return tag.stickType === 'Polygon'\n}\nexport function is3DBoxTag(tag: TagInstance): tag is BoxTagInterface {\n return tag.stickType === '3DBox'\n}\nexport function isMaskTag(tag: TagInstance): tag is MaskTagInterface {\n return tag.stickType === 'Mask'\n}\n","import type { Vector3 } from 'three/webgpu'\nimport { Matrix4, Vector3 as ThreeVector3, Euler } from 'three/webgpu'\nimport { centerPoint } from '../../shared-utils/three/centerPoint'\nimport { is3DBoxTag, isMediaModelTag, isPolygonTag, isMaskTag } from './tag/tagCheck'\nimport { anyPositionToVector3, vector3Position } from '../../shared-utils/positionToVector3'\nimport type { TagInstance, BoxPosition } from '../typings'\nimport { transformPosition } from '../../shared-utils/five/transformPosition'\n\n/**\n * 计算 BoxPosition 的8个角点\n */\nexport function getBoxCorners(boxPosition: BoxPosition, transform: Matrix4): Vector3[] {\n const start = anyPositionToVector3(boxPosition.start)\n const end = anyPositionToVector3(boxPosition.end)\n const rotation = new Euler().fromArray(boxPosition.rotation as [number, number, number])\n\n const center = transformPosition(new ThreeVector3((start.x + end.x) / 2, (start.y + end.y) / 2, (start.z + end.z) / 2), transform)\n const halfSize = new ThreeVector3(Math.abs(end.x - start.x) / 2, Math.abs(end.y - start.y) / 2, Math.abs(end.z - start.z) / 2)\n\n // 构建旋转矩阵\n const rotationMatrix = new Matrix4().makeRotationFromEuler(rotation)\n\n // 单位立方体的8个角点(未缩放、未旋转、未平移)\n const unitCorners = [\n // 底面4个点 (y = -0.5)\n new ThreeVector3(-0.5, -0.5, -0.5),\n new ThreeVector3(0.5, -0.5, -0.5),\n new ThreeVector3(0.5, -0.5, 0.5),\n new ThreeVector3(-0.5, -0.5, 0.5),\n // 顶面4个点 (y = 0.5)\n new ThreeVector3(-0.5, 0.5, -0.5),\n new ThreeVector3(0.5, 0.5, -0.5),\n new ThreeVector3(0.5, 0.5, 0.5),\n new ThreeVector3(-0.5, 0.5, 0.5),\n ]\n\n // 缩放并应用旋转和平移\n const size = halfSize.clone().multiplyScalar(2)\n const corners = unitCorners.map((corner) => {\n return corner.clone().multiply(size).applyMatrix4(rotationMatrix).add(center)\n })\n\n return corners\n}\n\n/**\n * 应用 matrix 变换到点数组\n */\nexport function applyMatrixToPoints(points: Vector3[], matrix?: number[]): Vector3[] {\n if (!matrix) return points\n\n const matrix4 = new Matrix4().fromArray(matrix)\n return points.map((point) => point.clone().applyMatrix4(matrix4))\n}\n\nexport function getTagPosition(tag: TagInstance): Vector3 | [Vector3, Vector3, Vector3, Vector3] | Vector3[] {\n const position = (() => {\n // 3DBox: 返回8个角点\n if (is3DBoxTag(tag) && tag.position) {\n const corners = getBoxCorners(tag.position as BoxPosition, tag.plugin?.workUtil?.transform)\n return applyMatrixToPoints(corners, tag.matrix)\n }\n\n // Polygon: 返回所有顶点\n if (isPolygonTag(tag) && tag.position) {\n const points = tag.position.map((p) => anyPositionToVector3(p))\n return applyMatrixToPoints(points, tag.matrix)\n }\n\n // MediaModel: 使用 mediaPosition\n if (isMediaModelTag(tag) && tag.matrix) {\n const points = tag.data.mediaPosition.map((p) => anyPositionToVector3(p))\n return applyMatrixToPoints(points, tag.matrix)\n }\n\n // Mask: 直接使用 position 字段(创建标签时已提供)\n if (isMaskTag(tag)) {\n if (tag.position && Array.isArray(tag.position)) {\n return anyPositionToVector3(tag.position)\n }\n // 如果没有 position,返回原点(这种情况不应该发生)\n console.warn('[getTagPosition] Mask tag without position, tag id:', tag.id)\n return new ThreeVector3(0, 0, 0)\n }\n\n // 其他类型: 直接返回 position\n return tag.position as Exclude<TagInstance['position'], BoxPosition>\n })()\n\n return vector3Position(position) as Vector3 | [Vector3, Vector3, Vector3, Vector3]\n}\n\nexport function getTagCenterPosition(tag: TagInstance) {\n const tagPosition = getTagPosition(tag)\n return centerPoint(...(Array.isArray(tagPosition) ? tagPosition : [tagPosition]))\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ //#region src/shared-utils/promise/withResolvers.ts
2
+ function e() {
3
+ let e, t;
4
+ return {
5
+ promise: new Promise((n, r) => {
6
+ e = n, t = r;
7
+ }),
8
+ resolve: e,
9
+ reject: t
10
+ };
11
+ }
12
+ //#endregion
13
+ export { e as t };
14
+
15
+ //# sourceMappingURL=withResolvers-DVr4bnnk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withResolvers-DVr4bnnk.js","names":["withResolvers","resolve","reject","res","rej"],"sources":["../../src/shared-utils/promise/withResolvers.ts"],"sourcesContent":["interface PromiseWithResolvers<T> {\n promise: Promise<T>\n resolve: (value: T | PromiseLike<T>) => void\n reject: (reason?: any) => void\n}\n\n/**\n * @description Promise.withResolvers polyfill\n */\nexport function withResolvers<T>(): PromiseWithResolvers<T> {\n let resolve, reject\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n }) as any\n return {\n promise,\n resolve,\n reject,\n }\n}\n"],"mappings":";AASA,SAAgBA,IAA4C;CAC1D,IAAIC,GAASC;CAKb,OAAO;EACL,SAAA,IALkB,SAAS,GAAK,MAAQ;GAExC,AADA,IAAUC,GACV,IAASC;EACX,CAEE;EACA;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- export { t as AreaMakerPlugin } from "../internal/area-maker-Bd9l2pIp.js";
1
+ export { t as AreaMakerPlugin } from "../internal/area-maker-Bnhx4SkH.js";
@@ -1 +1 @@
1
- export { n as CameraMovementEffect, t as CameraMovementPlugin, r as Rotation } from "../internal/camera-movement-CwI7UqUk.js";
1
+ export { n as CameraMovementEffect, t as CameraMovementPlugin, r as Rotation } from "../internal/camera-movement-C1pwfMk_.js";
@@ -1,3 +1,3 @@
1
- import { n as e } from "../internal/Work-DF8j5GnL.js";
2
- import { n as t, t as n } from "../internal/cruise-C3F0eNQ-.js";
1
+ import { n as e } from "../internal/Work-BE4AgdwH.js";
2
+ import { n as t, t as n } from "../internal/cruise-B50Tcq66.js";
3
3
  export { n as CruisePlugin, t as MovePlugin, e as coordinatesAngle };
@@ -1 +1 @@
1
- export { t as CSS3DRenderPlugin } from "../internal/CSS3DRenderPlugin-ccSpcvwd.js";
1
+ export { t as CSS3DRenderPlugin } from "../internal/CSS3DRenderPlugin-CEatgl0m.js";
@@ -1 +1 @@
1
- export { t as CurrentPanoImagePlugin } from "../internal/current-pano-image-DKUWluR-.js";
1
+ export { t as CurrentPanoImagePlugin } from "../internal/current-pano-image-BCFr6njt.js";
@@ -1,2 +1,2 @@
1
- export { DigitalPerformancePlugin, transformAnimationDetailToDigitalScript, AnimationScriptAdapterSafetyError } from '../types/public/plugins/digital-performance.js'
1
+ export { DigitalPerformancePlugin, transformAnimationDetailToDigitalScript, AnimationScriptAdapterSafetyError, default } from '../types/public/plugins/digital-performance.js'
2
2
  export type { DigitalPerformanceNameplateBinding, DigitalPerformanceNameplateOptions, DigitalPerformanceNameplateRenderContext, DigitalPerformancePluginExportInterface, DigitalPerformancePluginParamsInterface, DigitalScript, DigitalChapter, DigitalModelPlayer, DigitalSubTitlePlayer, DigitalCameraPlayer, DigitalModelKeyframe, DigitalSubTitleKeyframe, DigitalCameraKeyframe, DigitalModelState, DigitalSubTitleState, DigitalCameraState, DigitalModelPlayerItem, DigitalModelPlayerEffect, DigitalEffectKeyframe, DigitalDataState, DigitalDataPlayer, KeyframeType, StateType, DigitalPerformancePluginConfig, GlobalProgress, ChapterTimeInfo, ChapterLocation, ProgressListener, ProgressBarEvents, ExtendedAnimationConfig, DigitalItemKeyframe, DigitalItemState, DigitalEffectState, AnimationScriptAdapterOptions, MovementPosition, PointAction, MovementConfig, TrackPoint, MovementTrackProjection, CanonicalMovementTrackPlan, MovementTrackConflictReason, MovementTrackClassification, DigitalPerformancePluginInstance } from '../types/public/plugins/digital-performance.js'
@@ -1,3 +1,3 @@
1
1
  import { n as e, t } from "../internal/animation-script-adapter-DVXnC6Pt.js";
2
2
  import { t as n } from "../internal/digital-performance-B4DdvGbx.js";
3
- export { t as AnimationScriptAdapterSafetyError, n as DigitalPerformancePlugin, e as transformAnimationDetailToDigitalScript };
3
+ export { t as AnimationScriptAdapterSafetyError, n as DigitalPerformancePlugin, n as default, e as transformAnimationDetailToDigitalScript };
@@ -1,2 +1,2 @@
1
- export { FireControl, FireScenePlayer } from '../types/public/plugins/fire-scene.js'
1
+ export { FireControl, FireScenePlayer, getEntryArea } from '../types/public/plugins/fire-scene.js'
2
2
  export type { FireArea, FireModel, FireModelType, FireSceneConfig, FireSequenceKind, FireSequenceStep, FireSpreadBounds, FireVector3, FireSequencePlayerOptions } from '../types/public/plugins/fire-scene.js'
@@ -1 +1 @@
1
- export { n as FireControl, t as FireScenePlayer } from "../internal/fire-scene-CczaBz2_.js";
1
+ export { r as FireControl, t as FireScenePlayer, n as getEntryArea } from "../internal/fire-scene-BzZGvyh_.js";
@@ -1 +1 @@
1
- export { r as GuideLinePlugin, a as createPath } from "../internal/Work-DF8j5GnL.js";
1
+ export { r as GuideLinePlugin, a as createPath } from "../internal/Work-BE4AgdwH.js";
@@ -1 +1 @@
1
- export { t as MeasurePlugin, n as validatePolygon } from "../internal/measure-BX6boAC7.js";
1
+ export { t as MeasurePlugin, n as validatePolygon } from "../internal/measure-B4jFwdQ6.js";
@@ -1 +1 @@
1
- export { t as ModelChassisCompassPlugin } from "../internal/model-chassis-compass-InVNmOAQ.js";
1
+ export { t as ModelChassisCompassPlugin } from "../internal/model-chassis-compass-C6NTVMLo.js";
@@ -1 +1 @@
1
- export { t as ModelEntryDoorGuidePlugin } from "../internal/model-entry-door-guide-wZbyY77a.js";
1
+ export { t as ModelEntryDoorGuidePlugin } from "../internal/model-entry-door-guide-DnGTLY2s.js";
@@ -1,2 +1,2 @@
1
- export { ModelMakerPlugin } from '../types/public/plugins/model-maker.js'
1
+ export { ModelMakerPlugin, tagRendererMap } from '../types/public/plugins/model-maker.js'
2
2
  export type { ModelMakerPluginInstance, ModelMakerPluginType, BoxAnimationConfig, ModelMakerPluginConfig, TagOcclusionScope, TagOcclusionScopeConfig, ModelMakerBoxItem, ModelMakerPolygonItem, ModelMakerPrismItem, ServerBoxItem, ServerTrianglesItem, ServerPrismItem, ItemType, EventMap, MarkerItem, ElementRenderer, BoxItemObjectData, TrianglesItemObjectData, PrismItemObjectData, ServerBaseItem, ServerItem, ServerData, ModelMakerBaseItem } from '../types/public/plugins/model-maker.js'
@@ -1 +1 @@
1
- export { t as ModelMakerPlugin } from "../internal/model-maker-uO8xlTuO.js";
1
+ export { t as ModelMakerPlugin, n as tagRendererMap } from "../internal/model-maker-B1mnDdKY.js";
@@ -1 +1 @@
1
- export { n as DIRECTION, t as ModelTVVideoPlugin } from "../internal/model-tv-video-DzXb2JRf.js";
1
+ export { n as DIRECTION, t as ModelTVVideoPlugin } from "../internal/model-tv-video-BP-7HoDC.js";
@@ -1 +1 @@
1
- export { t as ModelViewPlugin } from "../internal/model-view-CBeeMM98.js";
1
+ export { t as ModelViewPlugin } from "../internal/model-view-BWUU0-uq.js";
@@ -1,2 +1,2 @@
1
- export { Object3DHelperPlugin } from '../types/public/plugins/object3d-helper.js'
1
+ export { Object3DHelperPlugin, Object3DHelperController } from '../types/public/plugins/object3d-helper.js'
2
2
  export type { HelperOffset, Color, PositionFrom, ScaleCallback, ScalePosition, Scissor, Direction, Direction4, HelperEventMap, Object3DHelperState, Object3DHelperEventMap, AddObject3DHelperConfig, Object3DHelperPluginInstance } from '../types/public/plugins/object3d-helper.js'
@@ -1 +1,3 @@
1
- export { t as Object3DHelperPlugin } from "../internal/object3d-helper-DDYsVPN6.js";
1
+ import { t as e } from "../internal/Controller-D6o4OGWJ.js";
2
+ import { t } from "../internal/object3d-helper-CbRRhnLV.js";
3
+ export { e as Object3DHelperController, t as Object3DHelperPlugin };
@@ -1 +1 @@
1
- export { t as PanoCompassPlugin } from "../internal/pano-compass-jSr629BP.js";
1
+ export { t as PanoCompassPlugin } from "../internal/pano-compass-BRTM0dCc.js";
@@ -1 +1 @@
1
- export { t as PanoDoorLabelPlugin } from "../internal/pano-door-label-DKoYIKLa.js";
1
+ export { t as PanoDoorLabelPlugin } from "../internal/pano-door-label-BLjYGZrr.js";
@@ -1 +1 @@
1
- export { t as PanoMeasurePlugin } from "../internal/pano-measure-DW9mdx1O.js";
1
+ export { t as PanoMeasurePlugin } from "../internal/pano-measure-BIgCWkVJ.js";
@@ -1 +1 @@
1
- export { t as PanoRulerProPlugin } from "../internal/pano-ruler-pro-D7q0Ob21.js";
1
+ export { t as PanoRulerProPlugin } from "../internal/pano-ruler-pro-D9yTbHJz.js";
@@ -1 +1 @@
1
- export { t as PanoSpatialTagPlugin } from "../internal/pano-spatial-tag-D0qn-__S.js";
1
+ export { t as PanoSpatialTagPlugin } from "../internal/pano-spatial-tag-B7Gxn3BS.js";
@@ -1,2 +1,2 @@
1
- export { PanoTagPlugin } from '../types/public/plugins/pano-tag.js'
1
+ export { PanoTagPlugin, PanoTagPluginController, getTagCenterPosition } from '../types/public/plugins/pano-tag.js'
2
2
  export type { PanoTagPluginExportInterface, PanoTagPluginParamsInterface, ContentTypeMap, TagContentType, TagHooks, TagClickParams, PluginEventMap, MediaStore, PointTagInstance, Tags, Tag, TagId, ArrayPosition, Position, PanoIndex, WorkCode, ModelId, MinMax, StickType, BoxPosition, BoxTag, PolygonPosition, PolygonTag, MaskPosition, MaskTag, TagIconAnimationConfig, TagIconUrl, TagStyle, TagGLTFObject, ElementRenderer, AudioAppearance, ContentTypeConfigKeySplit, ContentTypeConfigKey, PickTagContentTypeInContentTypeConfigKey, TagConfigByKey, Point2DTag, Point3DTag, PlaneTag, TagState, MediaData, ObjectFit, ContentTypeMapInterface, TagPlacement, TagConfig, TagInstance, PanoTagPluginInstance } from '../types/public/plugins/pano-tag.js'
@@ -1 +1,4 @@
1
- export { t as PanoTagPlugin } from "../internal/pano-tag-BW5MXXws.js";
1
+ import { r as e } from "../internal/tagPosition-DA9YguT8.js";
2
+ import { t } from "../internal/controller-DIDtFrBE.js";
3
+ import { t as n } from "../internal/pano-tag-Bchz-jED.js";
4
+ export { n as PanoTagPlugin, t as PanoTagPluginController, e as getTagCenterPosition };
@@ -1 +1 @@
1
- export { t as PanoVideoPlugin, n as PanoVideoPluginType } from "../internal/pano-video-Bmud_CAn.js";
1
+ export { t as PanoVideoPlugin, n as PanoVideoPluginType } from "../internal/pano-video-BufYQMqo.js";
@@ -1 +1 @@
1
- export { t as PipelinePlugin } from "../internal/pipeline-DDqgb1gw.js";
1
+ export { t as PipelinePlugin } from "../internal/pipeline-t_3IMXKB.js";
@@ -1,2 +1,2 @@
1
- export { SculptPlugin, isPrismMesh } from '../types/public/plugins/sculpt.js'
1
+ export { SculptPlugin, isPrismMesh, Sculpt, createPoint, createLine, LineMesh, PointMesh, LineWithDotsMesh, PrismMesh, Cursor, bindObjectModules, getLengthHTML } from '../types/public/plugins/sculpt.js'
2
2
  export type { SculptData, SculptType, SculptConfig, PrismStyle, PrismData, LineMeshStyle, LineData, PointData, PointStyle, PointImportData, Line, LineImportData, Polyline, PolylineImportData, Polygon, PolygonImportData, Prism, PrismImportData, Rectangle, RectangleImportData, Circle, CircleImportData, Cylinder, CylinderImportData, Box, BoxImportData, PolylineStyle, RectangleStyle, CircleStyle, CylinderStyle, BoxStyle, AreaStyle, BuiltInData, BuiltInItem, SculptPluginInstance } from '../types/public/plugins/sculpt.js'
@@ -1 +1,7 @@
1
- export { n as SculptPlugin, t as isPrismMesh } from "../internal/sculpt-BNkLJR6p.js";
1
+ import { c as e, h as t } from "../internal/generatePolygonGeometry-BOnzdCaG.js";
2
+ import { t as n } from "../internal/Cursor-3AwKvViZ.js";
3
+ import { p as r } from "../internal/Rectangle-BpL9lNKU.js";
4
+ import { i, r as a } from "../internal/Polygon-D3xIL1Pl.js";
5
+ import { t as o } from "../internal/Prism-CJlyAEAU.js";
6
+ import { a as s, i as c, n as l, r as u, t as d } from "../internal/sculpt-BCK4PMwL.js";
7
+ export { n as Cursor, e as LineMesh, a as LineWithDotsMesh, i as PointMesh, o as PrismMesh, l as Sculpt, u as SculptPlugin, r as bindObjectModules, c as createLine, s as createPoint, t as getLengthHTML, d as isPrismMesh };
@@ -89,3 +89,5 @@ export { SculptPlugin } from './plugins/sculpt.js';
89
89
  export type SculptPluginInstance = ReturnType<typeof SculptPluginFactory>;
90
90
  export { PaintBrush } from './components.js';
91
91
  export { ModelFloorplanPlugin, MapviewFloorplanPlugin, TopviewFloorplanPlugin, PanoFloorplanRadarPlugin, FloorplanGuidePlugin } from './floorplan.js';
92
+ import * as Util from '../shared-utils/index.js';
93
+ export { Util };
@@ -2,3 +2,4 @@ import { DigitalPerformancePlugin as DigitalPerformancePluginFactory } from '../
2
2
  export { DigitalPerformancePlugin, transformAnimationDetailToDigitalScript, AnimationScriptAdapterSafetyError } from '../../DigitalPerformancePlugin/index.js';
3
3
  export type { DigitalPerformanceNameplateBinding, DigitalPerformanceNameplateOptions, DigitalPerformanceNameplateRenderContext, DigitalPerformancePluginExportInterface, DigitalPerformancePluginParamsInterface, DigitalScript, DigitalChapter, DigitalModelPlayer, DigitalSubTitlePlayer, DigitalCameraPlayer, DigitalModelKeyframe, DigitalSubTitleKeyframe, DigitalCameraKeyframe, DigitalModelState, DigitalSubTitleState, DigitalCameraState, DigitalModelPlayerItem, DigitalModelPlayerEffect, DigitalEffectKeyframe, DigitalDataState, DigitalDataPlayer, KeyframeType, StateType, DigitalPerformancePluginConfig, GlobalProgress, ChapterTimeInfo, ChapterLocation, ProgressListener, ProgressBarEvents, ExtendedAnimationConfig, DigitalItemKeyframe, DigitalItemState, DigitalEffectState, AnimationScriptAdapterOptions, MovementPosition, PointAction, MovementConfig, TrackPoint, MovementTrackProjection, CanonicalMovementTrackPlan, MovementTrackConflictReason, MovementTrackClassification } from '../../DigitalPerformancePlugin/index.js';
4
4
  export type DigitalPerformancePluginInstance = ReturnType<typeof DigitalPerformancePluginFactory>;
5
+ export { DigitalPerformancePlugin as default } from '../../DigitalPerformancePlugin/index.js';
@@ -1,2 +1,3 @@
1
1
  export { FireControl, FireScenePlayer } from '../../FireScenePlugin/index.js';
2
2
  export type { FireArea, FireModel, FireModelType, FireSceneConfig, FireSequenceKind, FireSequenceStep, FireSpreadBounds, FireVector3, FireSequencePlayerOptions } from '../../FireScenePlugin/index.js';
3
+ export { getEntryArea } from '../../FireScenePlugin/index.js';
@@ -2,3 +2,4 @@ export { ModelMakerPlugin } from '../../ModelMakerPlugin/index.js';
2
2
  export type { ModelMakerPluginInstance, ModelMakerPluginType, BoxAnimationConfig, ModelMakerPluginConfig, TagOcclusionScope, TagOcclusionScopeConfig } from '../../ModelMakerPlugin/index.js';
3
3
  export type { ModelMakerBoxItem, ModelMakerPolygonItem, ModelMakerPrismItem, ServerBoxItem, ServerTrianglesItem, ServerPrismItem, ItemType, EventMap, MarkerItem, ElementRenderer, BoxItemObjectData, TrianglesItemObjectData, PrismItemObjectData, ServerBaseItem, ServerItem, ServerData } from '../../ModelMakerPlugin/typings/index.js';
4
4
  export type { ModelMakerBaseItem } from '../../ModelMakerPlugin/item/baseItem.js';
5
+ export { tagRendererMap } from '../../ModelMakerPlugin/utils/tagRenderer.js';
@@ -2,3 +2,4 @@ import { Object3DHelperPlugin as Object3DHelperPluginFactory } from '../../Objec
2
2
  export { Object3DHelperPlugin } from '../../Object3DHelperPlugin/index.js';
3
3
  export type { HelperOffset, Color, PositionFrom, ScaleCallback, ScalePosition, Scissor, Direction, Direction4, HelperEventMap, Object3DHelperState, Object3DHelperEventMap, AddObject3DHelperConfig } from '../../Object3DHelperPlugin/index.js';
4
4
  export type Object3DHelperPluginInstance = ReturnType<typeof Object3DHelperPluginFactory>;
5
+ export { Object3DHelperController } from '../../Object3DHelperPlugin/index.js';
@@ -2,3 +2,5 @@ import { PanoTagPlugin as PanoTagPluginFactory } from '../../PanoTagPlugin/index
2
2
  export { PanoTagPlugin } from '../../PanoTagPlugin/index.js';
3
3
  export type { PanoTagPluginExportInterface, PanoTagPluginParamsInterface, ContentTypeMap, TagContentType, TagHooks, TagClickParams, PluginEventMap, MediaStore, PointTagInstance, Tags, Tag, TagId, ArrayPosition, Position, PanoIndex, WorkCode, ModelId, MinMax, StickType, BoxPosition, BoxTag, PolygonPosition, PolygonTag, MaskPosition, MaskTag, TagIconAnimationConfig, TagIconUrl, TagStyle, TagGLTFObject, ElementRenderer, AudioAppearance, ContentTypeConfigKeySplit, ContentTypeConfigKey, PickTagContentTypeInContentTypeConfigKey, TagConfigByKey, Point2DTag, Point3DTag, PlaneTag, TagState, MediaData, ObjectFit, ContentTypeMapInterface, TagPlacement, TagConfig, TagInstance } from '../../PanoTagPlugin/index.js';
4
4
  export type PanoTagPluginInstance = ReturnType<typeof PanoTagPluginFactory>;
5
+ export { PanoTagPluginController } from '../../PanoTagPlugin/index.js';
6
+ export { getTagCenterPosition } from '../../PanoTagPlugin/utils/tagPosition.js';
@@ -10,3 +10,11 @@ export type { PointImportData, Line, LineImportData, Polyline, PolylineImportDat
10
10
  export type SculptPluginInstance = ReturnType<typeof SculptPluginFactory>;
11
11
  /** Identify plugin-created region meshes without exposing an internal constructor. */
12
12
  export declare function isPrismMesh(object: Object3D): object is PrismMesh;
13
+ export { Sculpt, createPoint, createLine } from '../../Sculpt/index.js';
14
+ export { LineMesh } from '../../Sculpt/Meshes/Line.js';
15
+ export { PointMesh } from '../../Sculpt/Meshes/Point.js';
16
+ export { LineWithDotsMesh } from '../../Sculpt/Meshes/LineWithDots.js';
17
+ export { PrismMesh } from '../../Sculpt/Meshes/Prism.js';
18
+ export { Cursor } from '../../Sculpt/utils/Modules/Cursor.js';
19
+ export { bindObjectModules } from '../../Sculpt/utils/Modules/Global.js';
20
+ export { getLengthHTML } from '../../Sculpt/utils/Meshes/getLengthHTML.js';
@@ -27,3 +27,8 @@ export { transformUnit, transformUnitSquare } from '../Sculpt/utils/unit.js';
27
27
  export type { PointSelectorConfig, ActionIfNoIntersection } from '../shared-utils/three/PointSelector/index.js';
28
28
  export { lookObject } from '../shared-utils/five/lookObject.js';
29
29
  export { lookPoint } from '../shared-utils/five/lookPoint.js';
30
+ export { convexHull, inside } from '../shared-utils/math/index.js';
31
+ export { THREERaycaster } from '../shared-utils/three/core/Raycaster.js';
32
+ export { getTagCenterPosition } from '../PanoTagPlugin/utils/tagPosition.js';
33
+ export { withResolvers } from '../shared-utils/promise/withResolvers.js';
34
+ export { IObject3D } from '../shared-utils/three/IObject3D.js';
package/dist/utils.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { transformPosition, isModelLike, isPanoramaLike, FiveDomEvents, waitFiveModelLoaded, isTouchDevice, isNil, notNil, uuid, anyPositionToVector3, arrayPositionToVector3, blink, reblink, centerPoint, boxVertexes, worldBoundingSphere, PointSelector, recurveFindObject, Subscribe, toArray, omit, FivePuppet, Magnifier, getGeometryInfo, generatePolygonGeometry, transformUnit, transformUnitSquare, lookObject, lookPoint } from './types/public/utils.js'
1
+ export { transformPosition, isModelLike, isPanoramaLike, FiveDomEvents, waitFiveModelLoaded, isTouchDevice, isNil, notNil, uuid, anyPositionToVector3, arrayPositionToVector3, blink, reblink, centerPoint, boxVertexes, worldBoundingSphere, PointSelector, recurveFindObject, Subscribe, toArray, omit, FivePuppet, Magnifier, getGeometryInfo, generatePolygonGeometry, transformUnit, transformUnitSquare, lookObject, lookPoint, convexHull, inside, THREERaycaster, getTagCenterPosition, withResolvers, IObject3D } from './types/public/utils.js'
2
2
  export type { AnyPositions, PointIntersection, Overwrite, MagnifierParameter, BlinkOptions, ReBlinkOptions, BlinkAnimation, PointSelectorConfig, ActionIfNoIntersection } from './types/public/utils.js'
package/dist/utils.js CHANGED
@@ -1,53 +1,19 @@
1
1
  import { t as e } from "./internal/transformPosition-Cc92Wf0o.js";
2
2
  import { t } from "./internal/Subscribe-DLlAl88n.js";
3
- import { i as n, n as r, u as i } from "./internal/PointHelper-D565h9b_.js";
4
- import { d as a, i as o, t as s, u as c } from "./internal/generatePolygonGeometry-B_5JFq8y.js";
5
- import { t as l } from "./internal/fiveModelLoad-mg-TnpnM.js";
3
+ import { a as n, f as r, r as i } from "./internal/PointHelper-DIhgdjY2.js";
4
+ import { a, d as o, f as s, t as c } from "./internal/generatePolygonGeometry-BOnzdCaG.js";
5
+ import { n as l } from "./internal/fiveModelLoad-BUIBYxzp.js";
6
6
  import { a as u, i as d, n as f, t as p } from "./internal/util-vGeVT4oo.js";
7
- import { a as m, i as h, n as g, r as _, t as v } from "./internal/blink-DD_0mH-m.js";
8
- import { n as y, t as b } from "./internal/isNil-CQNA0Sbe.js";
9
- import { t as x } from "./internal/FiveDomEvents-3H9NvDOz.js";
10
- import { t as S } from "./internal/uuid-BfVaI9vM.js";
11
- import { t as C } from "./internal/StandaloneRenderer-Jo60ASPd.js";
12
- import { i as w, o as T } from "./internal/boundingBox-DvCor5Hd.js";
13
- import { t as E } from "./internal/lookObject-wesf8xt6.js";
14
- import { t as D } from "./internal/recurveFindObject-1BZIH2bj.js";
15
- import { t as O } from "./internal/filter-Br6vP-OZ.js";
16
- import * as k from "three/webgpu";
17
- //#region src/shared-utils/five/FivePuppet.ts
18
- var A = new k.Vector2(), j = class {
19
- scene = new k.Scene();
20
- five;
21
- renderer;
22
- cancelRequestAnimationFrameId;
23
- camera;
24
- domInited = !1;
25
- canvasWrapper;
26
- params;
27
- _rendererCache;
28
- _cameraCache;
29
- disposed = !1;
30
- constructor(e, t) {
31
- this.five = e, this.camera = e.camera.clone(), this.params = t, this.renderer = new C(), this.renderer.setClearColor(0, 0), this.renderer.domElement.style.pointerEvents = "none", this.renderer.setSize(1, 1), e.on("dispose", this.dispose), this.animate();
32
- }
33
- animate = () => {
34
- if (this.disposed || (this.cancelRequestAnimationFrameId = requestAnimationFrame(this.animate), !this.five.renderer)) return;
35
- let e = this.five.renderer.getSize(A), t = this.five.renderer.getPixelRatio(), n = e.toArray().join(",") + "," + t;
36
- n !== this._rendererCache && (this._rendererCache = n, this.renderer.setPixelRatio(t), this.renderer.setSize(e.x, e.y));
37
- let r = this.five.camera.projectionMatrix.toArray().join(",") + this.five.camera.matrixWorld.toArray().join(",");
38
- if (r !== this._cameraCache && (this._cameraCache = r, this.camera.copy(this.five.camera)), this.renderer.render(this.scene, this.camera), !this.domInited) {
39
- let e = this.five.getElement()?.parentElement;
40
- e && (this.canvasWrapper = document.createElement("div"), this.canvasWrapper.classList.add("five-puppet"), this.canvasWrapper.style.position = "absolute", this.canvasWrapper.style.pointerEvents = "none", this.canvasWrapper.style.left = "0", this.canvasWrapper.style.top = "0", this.canvasWrapper.style.zIndex = `${this.params?.zIndex ?? 1}`, this.canvasWrapper.appendChild(this.renderer.domElement), e.appendChild(this.canvasWrapper), this.domInited = !0);
41
- }
42
- };
43
- stopAnimate = () => {
44
- this.cancelRequestAnimationFrameId && cancelAnimationFrame(this.cancelRequestAnimationFrameId);
45
- };
46
- dispose = () => {
47
- this.disposed || (this.disposed = !0, this.five.off("dispose", this.dispose), this.stopAnimate(), this.renderer.dispose(), this.renderer.domElement.remove(), this.canvasWrapper?.remove());
48
- };
49
- };
50
- //#endregion
51
- export { x as FiveDomEvents, j as FivePuppet, i as Magnifier, r as PointSelector, t as Subscribe, d as anyPositionToVector3, u as arrayPositionToVector3, v as blink, w as boxVertexes, f as centerPoint, s as generatePolygonGeometry, o as getGeometryInfo, h as isModelLike, b as isNil, m as isPanoramaLike, n as isTouchDevice, E as lookObject, _ as lookPoint, y as notNil, O as omit, g as reblink, D as recurveFindObject, p as toArray, e as transformPosition, c as transformUnit, a as transformUnitSquare, S as uuid, l as waitFiveModelLoaded, T as worldBoundingSphere };
52
-
53
- //# sourceMappingURL=utils.js.map
7
+ import { n as m } from "./internal/getNormal-BatLuzsS.js";
8
+ import { n as h, r as g, t as _ } from "./internal/FivePuppet-C6QmVY70.js";
9
+ import { r as v } from "./internal/resizeObserver-AY-35us4.js";
10
+ import { d as y, f as b, m as x, p as S, r as C, u as w } from "./internal/tagPosition-DA9YguT8.js";
11
+ import { n as T, t as E } from "./internal/isNil-CQNA0Sbe.js";
12
+ import { t as D } from "./internal/FiveDomEvents-BUBLFzti.js";
13
+ import { t as O } from "./internal/uuid-BfVaI9vM.js";
14
+ import { a as k, c as A } from "./internal/boundingBox-CIqXgNXW.js";
15
+ import { t as j } from "./internal/lookObject-DuRab5wf.js";
16
+ import { t as M } from "./internal/withResolvers-DVr4bnnk.js";
17
+ import { t as N } from "./internal/recurveFindObject-1BZIH2bj.js";
18
+ import { t as P } from "./internal/filter-Br6vP-OZ.js";
19
+ export { D as FiveDomEvents, _ as FivePuppet, m as IObject3D, r as Magnifier, i as PointSelector, t as Subscribe, v as THREERaycaster, d as anyPositionToVector3, u as arrayPositionToVector3, w as blink, k as boxVertexes, f as centerPoint, g as convexHull, c as generatePolygonGeometry, a as getGeometryInfo, C as getTagCenterPosition, h as inside, S as isModelLike, E as isNil, x as isPanoramaLike, n as isTouchDevice, j as lookObject, b as lookPoint, T as notNil, P as omit, y as reblink, N as recurveFindObject, p as toArray, e as transformPosition, o as transformUnit, s as transformUnitSquare, O as uuid, l as waitFiveModelLoaded, M as withResolvers, A as worldBoundingSphere };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/dnalogel",
3
- "version": "4.0.0-webgpu.3",
3
+ "version": "4.0.0-webgpu.4",
4
4
  "author": "REALSEE-DEVELOPER",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +0,0 @@
1
- import { t as e } from "./BasePlugin-CT5K8m36.js";
2
- //#region src/base/BasePluginWithData.ts
3
- var t = class extends e {};
4
- //#endregion
5
- export { t };
6
-
7
- //# sourceMappingURL=BasePluginWithData-9z4tpAT4.js.map