@realsee/dnalogel 2.28.4 → 2.28.6
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/PanoCompassPlugin/Controller.d.ts +4 -0
- package/dist/PanoCompassPlugin/typings.d.ts +3 -2
- package/dist/index.cjs.js +38 -38
- package/dist/index.js +984 -960
- package/dist/index.umd.js +34 -34
- package/libs/CruisePlugin/Controller.js +93 -93
- package/libs/PanoCompassPlugin/Controller.d.ts +4 -0
- package/libs/PanoCompassPlugin/Controller.js +99 -75
- package/libs/PanoCompassPlugin/typings.d.ts +3 -2
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var u = (h, n, e) => n in h ?
|
|
1
|
+
var P = Object.defineProperty;
|
|
2
|
+
var b = Object.getOwnPropertySymbols;
|
|
3
|
+
var C = Object.prototype.hasOwnProperty, F = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var u = (h, n, e) => n in h ? P(h, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[n] = e, f = (h, n) => {
|
|
5
5
|
for (var e in n || (n = {}))
|
|
6
|
-
|
|
7
|
-
if (
|
|
8
|
-
for (var e of
|
|
9
|
-
|
|
6
|
+
C.call(n, e) && u(h, e, n[e]);
|
|
7
|
+
if (b)
|
|
8
|
+
for (var e of b(n))
|
|
9
|
+
F.call(n, e) && u(h, e, n[e]);
|
|
10
10
|
return h;
|
|
11
11
|
};
|
|
12
|
-
var
|
|
12
|
+
var r = (h, n, e) => (u(h, typeof n != "symbol" ? n + "" : n, e), e);
|
|
13
13
|
var d = (h, n, e) => new Promise((t, o) => {
|
|
14
|
-
var s = (
|
|
14
|
+
var s = (l) => {
|
|
15
15
|
try {
|
|
16
|
-
|
|
16
|
+
p(e.next(l));
|
|
17
17
|
} catch (c) {
|
|
18
18
|
o(c);
|
|
19
19
|
}
|
|
20
|
-
},
|
|
20
|
+
}, i = (l) => {
|
|
21
21
|
try {
|
|
22
|
-
|
|
22
|
+
p(e.throw(l));
|
|
23
23
|
} catch (c) {
|
|
24
24
|
o(c);
|
|
25
25
|
}
|
|
26
|
-
},
|
|
27
|
-
|
|
26
|
+
}, p = (l) => l.done ? t(l.value) : Promise.resolve(l.value).then(s, i);
|
|
27
|
+
p((e = e.apply(h, n)).next());
|
|
28
28
|
});
|
|
29
29
|
import * as a from "three";
|
|
30
|
-
import { Five as
|
|
30
|
+
import { Five as _ } from "@realsee/five";
|
|
31
31
|
import { Controller as A } from "../base/BasePluginWithData.js";
|
|
32
|
-
import { getRoomInfoInstance as
|
|
33
|
-
import { loadTexture as
|
|
34
|
-
import { CSS3DRenderPlugin as
|
|
35
|
-
import { tweenProgress as
|
|
32
|
+
import { getRoomInfoInstance as U } from "./getRoomInfoInstance.js";
|
|
33
|
+
import { loadTexture as M } from "../shared-utils/three/loadTexture.js";
|
|
34
|
+
import { CSS3DRenderPlugin as T } from "../CSS3DRenderPlugin/index.js";
|
|
35
|
+
import { tweenProgress as D } from "../shared-utils/animationFrame/BetterTween.js";
|
|
36
36
|
import "../base/BasePlugin.js";
|
|
37
37
|
import "../shared-utils/Subscribe.js";
|
|
38
38
|
import "hammerjs";
|
|
@@ -55,14 +55,14 @@ import "./Assets/roomInfoIcon.js";
|
|
|
55
55
|
import "../CSS3DRenderPlugin/Controller.js";
|
|
56
56
|
import "../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
|
|
57
57
|
import "../shared-utils/animationFrame/index.js";
|
|
58
|
-
const
|
|
59
|
-
class
|
|
58
|
+
const g = { userAction: !0 };
|
|
59
|
+
class ae extends A {
|
|
60
60
|
constructor(e, t) {
|
|
61
61
|
super(e, t);
|
|
62
62
|
/**
|
|
63
63
|
* 默认状态
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
r(this, "state", {
|
|
66
66
|
visible: !0,
|
|
67
67
|
enabled: !0,
|
|
68
68
|
config: {
|
|
@@ -73,103 +73,112 @@ class re extends A {
|
|
|
73
73
|
entryDoorImageUrl: this.absoluteUrl("/release/web/enterDoor.831b8208.png")
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
76
|
+
r(this, "data");
|
|
77
|
+
r(this, "group", new a.Group());
|
|
78
|
+
r(this, "roomInfoInstance");
|
|
79
|
+
r(this, "roomInfoWrapperInstance");
|
|
80
|
+
r(this, "compassMeshTween");
|
|
81
|
+
r(this, "compassMesh");
|
|
82
|
+
r(this, "logoMesh");
|
|
83
|
+
r(this, "logoMeshTween");
|
|
84
|
+
r(this, "entryDoorMesh");
|
|
83
85
|
/**
|
|
84
86
|
* 销毁插件
|
|
85
87
|
* @todo 销毁贴图时,最好还是直接销毁贴图吧,this.compassMesh?.material.map 这种都是很深层的引用了。THREE 的建议我看也是自己去管理和销毁公共贴图。
|
|
86
88
|
*/
|
|
87
|
-
|
|
89
|
+
r(this, "dispose", () => {
|
|
88
90
|
var e, t, o, s;
|
|
89
91
|
this.five.scene.remove(this.group), this.group.remove(...this.group.children), (t = (e = this.compassMesh) == null ? void 0 : e.material.map) == null || t.dispose(), (s = (o = this.entryDoorMesh) == null ? void 0 : o.material.map) == null || s.dispose(), this.five.off("dispose", this.dispose), this.five.off("panoArrived", this.onFivePanoArrived), this.five.off("panoWillArrive", this.onFivePanoWillArrive), this.five.off("cameraDirectionUpdate", this.onFiveCameraDirectionUpdate);
|
|
90
92
|
});
|
|
91
93
|
/**
|
|
92
94
|
* 添加事件监听
|
|
93
95
|
*/
|
|
94
|
-
|
|
96
|
+
r(this, "_addEventListener", () => {
|
|
95
97
|
this.five.on("panoArrived", this.onFivePanoArrived), this.five.on("panoWillArrive", this.onFivePanoWillArrive), this.five.on("modeChange", this.onFiveModeChange), this.five.on("cameraDirectionUpdate", this.onFiveCameraDirectionUpdate);
|
|
96
98
|
});
|
|
97
99
|
/**
|
|
98
100
|
* 移除事件监听
|
|
99
101
|
*/
|
|
100
|
-
|
|
102
|
+
r(this, "_removeEventListener", () => {
|
|
101
103
|
this.five.off("panoArrived", this.onFivePanoArrived), this.five.off("panoWillArrive", this.onFivePanoWillArrive), this.five.off("modeChange", this.onFiveModeChange), this.five.off("cameraDirectionUpdate", this.onFiveCameraDirectionUpdate);
|
|
102
104
|
});
|
|
103
105
|
/**
|
|
104
106
|
* 启用,响应事件,展示UI
|
|
105
107
|
*/
|
|
106
|
-
|
|
108
|
+
r(this, "_enable", () => {
|
|
107
109
|
this.five.scene.add(this.group), this.init(), this.onFivePanoArrived(this.five.panoIndex || 0), this._addEventListener();
|
|
108
110
|
});
|
|
109
111
|
/**
|
|
110
112
|
* 禁用,不响应事件,不展示UI
|
|
111
113
|
*/
|
|
112
|
-
|
|
114
|
+
r(this, "_disable", () => {
|
|
113
115
|
this._clearCompassIfNeed(), this._clearEntryDoorIfNeed(), this.five.scene.remove(this.group), this._removeEventListener();
|
|
114
116
|
});
|
|
115
117
|
/**
|
|
116
118
|
* 展示UI
|
|
117
119
|
*/
|
|
118
|
-
|
|
120
|
+
r(this, "_toggleVisible", () => {
|
|
119
121
|
this.group.visible = this.state.visible, this.five.needsRender = !0;
|
|
120
122
|
});
|
|
121
|
-
|
|
123
|
+
r(this, "_clearCompassIfNeed", () => {
|
|
122
124
|
var e;
|
|
123
125
|
this.compassMesh && (this.group.remove(this.compassMesh), (e = this.compassMesh.material.map) == null || e.dispose(), this.compassMesh = null);
|
|
124
126
|
});
|
|
125
|
-
|
|
127
|
+
r(this, "_clearLogoIfNeed", () => {
|
|
128
|
+
var e;
|
|
129
|
+
this.logoMesh && (this.group.remove(this.logoMesh), (e = this.logoMesh.material.map) == null || e.dispose(), this.logoMesh = null);
|
|
130
|
+
});
|
|
131
|
+
r(this, "_clearEntryDoorIfNeed", () => {
|
|
126
132
|
var e;
|
|
127
133
|
this.entryDoorMesh && (this.group.remove(this.entryDoorMesh), (e = this.entryDoorMesh.material.map) == null || e.dispose(), this.entryDoorMesh = null), this.roomInfoInstance && (this.roomInfoInstance.dispose(), this.roomInfoInstance = null), this.roomInfoWrapperInstance && (this.roomInfoWrapperInstance.dispose(), this.roomInfoWrapperInstance = null);
|
|
128
134
|
});
|
|
129
|
-
|
|
130
|
-
var t, o;
|
|
131
|
-
e !== this.five.panoIndex && ((t = this.compassMeshTween) == null || t.dispose(), (o = this.compassMesh) == null || o.material.setValues({ opacity: 0 }));
|
|
135
|
+
r(this, "onFivePanoWillArrive", (e) => {
|
|
136
|
+
var t, o, s, i;
|
|
137
|
+
e !== this.five.panoIndex && ((t = this.compassMeshTween) == null || t.dispose(), (o = this.compassMesh) == null || o.material.setValues({ opacity: 0 }), (s = this.logoMeshTween) == null || s.dispose(), (i = this.logoMesh) == null || i.material.setValues({ opacity: 0 }));
|
|
132
138
|
});
|
|
133
|
-
|
|
134
|
-
var o, s,
|
|
135
|
-
const t = (
|
|
136
|
-
if (this.compassMesh && (this.compassMesh.position.copy(t.clone().setY(t.y + 0.01)), this.compassMesh.material.opacity === 0 && ((
|
|
137
|
-
var
|
|
138
|
-
(
|
|
139
|
+
r(this, "onFivePanoArrived", (e) => {
|
|
140
|
+
var o, s, i, p, l, c, y, I;
|
|
141
|
+
const t = (i = (s = (o = this.five.work) == null ? void 0 : o.observers) == null ? void 0 : s[e]) == null ? void 0 : i.standingPosition;
|
|
142
|
+
if (this.compassMesh && (this.compassMesh.position.copy(t.clone().setY(t.y + 0.01)), this.compassMesh.material.opacity === 0 && ((p = this.compassMeshTween) == null || p.dispose(), this.compassMeshTween = D(1e3).onUpdate(({ progress: v }) => {
|
|
143
|
+
var m;
|
|
144
|
+
(m = this.compassMesh) == null || m.material.setValues({ opacity: v }), this.five.needsRender = !0;
|
|
145
|
+
}).play())), this.logoMesh && (this.logoMesh.position.copy(t.clone().setY(t.y + 0.011)), this.logoMesh.material.opacity === 0 && ((l = this.logoMeshTween) == null || l.dispose(), this.logoMeshTween = D(1e3).onUpdate(({ progress: v }) => {
|
|
146
|
+
var m;
|
|
147
|
+
(m = this.logoMesh) == null || m.material.setValues({ opacity: v }), this.five.needsRender = !0;
|
|
139
148
|
}).play())), this.entryDoorMesh) {
|
|
140
|
-
const
|
|
149
|
+
const m = new a.Vector3(
|
|
141
150
|
this.data.entrance.position.x,
|
|
142
151
|
this.data.entrance.position.y,
|
|
143
152
|
this.data.entrance.position.z
|
|
144
|
-
).clone().setY(t.y).sub(t).normalize(),
|
|
145
|
-
this.entryDoorMesh.rotation.z = new a.Vector3(0, 0, -1).angleTo(
|
|
153
|
+
).clone().setY(t.y).sub(t).normalize(), w = t.clone().add(m.clone().multiplyScalar(0.7)).setY(t.y + 0.01);
|
|
154
|
+
this.entryDoorMesh.rotation.z = new a.Vector3(0, 0, -1).angleTo(m), this.entryDoorMesh.position.copy(w), ((c = this.data) == null ? void 0 : c.room_observers[e].room.type) === 1 ? (y = this.entryDoorMesh) == null || y.material.setValues({ opacity: 1 }) : (I = this.entryDoorMesh) == null || I.material.setValues({ opacity: 0 });
|
|
146
155
|
}
|
|
147
156
|
this.roomInfoInstance && this.roomInfoWrapperInstance && (this.roomInfoWrapperInstance.css3DObject.position.copy(t.clone().setY(t.y + 0.01)), this.roomInfoInstance.setRoom(this.data.room_observers[e].room)), this.five.needsRender = !0;
|
|
148
157
|
});
|
|
149
|
-
|
|
158
|
+
r(this, "onFiveCameraDirectionUpdate", ({ longitude: e, latitude: t }) => {
|
|
150
159
|
var o, s;
|
|
151
160
|
this.roomInfoWrapperInstance && (this.roomInfoWrapperInstance.css3DObject.rotation.z = e, t > 0.66 && this.five.getCurrentState().mode === "Panorama" ? (o = this.roomInfoInstance) == null || o.show() : (s = this.roomInfoInstance) == null || s.hide());
|
|
152
161
|
});
|
|
153
162
|
// eslint-disable-next-line max-params
|
|
154
|
-
|
|
163
|
+
r(this, "onFiveModeChange", (e, t, o, s, i) => {
|
|
155
164
|
e !== t && this.setState(
|
|
156
165
|
{
|
|
157
|
-
visible: e ===
|
|
166
|
+
visible: e === _.Mode.Panorama
|
|
158
167
|
},
|
|
159
|
-
{ userAction:
|
|
168
|
+
{ userAction: i }
|
|
160
169
|
);
|
|
161
170
|
});
|
|
162
171
|
this.five.scene.add(this.group), this.five.once("dispose", this.dispose), this.setState({
|
|
163
172
|
visible: !0,
|
|
164
173
|
enabled: !0,
|
|
165
|
-
config:
|
|
174
|
+
config: f(f({}, this.state.config), t || {})
|
|
166
175
|
});
|
|
167
176
|
}
|
|
168
177
|
/**
|
|
169
178
|
* 启用插件,响应用户操作并展示UI
|
|
170
179
|
* @param options
|
|
171
180
|
*/
|
|
172
|
-
enable(e =
|
|
181
|
+
enable(e = g) {
|
|
173
182
|
this.setState(
|
|
174
183
|
{
|
|
175
184
|
enabled: !0
|
|
@@ -181,7 +190,7 @@ class re extends A {
|
|
|
181
190
|
* 禁用插件,禁止响应用户操作并隐藏UI
|
|
182
191
|
* @param options
|
|
183
192
|
*/
|
|
184
|
-
disable(e =
|
|
193
|
+
disable(e = g) {
|
|
185
194
|
this.setState(
|
|
186
195
|
{
|
|
187
196
|
enabled: !1
|
|
@@ -195,7 +204,7 @@ class re extends A {
|
|
|
195
204
|
* @returns
|
|
196
205
|
* @todo 需要考虑动画
|
|
197
206
|
*/
|
|
198
|
-
show(e =
|
|
207
|
+
show(e = g) {
|
|
199
208
|
if (this.state.enabled)
|
|
200
209
|
return this.setState(
|
|
201
210
|
{
|
|
@@ -210,7 +219,7 @@ class re extends A {
|
|
|
210
219
|
* @returns
|
|
211
220
|
* @todo 需要考虑动画
|
|
212
221
|
*/
|
|
213
|
-
hide(e =
|
|
222
|
+
hide(e = g) {
|
|
214
223
|
if (this.state.enabled)
|
|
215
224
|
return this.setState(
|
|
216
225
|
{
|
|
@@ -220,12 +229,12 @@ class re extends A {
|
|
|
220
229
|
), Promise.resolve();
|
|
221
230
|
}
|
|
222
231
|
setState(e, t = { userAction: !0 }) {
|
|
223
|
-
var s,
|
|
232
|
+
var s, i;
|
|
224
233
|
const o = JSON.parse(JSON.stringify(this.state));
|
|
225
234
|
this.state = {
|
|
226
235
|
visible: (s = e.visible) != null ? s : o.visible,
|
|
227
|
-
enabled: (
|
|
228
|
-
config:
|
|
236
|
+
enabled: (i = e.enabled) != null ? i : o.enabled,
|
|
237
|
+
config: f(f({}, o.config), e.config || {})
|
|
229
238
|
}, this.hooks.emit("stateChange", {
|
|
230
239
|
state: this.state,
|
|
231
240
|
prevState: o,
|
|
@@ -235,7 +244,7 @@ class re extends A {
|
|
|
235
244
|
load(e, t, o = !0) {
|
|
236
245
|
return d(this, null, function* () {
|
|
237
246
|
const s = yield this.formatData(e);
|
|
238
|
-
JSON.stringify(this.data) !== JSON.stringify(s) && (this.hooks.emit("dataChange", s, this.data), this.data =
|
|
247
|
+
JSON.stringify(this.data) !== JSON.stringify(s) && (this.hooks.emit("dataChange", s, this.data), this.data = f({}, s), this.init(), t && this.setState(t, { userAction: o }), this.hooks.emit("dataLoaded", this.data));
|
|
239
248
|
});
|
|
240
249
|
}
|
|
241
250
|
formatData(e) {
|
|
@@ -247,33 +256,48 @@ class re extends A {
|
|
|
247
256
|
*/
|
|
248
257
|
init() {
|
|
249
258
|
return d(this, null, function* () {
|
|
250
|
-
var o, s,
|
|
259
|
+
var o, s, i, p;
|
|
251
260
|
const e = (s = (o = this.data) == null ? void 0 : o.north_rad) != null ? s : null;
|
|
252
|
-
this._clearCompassIfNeed(), e !== null && (this.compassMesh = yield this.loadCompassMesh(), this.compassMesh.rotateX(-Math.PI / 2), this.compassMesh.rotateZ(e - Math.PI / 2), this.group.add(this.compassMesh));
|
|
253
|
-
const t = (
|
|
254
|
-
this._clearEntryDoorIfNeed(), t !== null && (this.entryDoorMesh = yield this.loadEntryDoorMesh(), this.roomInfoWrapperInstance = this.loadRoomInfo(), this.roomInfoInstance =
|
|
261
|
+
this._clearCompassIfNeed(), e !== null && (this.compassMesh = yield this.loadCompassMesh(), this.compassMesh && (this.compassMesh.rotateX(-Math.PI / 2), this.compassMesh.rotateZ(e - Math.PI / 2), this.group.add(this.compassMesh))), this._clearLogoIfNeed(), this.logoMesh = yield this.loadLogoMesh(), this.logoMesh && (this.logoMesh.rotateX(-Math.PI / 2), this.group.add(this.logoMesh));
|
|
262
|
+
const t = (p = (i = this.data) == null ? void 0 : i.entrance) != null ? p : null;
|
|
263
|
+
this._clearEntryDoorIfNeed(), t !== null && (this.entryDoorMesh = yield this.loadEntryDoorMesh(), this.roomInfoWrapperInstance = this.loadRoomInfo(), this.roomInfoInstance = U(), this.entryDoorMesh.rotateX(-Math.PI / 2), this.roomInfoWrapperInstance && this.roomInfoInstance.appendTo(this.roomInfoWrapperInstance.container), this.group.add(this.entryDoorMesh)), this.onFivePanoArrived(this.five.panoIndex || 0), this.five.needsRender = !0;
|
|
255
264
|
});
|
|
256
265
|
}
|
|
257
266
|
loadCompassMesh() {
|
|
258
267
|
return d(this, null, function* () {
|
|
259
|
-
const e = this.state.config.compassImageUrl, t = yield
|
|
268
|
+
const e = this.state.config.compassImageUrl, t = yield M(e), o = new a.CircleGeometry(0.7, 32), s = new a.MeshBasicMaterial({
|
|
260
269
|
map: t,
|
|
261
270
|
transparent: !0,
|
|
262
271
|
opacity: 0,
|
|
263
272
|
depthTest: !1
|
|
264
|
-
}),
|
|
265
|
-
return
|
|
273
|
+
}), i = new a.Mesh(o, s);
|
|
274
|
+
return i.name = "pano-compass-mesh", i;
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
loadLogoMesh() {
|
|
278
|
+
return d(this, null, function* () {
|
|
279
|
+
if (!this.state.config.logoURL)
|
|
280
|
+
return;
|
|
281
|
+
const e = this.state.config.logoURL, t = yield M(e);
|
|
282
|
+
t.minFilter = a.NearestFilter, t.magFilter = a.NearestFilter;
|
|
283
|
+
const o = new a.PlaneBufferGeometry(0.4, 0.4), s = new a.MeshBasicMaterial({
|
|
284
|
+
map: t,
|
|
285
|
+
opacity: 0,
|
|
286
|
+
transparent: !0,
|
|
287
|
+
depthTest: !1
|
|
288
|
+
}), i = new a.Mesh(o, s);
|
|
289
|
+
return i.name = "pano-compass-logo-mesh", i;
|
|
266
290
|
});
|
|
267
291
|
}
|
|
268
292
|
loadEntryDoorMesh() {
|
|
269
293
|
return d(this, null, function* () {
|
|
270
|
-
const e = this.state.config.entryDoorImageUrl, t = yield
|
|
294
|
+
const e = this.state.config.entryDoorImageUrl, t = yield M(e), o = new a.PlaneGeometry(0.2, 0.16), s = new a.MeshBasicMaterial({
|
|
271
295
|
map: t,
|
|
272
296
|
transparent: !0,
|
|
273
297
|
opacity: 0.8,
|
|
274
298
|
depthTest: !1
|
|
275
|
-
}),
|
|
276
|
-
return
|
|
299
|
+
}), i = new a.Mesh(o, s);
|
|
300
|
+
return i.name = "pano-compass-entry-door", i;
|
|
277
301
|
});
|
|
278
302
|
}
|
|
279
303
|
loadRoomInfo() {
|
|
@@ -283,9 +307,9 @@ class re extends A {
|
|
|
283
307
|
new a.Vector3(0.7, 0, 0.7),
|
|
284
308
|
new a.Vector3(-0.7, 0, 0.7)
|
|
285
309
|
];
|
|
286
|
-
return
|
|
310
|
+
return T(this.five).create3DDomContainer(e);
|
|
287
311
|
}
|
|
288
312
|
}
|
|
289
313
|
export {
|
|
290
|
-
|
|
314
|
+
ae as PanoCompassController
|
|
291
315
|
};
|
|
@@ -2,6 +2,7 @@ import type { FloorplanServerRoomItem } from '../floorplan/typings/floorplanServ
|
|
|
2
2
|
import type * as BasePlugin from '../base/BasePluginWithData';
|
|
3
3
|
export interface Config extends BasePlugin.Config {
|
|
4
4
|
compassImageUrl: string;
|
|
5
|
+
logoURL?: string;
|
|
5
6
|
entryDoorImageUrl: string;
|
|
6
7
|
}
|
|
7
8
|
export interface State extends BasePlugin.State {
|
|
@@ -10,14 +11,14 @@ export interface State extends BasePlugin.State {
|
|
|
10
11
|
}
|
|
11
12
|
export interface PluginData {
|
|
12
13
|
north_rad: null | number;
|
|
13
|
-
entrance
|
|
14
|
+
entrance?: null | {
|
|
14
15
|
position: {
|
|
15
16
|
x: number;
|
|
16
17
|
y: number;
|
|
17
18
|
z: number;
|
|
18
19
|
};
|
|
19
20
|
};
|
|
20
|
-
room_observers
|
|
21
|
+
room_observers?: {
|
|
21
22
|
index: number;
|
|
22
23
|
floor_index: number;
|
|
23
24
|
room: FloorplanServerRoomItem;
|
package/libs/base/BasePlugin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function A() {
|
|
2
2
|
console.debug(
|
|
3
|
-
"%c %c@realsee/dnalogel %cv2.28.
|
|
3
|
+
"%c %c@realsee/dnalogel %cv2.28.6",
|
|
4
4
|
[
|
|
5
5
|
"background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
|
|
6
6
|
"background-repeat: no-repeat",
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"repository": "https://github.com/realsee-developer/dnalogel.git",
|
|
8
8
|
"description": "如视 VR 看房插件合集",
|
|
9
9
|
"private": false,
|
|
10
|
-
"version": "2.28.
|
|
10
|
+
"version": "2.28.6",
|
|
11
11
|
"license": "SEE LICENSE IN TERMS.txt",
|
|
12
12
|
"scripts": {
|
|
13
13
|
"clean": "rm -rf components dist docs libs types ./vite.config.js.timestamp*",
|