@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.
- package/CHANGELOG.md +6 -0
- package/dist/floorplan.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +270 -35
- package/dist/index.js.map +1 -0
- package/dist/internal/{BasePlugin-CT5K8m36.js → BasePlugin-DC5m72La.js} +3 -3
- package/dist/internal/{BasePlugin-CT5K8m36.js.map → BasePlugin-DC5m72La.js.map} +1 -1
- package/dist/internal/BasePluginWithData-D_0W46_q.js +7 -0
- package/dist/internal/{BasePluginWithData-9z4tpAT4.js.map → BasePluginWithData-D_0W46_q.js.map} +1 -1
- package/dist/internal/{BetterTween-BX0aTvP1.js → BetterTween-DmptqE8m.js} +2 -2
- package/dist/internal/{BetterTween-BX0aTvP1.js.map → BetterTween-DmptqE8m.js.map} +1 -1
- package/dist/internal/{CSS3DRenderPlugin-ccSpcvwd.js → CSS3DRenderPlugin-CEatgl0m.js} +3 -3
- package/dist/internal/CSS3DRenderPlugin-CEatgl0m.js.map +1 -0
- package/dist/internal/{Controller-Csut_kcH.js → Controller-D6o4OGWJ.js} +8 -8
- package/dist/internal/{Controller-Csut_kcH.js.map → Controller-D6o4OGWJ.js.map} +1 -1
- package/dist/internal/{FiveDomEvents-3H9NvDOz.js → FiveDomEvents-BUBLFzti.js} +2 -2
- package/dist/internal/{FiveDomEvents-3H9NvDOz.js.map → FiveDomEvents-BUBLFzti.js.map} +1 -1
- package/dist/internal/FivePuppet-C6QmVY70.js +67 -0
- package/dist/internal/FivePuppet-C6QmVY70.js.map +1 -0
- package/dist/internal/{PointHelper-D565h9b_.js → PointHelper-DIhgdjY2.js} +48 -48
- package/dist/internal/{PointHelper-D565h9b_.js.map → PointHelper-DIhgdjY2.js.map} +1 -1
- package/dist/internal/{Polygon-CBGvYUfJ.js → Polygon-D3xIL1Pl.js} +30 -30
- package/dist/internal/{Polygon-CBGvYUfJ.js.map → Polygon-D3xIL1Pl.js.map} +1 -1
- package/dist/internal/{Prism-Dm5ESkgg.js → Prism-CJlyAEAU.js} +13 -13
- package/dist/internal/{Prism-Dm5ESkgg.js.map → Prism-CJlyAEAU.js.map} +1 -1
- package/dist/internal/{Rectangle-D-zkDycu.js → Rectangle-BpL9lNKU.js} +118 -129
- package/dist/internal/Rectangle-BpL9lNKU.js.map +1 -0
- package/dist/internal/{Work-DF8j5GnL.js → Work-BE4AgdwH.js} +9 -9
- package/dist/internal/{Work-DF8j5GnL.js.map → Work-BE4AgdwH.js.map} +1 -1
- package/dist/internal/{animationFrame-XGKHIeQK.js → animationFrame-CacKXN8l.js} +14 -3
- package/dist/internal/animationFrame-CacKXN8l.js.map +1 -0
- package/dist/internal/{area-maker-Bd9l2pIp.js → area-maker-Bnhx4SkH.js} +4 -4
- package/dist/internal/{area-maker-Bd9l2pIp.js.map → area-maker-Bnhx4SkH.js.map} +1 -1
- package/dist/internal/{boundingBox-DvCor5Hd.js → boundingBox-CIqXgNXW.js} +2 -2
- package/dist/internal/{boundingBox-DvCor5Hd.js.map → boundingBox-CIqXgNXW.js.map} +1 -1
- package/dist/internal/{camera-movement-CwI7UqUk.js → camera-movement-C1pwfMk_.js} +2 -2
- package/dist/internal/camera-movement-C1pwfMk_.js.map +1 -0
- package/dist/internal/{changeMode-BVGYCoqu.js → changeMode-D_I2AOjH.js} +2 -2
- package/dist/internal/{changeMode-BVGYCoqu.js.map → changeMode-D_I2AOjH.js.map} +1 -1
- package/dist/internal/{controller-BWkZT0l1.js → controller-DIDtFrBE.js} +1991 -2050
- package/dist/internal/controller-DIDtFrBE.js.map +1 -0
- package/dist/internal/{cruise-C3F0eNQ-.js → cruise-B50Tcq66.js} +2 -2
- package/dist/internal/{cruise-C3F0eNQ-.js.map → cruise-B50Tcq66.js.map} +1 -1
- package/dist/internal/{current-pano-image-DKUWluR-.js → current-pano-image-BCFr6njt.js} +4 -4
- package/dist/internal/{current-pano-image-DKUWluR-.js.map → current-pano-image-BCFr6njt.js.map} +1 -1
- package/dist/internal/{defaultUrls-CjKkS9k9.js → defaultUrls-CfMtGzqM.js} +14 -3
- package/dist/internal/defaultUrls-CfMtGzqM.js.map +1 -0
- package/dist/internal/{fire-scene-CczaBz2_.js → fire-scene-BzZGvyh_.js} +9 -4
- package/dist/internal/fire-scene-BzZGvyh_.js.map +1 -0
- package/dist/internal/{fiveModelLoad-mg-TnpnM.js → fiveModelLoad-BUIBYxzp.js} +2 -2
- package/dist/internal/{fiveModelLoad-mg-TnpnM.js.map → fiveModelLoad-BUIBYxzp.js.map} +1 -1
- package/dist/internal/{floorplan-KWlIsTvO.js → floorplan-C8BGw87S.js} +5 -5
- package/dist/internal/{floorplan-KWlIsTvO.js.map → floorplan-C8BGw87S.js.map} +1 -1
- package/dist/internal/{generatePolygonGeometry-B_5JFq8y.js → generatePolygonGeometry-BOnzdCaG.js} +181 -178
- package/dist/internal/generatePolygonGeometry-BOnzdCaG.js.map +1 -0
- package/dist/internal/{lookObject-wesf8xt6.js → lookObject-DuRab5wf.js} +2 -2
- package/dist/internal/{lookObject-wesf8xt6.js.map → lookObject-DuRab5wf.js.map} +1 -1
- package/dist/internal/{measure-BX6boAC7.js → measure-B4jFwdQ6.js} +5 -5
- package/dist/internal/{measure-BX6boAC7.js.map → measure-B4jFwdQ6.js.map} +1 -1
- package/dist/internal/{model-chassis-compass-InVNmOAQ.js → model-chassis-compass-C6NTVMLo.js} +2 -2
- package/dist/internal/{model-chassis-compass-InVNmOAQ.js.map → model-chassis-compass-C6NTVMLo.js.map} +1 -1
- package/dist/internal/{model-entry-door-guide-wZbyY77a.js → model-entry-door-guide-DnGTLY2s.js} +2 -2
- package/dist/internal/{model-entry-door-guide-wZbyY77a.js.map → model-entry-door-guide-DnGTLY2s.js.map} +1 -1
- package/dist/internal/{model-maker-uO8xlTuO.js → model-maker-B1mnDdKY.js} +15 -15
- package/dist/internal/{model-maker-uO8xlTuO.js.map → model-maker-B1mnDdKY.js.map} +1 -1
- package/dist/internal/{model-tv-video-DzXb2JRf.js → model-tv-video-BP-7HoDC.js} +2 -2
- package/dist/internal/{model-tv-video-DzXb2JRf.js.map → model-tv-video-BP-7HoDC.js.map} +1 -1
- package/dist/internal/{model-view-CBeeMM98.js → model-view-BWUU0-uq.js} +2 -2
- package/dist/internal/{model-view-CBeeMM98.js.map → model-view-BWUU0-uq.js.map} +1 -1
- package/dist/internal/object3d-helper-CbRRhnLV.js +7 -0
- package/dist/internal/{object3d-helper-DDYsVPN6.js.map → object3d-helper-CbRRhnLV.js.map} +1 -1
- package/dist/internal/{pano-compass-jSr629BP.js → pano-compass-BRTM0dCc.js} +7 -7
- package/dist/internal/{pano-compass-jSr629BP.js.map → pano-compass-BRTM0dCc.js.map} +1 -1
- package/dist/internal/{pano-door-label-DKoYIKLa.js → pano-door-label-BLjYGZrr.js} +3 -3
- package/dist/internal/{pano-door-label-DKoYIKLa.js.map → pano-door-label-BLjYGZrr.js.map} +1 -1
- package/dist/internal/{pano-measure-DW9mdx1O.js → pano-measure-BIgCWkVJ.js} +14 -14
- package/dist/internal/{pano-measure-DW9mdx1O.js.map → pano-measure-BIgCWkVJ.js.map} +1 -1
- package/dist/internal/{pano-ruler-pro-D7q0Ob21.js → pano-ruler-pro-D9yTbHJz.js} +2 -2
- package/dist/internal/{pano-ruler-pro-D7q0Ob21.js.map → pano-ruler-pro-D9yTbHJz.js.map} +1 -1
- package/dist/internal/{pano-spatial-tag-D0qn-__S.js → pano-spatial-tag-B7Gxn3BS.js} +3 -3
- package/dist/internal/{pano-spatial-tag-D0qn-__S.js.map → pano-spatial-tag-B7Gxn3BS.js.map} +1 -1
- package/dist/internal/{pano-tag-BW5MXXws.js → pano-tag-Bchz-jED.js} +2 -2
- package/dist/internal/{pano-tag-BW5MXXws.js.map → pano-tag-Bchz-jED.js.map} +1 -1
- package/dist/internal/{pano-video-Bmud_CAn.js → pano-video-BufYQMqo.js} +3 -3
- package/dist/internal/{pano-video-Bmud_CAn.js.map → pano-video-BufYQMqo.js.map} +1 -1
- package/dist/internal/{pipeline-DDqgb1gw.js → pipeline-t_3IMXKB.js} +4 -4
- package/dist/internal/{pipeline-DDqgb1gw.js.map → pipeline-t_3IMXKB.js.map} +1 -1
- package/dist/internal/{sculpt-BNkLJR6p.js → sculpt-BCK4PMwL.js} +64 -63
- package/dist/internal/{sculpt-BNkLJR6p.js.map → sculpt-BCK4PMwL.js.map} +1 -1
- package/dist/internal/tagPosition-DA9YguT8.js +176 -0
- package/dist/internal/tagPosition-DA9YguT8.js.map +1 -0
- package/dist/internal/withResolvers-DVr4bnnk.js +15 -0
- package/dist/internal/withResolvers-DVr4bnnk.js.map +1 -0
- package/dist/plugins/area-maker.js +1 -1
- package/dist/plugins/camera-movement.js +1 -1
- package/dist/plugins/cruise.js +2 -2
- package/dist/plugins/css3d-render.js +1 -1
- package/dist/plugins/current-pano-image.js +1 -1
- package/dist/plugins/digital-performance.d.ts +1 -1
- package/dist/plugins/digital-performance.js +1 -1
- package/dist/plugins/fire-scene.d.ts +1 -1
- package/dist/plugins/fire-scene.js +1 -1
- package/dist/plugins/guide-line.js +1 -1
- package/dist/plugins/measure.js +1 -1
- package/dist/plugins/model-chassis-compass.js +1 -1
- package/dist/plugins/model-entry-door-guide.js +1 -1
- package/dist/plugins/model-maker.d.ts +1 -1
- package/dist/plugins/model-maker.js +1 -1
- package/dist/plugins/model-tv-video.js +1 -1
- package/dist/plugins/model-view.js +1 -1
- package/dist/plugins/object3d-helper.d.ts +1 -1
- package/dist/plugins/object3d-helper.js +3 -1
- package/dist/plugins/pano-compass.js +1 -1
- package/dist/plugins/pano-door-label.js +1 -1
- package/dist/plugins/pano-measure.js +1 -1
- package/dist/plugins/pano-ruler-pro.js +1 -1
- package/dist/plugins/pano-spatial-tag.js +1 -1
- package/dist/plugins/pano-tag.d.ts +1 -1
- package/dist/plugins/pano-tag.js +4 -1
- package/dist/plugins/pano-video.js +1 -1
- package/dist/plugins/pipeline.js +1 -1
- package/dist/plugins/sculpt.d.ts +1 -1
- package/dist/plugins/sculpt.js +7 -1
- package/dist/types/public/index.d.ts +2 -0
- package/dist/types/public/plugins/digital-performance.d.ts +1 -0
- package/dist/types/public/plugins/fire-scene.d.ts +1 -0
- package/dist/types/public/plugins/model-maker.d.ts +1 -0
- package/dist/types/public/plugins/object3d-helper.d.ts +1 -0
- package/dist/types/public/plugins/pano-tag.d.ts +2 -0
- package/dist/types/public/plugins/sculpt.d.ts +8 -0
- package/dist/types/public/utils.d.ts +5 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +16 -50
- package/package.json +1 -1
- package/dist/internal/BasePluginWithData-9z4tpAT4.js +0 -7
- package/dist/internal/CSS3DRenderPlugin-ccSpcvwd.js.map +0 -1
- package/dist/internal/Rectangle-D-zkDycu.js.map +0 -1
- package/dist/internal/animationFrame-XGKHIeQK.js.map +0 -1
- package/dist/internal/blink-DD_0mH-m.js +0 -113
- package/dist/internal/blink-DD_0mH-m.js.map +0 -1
- package/dist/internal/camera-movement-CwI7UqUk.js.map +0 -1
- package/dist/internal/controller-BWkZT0l1.js.map +0 -1
- package/dist/internal/defaultUrls-CjKkS9k9.js.map +0 -1
- package/dist/internal/fire-scene-CczaBz2_.js.map +0 -1
- package/dist/internal/generatePolygonGeometry-B_5JFq8y.js.map +0 -1
- package/dist/internal/object3d-helper-DDYsVPN6.js +0 -7
- package/dist/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePlugin-
|
|
1
|
+
{"version":3,"file":"BasePlugin-DC5m72La.js","names":["Subscribe","Controller","workCode","DEFAULT_STATIC_PREFIX","five","FiveUtil","config"],"sources":["../../src/base/BasePlugin.ts"],"sourcesContent":["import type { PlaybackManager } from '../shared-utils/playback'\nimport type { Five } from '@realsee/five-webgpu'\nimport { Subscribe } from '../shared-utils/Subscribe'\nimport { DEFAULT_STATIC_PREFIX } from '../shared-utils'\nimport type { WorkUtil } from '../shared-utils/Utils/WorkUtil'\nimport { FiveUtil } from '../shared-utils/Utils/FiveUtil'\n\n/**\n * 基本属性字段\n */\ninterface State {\n /**\n * 插件是否启用\n */\n enabled: boolean\n\n /**\n * 插件UI是否展示\n */\n visible?: boolean\n\n /**\n * 插件的配置项\n */\n config?: unknown\n}\n\ninterface BaseOptions {\n /** 是否是用户行为 */\n userAction?: boolean\n [key: string]: unknown\n}\n\ninterface Config {\n mediaManager?: PlaybackManager\n /** 静态资源前缀 */\n staticPrefix?: string\n\n /** 国际化转换函数 */\n i18n?: (key: string) => string\n}\n\n/**\n * 插件基本事件\n */\n\ntype EventMap<PluginState> = {\n /**\n * 插件被销毁\n */\n dispose: () => void\n\n /**\n * 插件状态变化\n * @param params.state 最新的State\n * @param params.prevState 上一个State\n * @param params.userAction 是否是用户触发\n */\n stateChange: (params: { state: PluginState; prevState?: PluginState; userAction: boolean }) => void\n}\n\ndeclare const __DNALOGEL_VERSION__: string\n\n/**\n * plugin 的基本控制器\n */\nabstract class Controller<PluginState extends State = State, PluginEventMap extends EventMap<PluginState> = EventMap<PluginState>> {\n /**\n * @realsee/dnalogel 版本号\n */\n public readonly VERSION: string = __DNALOGEL_VERSION__\n\n public NAME?: string\n\n public five: Five\n\n public workUtil: WorkUtil\n\n public fiveUtil: FiveUtil\n\n public set workCode(workCode: string) {\n this.workUtil.workCode = workCode\n this.onWorkCodeChange()\n }\n\n public get workCode() {\n return this.workUtil.workCode\n }\n\n /**\n * @description: 插件事件钩子\n */\n public hooks: Subscribe<PluginEventMap> = new Subscribe()\n\n public readonly staticPrefix: string = DEFAULT_STATIC_PREFIX\n\n /**\n * 当前状态\n * @description\n * ```text\n * 可以通过 plugin.state 和 plugin.setState 来获取和设置。\n * 通过 state 设置后,plugin 会通过合适的动画运动来达到设置的效果。\n * 来迎合一些通过数据驱动的场景。\n * ```\n */\n public abstract state: PluginState\n\n public constructor(five: Five, config?: Config) {\n this.five = five\n this.fiveUtil = new FiveUtil(five)\n this.workUtil = this.fiveUtil.workUtil\n if (config?.staticPrefix) this.staticPrefix = config.staticPrefix\n }\n\n public updateFive(five: Five) {\n this.five = five\n this.fiveUtil.five = five\n this.workUtil.five = five\n }\n\n /**\n * 获取当前的插件状态,如果当初插件内存在需要通过动画变更的 state 值,则通过此方法可以得到中间状态\n */\n public getCurrentState() {\n return this.state\n }\n\n /**\n * 插件自身DOM添加到父容器\n * @param wrapper\n */\n public appendTo?(wrapper: Element): void\n\n /**\n * 展示UI\n */\n public show?(options?: BaseOptions): Promise<void> | void\n\n /**\n * 隐藏UI\n */\n public hide?(options?: BaseOptions): Promise<void> | void\n\n /**\n * 设置state\n * @param state 插件的目标状态\n * @param options 配置项\n */\n public setState?(state: Partial<PluginState>, options?: BaseOptions): void\n\n protected onWorkCodeChange() {}\n\n /**\n * 启用插件,让插件能够响应交互\n */\n public abstract enable(options?: BaseOptions): void\n\n /**\n * 禁用插件,让插件停止响应交互\n */\n public abstract disable(options?: BaseOptions): void\n\n /**\n * 插件进行销毁\n */\n public abstract dispose(): void\n}\n\nexport type { State, Config, EventMap, BaseOptions }\nexport { Controller }\n"],"mappings":";;;;AAkEA,IAAeC,IAAf,MAAmI;CAIjI,UAAA;CAEA;CAEA;CAEA;CAEA;CAEA,IAAW,SAAS,GAAkB;EAEpC,AADA,KAAK,SAAS,WAAWC,GACzB,KAAK,iBAAiB;CACxB;CAEA,IAAW,WAAW;EACpB,OAAO,KAAK,SAAS;CACvB;CAKA,QAA0C,IAAIF,EAAU;CAExD,eAAuCG;CAavC,YAAmB,GAAY,GAAiB;EAI9C,AAHA,KAAK,OAAOC,GACZ,KAAK,WAAW,IAAIC,EAASD,CAAI,GACjC,KAAK,WAAW,KAAK,SAAS,UAC1BE,GAAQ,iBAAc,KAAK,eAAeA,EAAO;CACvD;CAEA,WAAkB,GAAY;EAG5B,AAFA,KAAK,OAAOF,GACZ,KAAK,SAAS,OAAOA,GACrB,KAAK,SAAS,OAAOA;CACvB;CAKA,kBAAyB;EACvB,OAAO,KAAK;CACd;CAyBA,mBAA6B,CAAC;AAgBhC"}
|
package/dist/internal/{BasePluginWithData-9z4tpAT4.js.map → BasePluginWithData-D_0W46_q.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePluginWithData-
|
|
1
|
+
{"version":3,"file":"BasePluginWithData-D_0W46_q.js","names":["BasePlugin.Controller","Controller$1","Controller"],"sources":["../../src/base/BasePluginWithData.ts"],"sourcesContent":["import * as BasePlugin from './BasePlugin'\n\ntype State = BasePlugin.State\ntype Config = BasePlugin.Config\n\ninterface EventMap<PluginState, PluginData> extends BasePlugin.EventMap<PluginState> {\n /** 数据变更 */\n dataChange: (data: PluginData, prevData?: PluginData) => void\n /** 数据加载完成 */\n dataLoaded: (data: PluginData) => void\n}\n\nabstract class Controller<\n PluginState extends State,\n PluginEventMap extends EventMap<PluginState, PluginData>,\n PluginServerData,\n PluginData,\n> extends BasePlugin.Controller<PluginState, PluginEventMap> {\n protected abstract data?: PluginData\n\n /**\n * 加载插件依赖数据\n * @param serverData 插件数据\n * @param state 插件 State\n */\n public abstract load(serverData: PluginServerData, state?: PluginState, userAction?: boolean): Promise<void>\n}\n\nexport type { State, EventMap, Config }\nexport type { BaseOptions } from './BasePlugin'\nexport { Controller }\n"],"mappings":";;AAYA,IAAeE,IAAf,cAKUF,EAAmD,CAS7D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as e, r as t, t as n } from "./tween.esm-CJDtohfp.js";
|
|
2
|
-
import {
|
|
2
|
+
import { i as r } from "./animationFrame-CacKXN8l.js";
|
|
3
3
|
//#region src/shared-utils/animationFrame/BetterTween.ts
|
|
4
4
|
var i = class extends e {
|
|
5
5
|
disposeMethods = [];
|
|
@@ -20,4 +20,4 @@ function a(e, t = n.Linear.None) {
|
|
|
20
20
|
//#endregion
|
|
21
21
|
export { a as n, i as t };
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=BetterTween-
|
|
23
|
+
//# sourceMappingURL=BetterTween-DmptqE8m.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetterTween-
|
|
1
|
+
{"version":3,"file":"BetterTween-DmptqE8m.js","names":["TWEEN.Tween","Tween","remove","Easing","requestAnimationFrameInterval","BetterTween","callback","time","fn","tweenProgress","tween","duration","easing"],"sources":["../../src/shared-utils/animationFrame/BetterTween.ts"],"sourcesContent":["import * as TWEEN from '@tweenjs/tween.js'\nimport { requestAnimationFrameInterval } from './index'\n\nexport class BetterTween<T extends Record<string, unknown>> extends TWEEN.Tween<T> {\n private disposeMethods: (() => void)[] = []\n private animationFrameDisposer?: () => void\n\n public onDispose = (callback: () => void) => {\n this.disposeMethods.push(callback)\n return this\n }\n\n public play = () => {\n this.start(0)\n this.animationFrameDisposer?.()\n this.animationFrameDisposer = requestAnimationFrameInterval((time) => {\n if (!this.update(time)) this.animationFrameDisposer?.()\n })\n return this\n }\n\n public stop = () => {\n super.stop()\n this.animationFrameDisposer?.()\n\n return this\n }\n\n public dispose = () => {\n this.stop()\n this.animationFrameDisposer?.()\n this.disposeMethods.forEach((fn) => fn())\n this.disposeMethods = []\n TWEEN.remove(this)\n }\n}\n\nexport function tweenProgress(duration?: number, easing = TWEEN.Easing.Linear.None) {\n const tween = new BetterTween({ progress: 0 }).to({ progress: 1 })\n if (duration !== undefined) tween.duration(duration)\n if (easing !== undefined) tween.easing(easing)\n return tween\n}\n"],"mappings":";;;AAGA,IAAaK,IAAb,cAAoEL,EAAe;CACjF,iBAAyC,CAAC;CAC1C;CAEA,aAAoB,OAClB,KAAK,eAAe,KAAKM,CAAQ,GAC1B;CAGT,cACE,KAAK,MAAM,CAAC,GACZ,KAAK,yBAAyB,GAC9B,KAAK,yBAAyBF,GAA+B,MAAS;EACpE,AAAK,KAAK,OAAOG,CAAI,KAAG,KAAK,yBAAyB;CACxD,CAAC,GACM;CAGT,cACE,MAAM,KAAK,GACX,KAAK,yBAAyB,GAEvB;CAGT,gBAAuB;EAKrB,AAJA,KAAK,KAAK,GACV,KAAK,yBAAyB,GAC9B,KAAK,eAAe,SAAS,MAAOC,EAAG,CAAC,GACxC,KAAK,iBAAiB,CAAC,GACvBN,EAAa,IAAI;CACnB;AACF;AAEA,SAAgBO,EAAc,GAAmB,IAAAN,EAAsB,OAAO,MAAM;CAClF,IAAMO,IAAQ,IAAIL,EAAY,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;CAGjE,OAFIM,MAAa,KAAA,KAAWD,EAAM,SAASC,CAAQ,GAC/CC,MAAW,KAAA,KAAWF,EAAM,OAAOE,CAAM,GACtCF;AACT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as e } from "./CSS3DObject-C9ck81UX.js";
|
|
2
|
-
import { t } from "./fiveModelLoad-
|
|
3
|
-
import { n } from "./defaultUrls-
|
|
2
|
+
import { n as t } from "./fiveModelLoad-BUIBYxzp.js";
|
|
3
|
+
import { n } from "./defaultUrls-CfMtGzqM.js";
|
|
4
4
|
import { t as r } from "./CSS3DRender-BKWjq-Mo.js";
|
|
5
5
|
//#region src/CSS3DRenderPlugin/Controller.ts
|
|
6
6
|
var i = "v2.0.1", a = `CSS3DRenderPlugin@${i}`, o = class extends r {
|
|
@@ -74,4 +74,4 @@ var i = "v2.0.1", a = `CSS3DRenderPlugin@${i}`, o = class extends r {
|
|
|
74
74
|
//#endregion
|
|
75
75
|
export { s as t };
|
|
76
76
|
|
|
77
|
-
//# sourceMappingURL=CSS3DRenderPlugin-
|
|
77
|
+
//# sourceMappingURL=CSS3DRenderPlugin-CEatgl0m.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSS3DRenderPlugin-CEatgl0m.js","names":["generateBehindFiveElement","waitFiveModelLoaded","CSS3DRender","VERSION","PLUGIN_NAME","Controller","DEFAULT_STATIC_PREFIX","five","params","result","config","create3DElementResult","points","disposed","originDispose","oldRender","wrapper","render","autoRender","container","CSS3DRenderPlugin"],"sources":["../../src/CSS3DRenderPlugin/Controller.ts","../../src/CSS3DRenderPlugin/index.ts"],"sourcesContent":["import type * as THREE from 'three/webgpu'\nimport type { Five } from '@realsee/five-webgpu'\nimport { CSS3DRender } from './utils/three/CSS3DRender'\nimport type { AnyPosition } from './utils'\nimport generateBehindFiveElement from './utils/generateBehindFiveElement'\nimport { DEFAULT_STATIC_PREFIX } from '../shared-utils'\nimport { waitFiveModelLoaded } from '../shared-utils/five/fiveModelLoad'\n\nconst VERSION = 'v2.0.1'\n\nexport const PLUGIN_NAME = `CSS3DRenderPlugin@${VERSION}`\n\nexport interface Create3DDomContainerParamsType {\n points: AnyPosition[]\n config?: {\n ratio?: number\n devicePixelRatio?: number\n autoRender?: boolean\n container?: HTMLElement\n pointerEvents?: 'none' | 'auto'\n wrapperStyle?: Partial<CSSStyleDeclaration>\n } & ({ mode?: 'front' } | { mode: 'behind'; behindFiveContainer?: HTMLElement })\n}\n\nexport default class Controller extends CSS3DRender {\n public five: Five\n public behindFiveContainer?: Element\n public frontFiveContainer?: Element\n\n public readonly VERSION = VERSION\n\n public readonly staticPrefix: string = DEFAULT_STATIC_PREFIX\n\n private created3DElementResults: Array<Exclude<ReturnType<CSS3DRender['create3DElement']>, void>> = []\n\n public constructor(five: Five) {\n super()\n this.five = five\n }\n\n public setState(...params: Parameters<InstanceType<typeof CSS3DRender>['setState']>): void {\n const result = super.setState(...params)\n this.five.needsRender = true\n return result\n }\n\n /**\n * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中\n * @param { Vector3Position[] } points 矩形四个点坐标\n * @param config 均为可选值\n * @config_document `config` 均为可选值\n * | key | type | defaultValue | comment |\n * | - | - | - | - |\n * | `ratio` | *`number`* | `0.00216` | 1px对应多少米,默认为 0.00216,即1px对应2.16mm |\n * | ~~`dpr`~~ | ~~*`number`*~~ | ~~`undefined`~~ | ~~**已改名**,请使用~~ `devicePixelRatio` |\n * | `devicePixelRatio` | *`number`* | `1` | 设备的物理像素分辨率与CSS像素分辨率的比值 |\n * | `container` | *`HTMLElement`* | `undefined` | 自定义 return 中的 `container`\n * | `pointerEvents` | *`'none'\\|'auto'`* | `'none'` | container 的 css属性:`pointer-events` 的值 |\n * | `autoRender` | *`boolean`* | `true` | 是否自动渲染,通常为true |\n * | `mode` | *`'front'\\|'behind'`* | `front` | 两种模式:|\n * | | | | `front` 模式:DOM 处于 five Canvas 上方,所以无法模拟遮挡效果,需要手动检测是否可见去设置显隐 |\n * | | | | `behind` 模式:DOM 处于 five Canvas 下方,可以模拟真实的遮挡效果,但是 DOM 必须是非透明的 |\n * | `behindFiveContainer` | *`HTMLElement`* | `undefined` | 如果 mode 为 `behind`,需要传入容器,并确保此容器位five下方,且中间无其他不透明的dom元素遮挡 |\n *\n * @return\n * ```typescript\n * {\n * id: string, // id\n * container: HTMLDIVElement // dom容器\n * dispose: () => void // 销毁\n * css3DObject: CSS3DObject // THREE.CSS3DObject 实例\n * render?: () => void // 渲染函数,当 config.autoRender = true || undefined 时为 undefined\n * setVisible: (visible: boolean) => void // 设置显隐, 同 setVisibleById(id, visible)\n * show: () => void // 同 setVisible(true)\n * hide: () => void // 同 setVisible(false)\n * setEnabled: (enabled: boolean) => void // 添加/移除 container, 同 setEnabledById(id, enabled)\n * enable: () => void // 同 setEnabled(true)\n * disable: () => void // 同 setEnabled(false)\n * } | void\n * ```\n */\n public create3DDomContainer = (points: Create3DDomContainerParamsType['points'], config?: Create3DDomContainerParamsType['config']) => {\n if (this.state.disposed) return undefined\n // ==== init ====\n const params = (() => {\n const defaultconfig = {\n ratio: 0.00216,\n devicePixelRatio: 1,\n mode: 'front',\n autoRender: true,\n wrapperStyle: {},\n }\n return Object.assign(defaultconfig, config, config?.mode === 'behind' ? { scene: this.five.scene } : undefined) as {\n ratio: number\n devicePixelRatio: number\n autoRender: boolean\n container: HTMLElement\n pointerEvents: 'none' | 'auto'\n wrapperStyle: Partial<CSSStyleDeclaration>\n } & ({ mode: 'front' } | { mode: 'behind'; behindFiveContainer: HTMLElement; scene: THREE.Scene })\n })()\n\n const { autoRender } = params\n\n if (params.mode === 'behind' && params.behindFiveContainer) {\n this.behindFiveContainer = params.behindFiveContainer\n }\n\n // 自动添加dom\n const create3DElementResult = this.create3DElement(this.five.camera, points, { ...params, autoRender: false })\n\n if (!create3DElementResult) return undefined\n\n let disposed = false\n const originDispose = create3DElementResult.dispose\n create3DElementResult.dispose = () => {\n if (disposed) return\n disposed = true\n if (this.created3DElementResults.includes(create3DElementResult)) {\n this.created3DElementResults.splice(this.created3DElementResults.indexOf(create3DElementResult), 1)\n }\n return originDispose()\n }\n\n this.created3DElementResults.push(create3DElementResult)\n\n const oldRender = () => {\n if (disposed || this.state.disposed) return\n const wrapper =\n create3DElementResult.css3DObject.mode === 'front'\n ? this.frontFiveContainer ?? this.five.getElement()?.parentElement\n : this.getBehindFiveElement()\n if (!wrapper) return console.error(`${PLUGIN_NAME}: wrapper is ${wrapper}; mode is ${create3DElementResult.css3DObject.mode}`)\n create3DElementResult.appendToElement(wrapper)\n create3DElementResult.render!()\n }\n\n const render = () => {\n waitFiveModelLoaded(this.five).then(() => oldRender())\n }\n\n if (autoRender) render()\n\n return { ...create3DElementResult, ...{ render: autoRender ? undefined : render } }\n }\n\n public appendToFrontFiveContainer(container: Element) {\n this.frontFiveContainer = container\n this.created3DElementResults.forEach((result) => {\n if (result.css3DObject.mode === 'front') {\n result.appendToElement(container)\n }\n })\n }\n\n public appendToBehindFiveContainer(container: Element) {\n this.behindFiveContainer = container\n this.created3DElementResults.forEach((result) => {\n if (result.css3DObject.mode === 'behind') {\n result.appendToElement(container)\n }\n })\n }\n\n public getBehindFiveElement() {\n if (this.behindFiveContainer) return this.behindFiveContainer\n else {\n this.behindFiveContainer = generateBehindFiveElement(this.five)\n return this.behindFiveContainer\n }\n }\n\n public dispose() {\n if (this.state.disposed) return\n this.clear()\n super.dispose()\n }\n\n public clear() {\n this.created3DElementResults.slice().forEach((result) => {\n result.dispose()\n })\n this.created3DElementResults = []\n }\n}\n","import type { Five, FivePlugin } from '@realsee/five-webgpu'\nimport Controller from './Controller'\n\nexport const CSS3DRenderPlugin: FivePlugin<void, InstanceType<typeof Controller>> = (five: Five) => new Controller(five)\n\nexport { CSS3DRender } from './utils/three/CSS3DRender'\nexport type { CSS3DRenderPluginParameterType, CSS3DRenderPluginExportType, CSS3DRenderExportType, Create3DDomContainerReturnType, Create3DElementReturnType, CSS3DRenderPluginState, CSS3DRenderPluginEventMap } from './typing'\nexport default CSS3DRenderPlugin\n"],"mappings":";;;;;AAQA,IAAMG,IAAU,UAEHC,IAAc,qBAAqBD,KAc3BE,IAArB,cAAwCH,EAAY;CAClD;CACA;CACA;CAEA,UAA0BC;CAE1B,eAAuCG;CAEvC,0BAAoG,CAAC;CAErG,YAAmB,GAAY;EAE7B,AADA,MAAM,GACN,KAAK,OAAOC;CACd;CAEA,SAAgB,GAAGC,GAAwE;EACzF,IAAMC,IAAS,MAAM,SAAS,GAAGD,CAAM;EAEvC,OADA,KAAK,KAAK,cAAc,IACjBC;CACT;CAqCA,wBAA+B,GAAkD,MAAsD;EACrI,IAAI,KAAK,MAAM,UAAU;EAEzB,IAAMD,IAQG,OAAO,OAAO;GANnB,OAAO;GACP,kBAAkB;GAClB,MAAM;GACN,YAAY;GACZ,cAAc,CAAC;EAEI,GAAeE,GAAQA,GAAQ,SAAS,WAAW,EAAE,OAAO,KAAK,KAAK,MAAM,IAAI,KAAA,CAAS,GAU1G,EAAE,kBAAeF;EAEvB,AAAIA,EAAO,SAAS,YAAYA,EAAO,wBACrC,KAAK,sBAAsBA,EAAO;EAIpC,IAAMG,IAAwB,KAAK,gBAAgB,KAAK,KAAK,QAAQC,GAAQ;GAAE,GAAGJ;GAAQ,YAAY;EAAM,CAAC;EAE7G,IAAI,CAACG,GAAuB;EAE5B,IAAIE,IAAW,IACTC,IAAgBH,EAAsB;EAU5C,AATA,EAAsB,gBAAgB;GACpC,IAAI,IAKJ,OAJA,IAAW,IACP,KAAK,wBAAwB,SAASA,CAAqB,KAC7D,KAAK,wBAAwB,OAAO,KAAK,wBAAwB,QAAQA,CAAqB,GAAG,CAAC,GAE7FG,EAAc;EACvB,GAEA,KAAK,wBAAwB,KAAKH,CAAqB;EAEvD,IAAMI,UAAkB;GACtB,IAAIF,KAAY,KAAK,MAAM,UAAU;GACrC,IAAMG,IACJL,EAAsB,YAAY,SAAS,UACvC,KAAK,sBAAsB,KAAK,KAAK,WAAW,CAAC,EAAE,gBACnD,KAAK,qBAAqB;GAChC,IAAI,CAACK,GAAS,OAAO,QAAQ,MAAM,GAAGZ,EAAY,eAAeY,EAAQ,YAAYL,EAAsB,YAAY,MAAM;GAE7H,AADAA,EAAsB,gBAAgBK,CAAO,GAC7CL,EAAsB,OAAQ;EAChC,GAEMM,UAAe;GACnB,EAAoB,KAAK,IAAI,CAAC,CAAC,WAAWF,EAAU,CAAC;EACvD;EAIA,OAFIG,KAAYD,EAAO,GAEhB;GAAE,GAAGN;GAA4B,QAAQO,IAAa,KAAA,IAAYD;EAAS;CACpF;CAEA,2BAAkC,GAAoB;EAEpD,AADA,KAAK,qBAAqBE,GAC1B,KAAK,wBAAwB,SAAS,MAAW;GAC/C,AAAIV,EAAO,YAAY,SAAS,WAC9BA,EAAO,gBAAgBU,CAAS;EAEpC,CAAC;CACH;CAEA,4BAAmC,GAAoB;EAErD,AADA,KAAK,sBAAsBA,GAC3B,KAAK,wBAAwB,SAAS,MAAW;GAC/C,AAAIV,EAAO,YAAY,SAAS,YAC9BA,EAAO,gBAAgBU,CAAS;EAEpC,CAAC;CACH;CAEA,uBAA8B;EAI1B,OAHE,AAEF,KAAK,wBAAsBnB,EAA0B,KAAK,IAAI,GACvD,KAAK;CAEhB;CAEA,UAAiB;EACf,AAAI,KAAK,MAAM,aACf,KAAK,MAAM,GACX,MAAM,QAAQ;CAChB;CAEA,QAAe;EAIb,AAHA,KAAK,wBAAwB,MAAM,CAAC,CAAC,SAAS,MAAW;GACvD,EAAO,QAAQ;EACjB,CAAC,GACD,KAAK,0BAA0B,CAAC;CAClC;AACF,GCrLaoB,KAAwE,MAAe,IAAIf,EAAWE,CAAI"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { t as e } from "./Subscribe-DLlAl88n.js";
|
|
2
2
|
import { r as t } from "./CSS3DObject-C9ck81UX.js";
|
|
3
|
-
import {
|
|
3
|
+
import { n } from "./fiveModelLoad-BUIBYxzp.js";
|
|
4
4
|
import { t as r } from "./util-vGeVT4oo.js";
|
|
5
5
|
import { n as i, t as a } from "./getNormal-BatLuzsS.js";
|
|
6
6
|
import { t as o } from "./formatRad-kChZaf0k.js";
|
|
7
7
|
import { n as s, t as c } from "./isNil-CQNA0Sbe.js";
|
|
8
8
|
import { t as l } from "./rayOnLine-CrCXTByv.js";
|
|
9
|
-
import {
|
|
9
|
+
import { n as u, r as d, s as f } from "./boundingBox-CIqXgNXW.js";
|
|
10
10
|
import { t as p } from "./CSS3DRender-BKWjq-Mo.js";
|
|
11
|
-
import { t as m } from "./BasePlugin-
|
|
11
|
+
import { t as m } from "./BasePlugin-DC5m72La.js";
|
|
12
12
|
import { t as h } from "./rad2Deg-DutG55Wb.js";
|
|
13
13
|
import { t as g } from "./vectorIsEqual-BXdJrP0J.js";
|
|
14
14
|
import * as _ from "three/webgpu";
|
|
@@ -52,7 +52,7 @@ var b = class extends i {
|
|
|
52
52
|
return e.intersectObject(this, !0, t);
|
|
53
53
|
}
|
|
54
54
|
initialPosition(e) {
|
|
55
|
-
this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy(
|
|
55
|
+
this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy(u(this.originObject3D)?.getCenter(new _.Vector3()).applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom === "boundingSphere" ? this.position.copy(d(this.originObject3D)?.center.clone().applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom instanceof v ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), e && this.position.add(e);
|
|
56
56
|
}
|
|
57
57
|
setScaleByCamera(e) {}
|
|
58
58
|
initQuaternion(e) {
|
|
@@ -789,7 +789,7 @@ var ue = class extends T {
|
|
|
789
789
|
this.box.raycast(e, t);
|
|
790
790
|
}
|
|
791
791
|
update() {
|
|
792
|
-
let e =
|
|
792
|
+
let e = u(this.originObject3D);
|
|
793
793
|
if (!e) return;
|
|
794
794
|
let { min: t, max: n } = e;
|
|
795
795
|
this.positionAttribute.setXYZ(0, n.x, n.y, n.z), this.positionAttribute.setXYZ(1, t.x, n.y, n.z), this.positionAttribute.setXYZ(2, t.x, t.y, n.z), this.positionAttribute.setXYZ(3, n.x, t.y, n.z), this.positionAttribute.setXYZ(4, n.x, n.y, t.z), this.positionAttribute.setXYZ(5, t.x, n.y, t.z), this.positionAttribute.setXYZ(6, t.x, t.y, t.z), this.positionAttribute.setXYZ(7, n.x, t.y, t.z), this.positionAttribute.needsUpdate = !0;
|
|
@@ -1027,7 +1027,7 @@ var ue = class extends T {
|
|
|
1027
1027
|
}
|
|
1028
1028
|
return i.object;
|
|
1029
1029
|
}
|
|
1030
|
-
getBox = () => (this.boundingBox ||=
|
|
1030
|
+
getBox = () => (this.boundingBox ||= u(this.originObject3D), this.boundingBox);
|
|
1031
1031
|
calculateOffset(e, t) {
|
|
1032
1032
|
let n = new _.Vector3(0, 0, 0);
|
|
1033
1033
|
if (!e) return n;
|
|
@@ -1941,7 +1941,7 @@ var we = class extends W {
|
|
|
1941
1941
|
};
|
|
1942
1942
|
getObjectWorldCenter() {
|
|
1943
1943
|
if ("worldCenter" in this.originObject3D && typeof this.originObject3D.worldCenter == "object") return this.originObject3D.worldCenter.clone();
|
|
1944
|
-
let e =
|
|
1944
|
+
let e = f(this.originObject3D);
|
|
1945
1945
|
return e ? e.getCenter(new _.Vector3()) : this.originObject3D.getWorldPosition(new _.Vector3());
|
|
1946
1946
|
}
|
|
1947
1947
|
getMoveMeshes() {
|
|
@@ -2495,4 +2495,4 @@ var Q = "Object3DHelperPlugin", $ = Q, Te = () => {
|
|
|
2495
2495
|
//#endregion
|
|
2496
2496
|
export { Oe as t };
|
|
2497
2497
|
|
|
2498
|
-
//# sourceMappingURL=Controller-
|
|
2498
|
+
//# sourceMappingURL=Controller-D6o4OGWJ.js.map
|