@realsee/vreo 2.4.7 → 2.5.0-alpha.2

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 (132) hide show
  1. package/README.md +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/Player.AudioLike.html +2 -2
  5. package/docs/classes/Player.Controller.html +52 -4
  6. package/docs/classes/Player.Player.html +43 -2
  7. package/docs/classes/Player.VideoAgentMesh.html +61 -4
  8. package/docs/classes/Player.VideoAgentScene.html +2 -2
  9. package/docs/demo/assets/{examples-5qw3pq5z.js → examples-DfiAz2fR.js} +1 -1
  10. package/docs/demo/assets/react-BnzBLum3.css +1 -0
  11. package/docs/demo/examples.html +1 -1
  12. package/docs/demo/index-react.html +2 -2
  13. package/docs/demo/index.html +1 -1
  14. package/docs/enums/Player.InfoPanelStyleEnum.html +2 -2
  15. package/docs/enums/Player.InfoPanelTypeEnum.html +2 -2
  16. package/docs/enums/Player.PanoEffectEnum.html +2 -2
  17. package/docs/enums/Player.PanoTagEnum.html +2 -2
  18. package/docs/enums/Player.PanoTagStyleEnum.html +3 -3
  19. package/docs/enums/Player.VreoKeyframeEnum.html +13 -13
  20. package/docs/enums/fivePlugins.CameraMovementEffect.html +2 -2
  21. package/docs/enums/fivePlugins.Rotation.html +2 -2
  22. package/docs/functions/custom.SpatialScenePanel.html +1 -1
  23. package/docs/functions/react.useVreoAction.html +8 -1
  24. package/docs/functions/react.useVreoEventCallback.html +10 -1
  25. package/docs/functions/react.useVreoPausedState.html +8 -1
  26. package/docs/index.html +1 -1
  27. package/docs/interfaces/Player.Appearance.html +2 -0
  28. package/docs/interfaces/Player.CustomVreoKeyframeProps.html +2 -2
  29. package/docs/interfaces/Player.PlayerConfigs.html +6 -6
  30. package/docs/interfaces/Player.Vertex.html +2 -2
  31. package/docs/interfaces/Player.VideoAgentMeshOptions.html +5 -4
  32. package/docs/interfaces/Player.VreoKeyframe.html +2 -2
  33. package/docs/interfaces/Player.VreoUnit.html +2 -2
  34. package/docs/interfaces/Player.VreoVideo.html +2 -2
  35. package/docs/interfaces/fivePlugins.CSS3DRenderPluginExportType.html +7 -5
  36. package/docs/interfaces/fivePlugins.CameraMovementOptsCallback.html +2 -2
  37. package/docs/interfaces/fivePlugins.CameraMovementPluginExportType.html +3 -3
  38. package/docs/interfaces/fivePlugins.CameraMovementPluginParameterType.html +1 -1
  39. package/docs/interfaces/fivePlugins.ModelTVVideoPluginData.html +2 -2
  40. package/docs/interfaces/fivePlugins.ModelTVVideoPluginExportType.html +2 -2
  41. package/docs/interfaces/fivePlugins.ModelTVVideoPluginParameterType.html +2 -2
  42. package/docs/interfaces/fivePlugins.Vector3Position.html +2 -2
  43. package/docs/interfaces/react.VreoActionCallbacks.html +7 -7
  44. package/docs/interfaces/react.VreoProviderProps.html +5 -2
  45. package/docs/modules/Player.html +1 -1
  46. package/docs/modules/fivePlugins.html +1 -1
  47. package/docs/types/Player.AppSize.html +1 -0
  48. package/docs/types/Player.AudioLikeEvent.html +2 -2
  49. package/docs/types/Player.CameraMovementData.html +1 -1
  50. package/docs/types/Player.CustomData.html +1 -1
  51. package/docs/types/Player.InfoPanelData.html +2 -2
  52. package/docs/types/Player.ModelVideoData.html +5 -5
  53. package/docs/types/Player.PanoEffectData.html +2 -2
  54. package/docs/types/Player.PanoTagData.html +2 -2
  55. package/docs/types/Player.PanoTextLabelData.html +2 -2
  56. package/docs/types/Player.PrompterData.html +2 -2
  57. package/docs/types/Player.QuadrangleVertexs.html +1 -1
  58. package/docs/types/Player.Quaternion.html +2 -2
  59. package/docs/types/Player.UpdateVRPanoramaData.html +2 -2
  60. package/docs/types/Player.Vertexs.html +1 -1
  61. package/docs/types/Player.VideoEffectData.html +2 -2
  62. package/docs/types/Player.VreoKeyframeEvent.html +1 -1
  63. package/docs/types/Player.VreoKeyframeMap.html +2 -2
  64. package/docs/types/Player.VreoSubscribe.html +1 -1
  65. package/docs/types/Player.WaveAppearance.html +1 -0
  66. package/docs/types/fivePlugins.CSS3DRenderPluginParameterType.html +1 -0
  67. package/docs/types/fivePlugins.MoveArgs.html +1 -1
  68. package/docs/types/fivePlugins.MoveOpts.html +1 -1
  69. package/docs/types/fivePlugins.RotateArgs.html +1 -1
  70. package/docs/types/fivePlugins.RotateOpts.html +1 -1
  71. package/docs/variables/fivePlugins.CSS3DRenderPlugin.html +2 -2
  72. package/docs/variables/fivePlugins.CameraMovementPlugin.html +1 -1
  73. package/docs/variables/fivePlugins.ModelTVVideoPlugin.html +1 -1
  74. package/docs/variables/react.VreoProvider.html +9 -1
  75. package/lib/PlayController/createHTMLAudioElement.js +5 -12
  76. package/lib/PlayController/index.js +27 -34
  77. package/lib/Player/App.js +25 -34
  78. package/lib/Player/Controller.d.ts +106 -2
  79. package/lib/Player/Controller.js +190 -78
  80. package/lib/Player/custom/SpatialScenePanel/index.js +20 -31
  81. package/lib/Player/hooks.js +6 -15
  82. package/lib/Player/index.d.ts +103 -0
  83. package/lib/Player/index.js +153 -45
  84. package/lib/Player/modules/Drawer/index.js +8 -17
  85. package/lib/Player/modules/PopUp/index.js +8 -17
  86. package/lib/Player/modules/ResizeObserver/index.js +10 -17
  87. package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts +108 -7
  88. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +157 -52
  89. package/lib/Player/modules/VideoAgent/VideoAgentScene.js +16 -25
  90. package/lib/Player/modules/VideoAgent/index.js +8 -17
  91. package/lib/Player/modules/Wave/index.js +24 -33
  92. package/lib/Player/modules/keyframes/BgMusic/index.js +13 -22
  93. package/lib/Player/modules/keyframes/CameraMovement/index.js +17 -26
  94. package/lib/Player/modules/keyframes/InfoPanel/index.js +13 -21
  95. package/lib/Player/modules/keyframes/ModelVideo/index.js +17 -26
  96. package/lib/Player/modules/keyframes/PanoEffect/index.js +21 -30
  97. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +6 -14
  98. package/lib/Player/modules/keyframes/PanoTag/index.js +10 -18
  99. package/lib/Player/modules/keyframes/PanoTextLabel/index.js +19 -28
  100. package/lib/Player/modules/keyframes/Prompter/index.js +13 -22
  101. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +16 -24
  102. package/lib/Player/modules/keyframes/VideoEffect/index.js +18 -28
  103. package/lib/Player/typings.js +1 -5
  104. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +3 -9
  105. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +1 -7
  106. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +1 -7
  107. package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts +6 -12
  108. package/lib/fivePlugins/CSS3DRenderPlugin/index.js +27 -37
  109. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +3 -9
  110. package/lib/fivePlugins/CameraMovementPlugin/index.js +15 -22
  111. package/lib/fivePlugins/CameraMovementPlugin/typings.js +6 -10
  112. package/lib/fivePlugins/ModelTVVideoPlugin/index.js +9 -18
  113. package/lib/index.js +1 -12
  114. package/lib/react/index.d.ts +111 -0
  115. package/lib/react/index.js +148 -24
  116. package/lib/shared-utils/Audio.js +27 -37
  117. package/lib/shared-utils/AudioLike.js +22 -29
  118. package/lib/shared-utils/Preloader.js +1 -7
  119. package/lib/shared-utils/addResizeListener.js +4 -11
  120. package/lib/shared-utils/animationFrame/BetterTween.js +23 -33
  121. package/lib/shared-utils/animationFrame/index.js +4 -13
  122. package/lib/shared-utils/animationFrame/tween.js +9 -17
  123. package/lib/shared-utils/createTransMatrix.js +5 -14
  124. package/lib/shared-utils/getFileExpandedName.js +1 -7
  125. package/lib/shared-utils/getMediaInfo.js +8 -19
  126. package/lib/shared-utils/setElementDataset.js +1 -7
  127. package/lib/typings/VreoUnit.js +15 -17
  128. package/package.json +58 -5
  129. package/stylesheets/custom/SpatialScenePanel.css +7 -7
  130. package/stylesheets/default.css +1 -1
  131. package/docs/demo/assets/react-dPVEotm3.css +0 -1
  132. /package/docs/demo/assets/{react-BLZb_LNZ.js → react-C4h9qndP.js} +0 -0
@@ -1,20 +1,11 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.PanoTextLabel = PanoTextLabel;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var _three = _interopRequireWildcard(require("three"));
12
- var THREE = _three;
13
- var _reactDom = _interopRequireDefault(require("react-dom"));
14
- var _hooks = require("../../../hooks");
15
- var _CSS3DRenderPlugin = require("../../../../fivePlugins/CSS3DRenderPlugin");
16
- var _VreoUnit = require("../../../../typings/VreoUnit");
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import * as React from 'react';
3
+ import * as THREE from 'three';
4
+ import ReactDOM from 'react-dom';
5
+ import { Vector3, Quaternion } from 'three';
6
+ import { useController, useFiveInstance } from "../../../hooks.js";
7
+ import { CSS3DRenderPlugin } from "../../../../fivePlugins/CSS3DRenderPlugin/index.js";
8
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
18
9
  /**
19
10
  * 通过传入中心点确定矩形框架容器的四个点:
20
11
  * 1. 已知矩形长宽和中心点
@@ -48,7 +39,7 @@ var calcPoints = function calcPoints(centerPoint, normal, wrapperLength, wrapper
48
39
  plane.position.copy(v0);
49
40
 
50
41
  // 计算传入的四个点的坐标
51
- var _plane$geometry$verti = (0, _slicedToArray2["default"])(plane.geometry.vertices, 4),
42
+ var _plane$geometry$verti = _slicedToArray(plane.geometry.vertices, 4),
52
43
  v1 = _plane$geometry$verti[0],
53
44
  v2 = _plane$geometry$verti[1],
54
45
  v3 = _plane$geometry$verti[2],
@@ -65,10 +56,10 @@ var calcPoints = function calcPoints(centerPoint, normal, wrapperLength, wrapper
65
56
  /**
66
57
  * 空间文本标签。
67
58
  */
68
- function PanoTextLabel() {
59
+ export function PanoTextLabel() {
69
60
  var timeoutRef = React.useRef();
70
- var controller = (0, _hooks.useController)();
71
- var five = (0, _hooks.useFiveInstance)();
61
+ var controller = useController();
62
+ var five = useFiveInstance();
72
63
  var ref = React.useRef();
73
64
  React.useEffect(function () {
74
65
  var _controller$configs;
@@ -87,21 +78,21 @@ function PanoTextLabel() {
87
78
  x = _panoTextLabelData$ve.x,
88
79
  y = _panoTextLabelData$ve.y,
89
80
  z = _panoTextLabelData$ve.z;
90
- var centerPoint = new _three.Vector3(x, y, z);
91
- var normal = new _three.Vector3((_panoTextLabelData$no = panoTextLabelData.normal) === null || _panoTextLabelData$no === void 0 ? void 0 : _panoTextLabelData$no.x, (_panoTextLabelData$no2 = panoTextLabelData.normal) === null || _panoTextLabelData$no2 === void 0 ? void 0 : _panoTextLabelData$no2.y, (_panoTextLabelData$no3 = panoTextLabelData.normal) === null || _panoTextLabelData$no3 === void 0 ? void 0 : _panoTextLabelData$no3.z);
81
+ var centerPoint = new Vector3(x, y, z);
82
+ var normal = new Vector3((_panoTextLabelData$no = panoTextLabelData.normal) === null || _panoTextLabelData$no === void 0 ? void 0 : _panoTextLabelData$no.x, (_panoTextLabelData$no2 = panoTextLabelData.normal) === null || _panoTextLabelData$no2 === void 0 ? void 0 : _panoTextLabelData$no2.y, (_panoTextLabelData$no3 = panoTextLabelData.normal) === null || _panoTextLabelData$no3 === void 0 ? void 0 : _panoTextLabelData$no3.z);
92
83
  // 生成传入的四个点,将文本框最大宽度定在200px,最高高度在30px
93
84
  var wrapperLength = 200;
94
85
  var wrapperWidth = 30;
95
86
  var points = calcPoints(centerPoint, panoTextLabelData.normal && normal, wrapperLength, wrapperWidth);
96
- if (!ref.current) ref.current = (0, _CSS3DRenderPlugin.CSS3DRenderPlugin)(five);
87
+ if (!ref.current) ref.current = CSS3DRenderPlugin(five);
97
88
  var container = ref.current.create3DDomContainer(points);
98
89
  var css3DObject = container === null || container === void 0 ? void 0 : container.css3DObject;
99
90
  // 将获取的mesh进行旋转操作,根据欧拉角去进行mesh的变换
100
91
  if (data.quaternion) {
101
- var quaternion = new _three.Quaternion(data.quaternion.x, data.quaternion.y, data.quaternion.z, data.quaternion.w);
92
+ var quaternion = new Quaternion(data.quaternion.x, data.quaternion.y, data.quaternion.z, data.quaternion.w);
102
93
  css3DObject === null || css3DObject === void 0 ? void 0 : css3DObject.quaternion.copy(quaternion);
103
94
  }
104
- if (container !== null && container !== void 0 && container.container) _reactDom["default"].render(/*#__PURE__*/React.createElement("div", {
95
+ if (container !== null && container !== void 0 && container.container) ReactDOM.render(/*#__PURE__*/React.createElement("div", {
105
96
  className: "PanoTextLabel PanoTextLabel--notHidden"
106
97
  }, /*#__PURE__*/React.createElement("div", {
107
98
  className: "PanoTextLabel-wrapper"
@@ -116,9 +107,9 @@ function PanoTextLabel() {
116
107
  (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.disposeAll();
117
108
  }, end - start);
118
109
  };
119
- controller.on(_VreoUnit.VreoKeyframeEnum.PanoTextLabel, callback);
110
+ controller.on(VreoKeyframeEnum.PanoTextLabel, callback);
120
111
  return function () {
121
- controller.off(_VreoUnit.VreoKeyframeEnum.PanoTextLabel, callback);
112
+ controller.off(VreoKeyframeEnum.PanoTextLabel, callback);
122
113
  if (timeoutRef.current) {
123
114
  clearTimeout(timeoutRef.current);
124
115
  }
@@ -1,29 +1,20 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.Prompter = Prompter;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var React = _interopRequireWildcard(require("react"));
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var _hooks = require("../../../hooks");
14
- var _VreoUnit = require("../../../../typings/VreoUnit");
15
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
16
- function Prompter() {
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import * as React from 'react';
4
+ import classNames from 'classnames';
5
+ import { useController } from "../../../hooks.js";
6
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
7
+ export function Prompter() {
17
8
  var _React$useState = React.useState(''),
18
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
9
+ _React$useState2 = _slicedToArray(_React$useState, 2),
19
10
  text = _React$useState2[0],
20
11
  setText = _React$useState2[1];
21
12
  var _React$useState3 = React.useState(true),
22
- _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
13
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
23
14
  hidden = _React$useState4[0],
24
15
  setHidden = _React$useState4[1];
25
16
  var ref = React.useRef(null);
26
- var controller = (0, _hooks.useController)();
17
+ var controller = useController();
27
18
  React.useEffect(function () {
28
19
  var _controller$configs;
29
20
  if (((_controller$configs = controller.configs) === null || _controller$configs === void 0 ? void 0 : _controller$configs.keyframeMap.Prompter) === false) {
@@ -48,13 +39,13 @@ function Prompter() {
48
39
  ref.current = null;
49
40
  }, end - start);
50
41
  };
51
- controller.on(_VreoUnit.VreoKeyframeEnum.Prompter, callback);
42
+ controller.on(VreoKeyframeEnum.Prompter, callback);
52
43
  return function () {
53
- controller.off(_VreoUnit.VreoKeyframeEnum.Prompter, callback);
44
+ controller.off(VreoKeyframeEnum.Prompter, callback);
54
45
  };
55
46
  }, [controller]);
56
47
  return /*#__PURE__*/React.createElement("div", {
57
- className: (0, _classnames["default"])('vreo-prompter', (0, _defineProperty2["default"])({
48
+ className: classNames('vreo-prompter', _defineProperty({
58
49
  'vreo-prompter--hidden': hidden
59
50
  }, "vreo-prompter-left--".concat(controller.agentType), true))
60
51
  }, /*#__PURE__*/React.createElement("div", {
@@ -1,18 +1,10 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.UpdateVRPanorama = UpdateVRPanorama;
8
- var React = _interopRequireWildcard(require("react"));
9
- var _five = require("@realsee/five");
10
- var _hooks = require("../../../hooks");
11
- var _VreoUnit = require("../../../../typings/VreoUnit");
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
13
- function UpdateVRPanorama() {
14
- var controller = (0, _hooks.useController)();
15
- var five = (0, _hooks.useFiveInstance)();
1
+ import * as React from 'react';
2
+ import { parseWork } from '@realsee/five';
3
+ import { useController, useFiveInstance } from "../../../hooks.js";
4
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
5
+ export function UpdateVRPanorama() {
6
+ var controller = useController();
7
+ var five = useFiveInstance();
16
8
  var deafultWorkRef = React.useRef(null);
17
9
  var updateWorkRef = React.useRef(null);
18
10
 
@@ -21,7 +13,7 @@ function UpdateVRPanorama() {
21
13
  // 先清理掉 之前的 VR 数据备份
22
14
  updateWorkRef.current = null;
23
15
  if (deafultWorkRef.current) {
24
- var work = (0, _five.parseWork)(deafultWorkRef.current);
16
+ var work = parseWork(deafultWorkRef.current);
25
17
  five.load(work);
26
18
  }
27
19
  }, []);
@@ -29,7 +21,7 @@ function UpdateVRPanorama() {
29
21
  // 暂停时: 恢复默认 VR
30
22
  var pausedCallback = React.useCallback(function () {
31
23
  if (deafultWorkRef.current) {
32
- var work = (0, _five.parseWork)(deafultWorkRef.current);
24
+ var work = parseWork(deafultWorkRef.current);
33
25
  Object.assign(window, {
34
26
  $rawWork: work
35
27
  });
@@ -54,7 +46,7 @@ function UpdateVRPanorama() {
54
46
 
55
47
  // 如果数据中有新 work 数据,则直接载入
56
48
  if (data.work) {
57
- updateWorkRef.current = (0, _five.parseWork)(data.work);
49
+ updateWorkRef.current = parseWork(data.work);
58
50
  five.load(updateWorkRef.current);
59
51
  return;
60
52
  }
@@ -76,15 +68,15 @@ function UpdateVRPanorama() {
76
68
  Object.assign(window, {
77
69
  $work1: JSON.parse(lastRawWork),
78
70
  $work2: data,
79
- parseWork: _five.parseWork
71
+ parseWork: parseWork
80
72
  });
81
- updateWorkRef.current = (0, _five.parseWork)([lastRawWork, data]);
73
+ updateWorkRef.current = parseWork([lastRawWork, data]);
82
74
  five.load(updateWorkRef.current);
83
75
  };
84
- controller.on(_VreoUnit.VreoKeyframeEnum.UpdateVRPanorama, callback);
76
+ controller.on(VreoKeyframeEnum.UpdateVRPanorama, callback);
85
77
 
86
78
  // 离开 将之前的内容清空
87
- controller.on(_VreoUnit.VreoKeyframeEnum.Exit, restoreCallback);
79
+ controller.on(VreoKeyframeEnum.Exit, restoreCallback);
88
80
 
89
81
  // 新载入数据 将之前的内容清空
90
82
  controller.on('loaded', restoreCallback);
@@ -95,8 +87,8 @@ function UpdateVRPanorama() {
95
87
  controller.on('playing', playingCallback);
96
88
  return function () {
97
89
  // 清理事件监听
98
- controller.off(_VreoUnit.VreoKeyframeEnum.UpdateVRPanorama, callback);
99
- controller.off(_VreoUnit.VreoKeyframeEnum.Exit, restoreCallback);
90
+ controller.off(VreoKeyframeEnum.UpdateVRPanorama, callback);
91
+ controller.off(VreoKeyframeEnum.Exit, restoreCallback);
100
92
  controller.off('loaded', restoreCallback);
101
93
  controller.off('paused', pausedCallback);
102
94
  controller.off('playing', playingCallback);
@@ -1,21 +1,11 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.VideoEffect = VideoEffect;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var React = _interopRequireWildcard(require("react"));
14
- var _VreoUnit = require("../../../../typings/VreoUnit");
15
- var _hooks = require("../../../hooks");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ import classNames from 'classnames';
5
+ import * as React from 'react';
17
6
  // import { Preloader } from '../../../../shared-utils/Preloader'
18
-
7
+ import { VreoKeyframeEnum } from "../../../../typings/VreoUnit.js";
8
+ import { useController, useFiveInstance } from "../../../hooks.js";
19
9
  var inlinePlay = function inlinePlay(videoInstance) {
20
10
  if (!videoInstance) return;
21
11
  var canplaythrough = function canplaythrough() {
@@ -28,28 +18,28 @@ var inlinePlay = function inlinePlay(videoInstance) {
28
18
  videoInstance.load();
29
19
  };
30
20
 
31
- // const emptyVideo = '//vrlab-static.ljcdn.com/release/web/leisure.69fd3522.mov'
21
+ // const emptyVideo = '//vr-static.realsee-cdn.cn/release/web/leisure.69fd3522.mov'
32
22
  var PI = Math.PI;
33
23
  var PI_2 = PI * 2;
34
- function VideoEffect() {
24
+ export function VideoEffect() {
35
25
  var ref = React.useRef(null);
36
26
  var videoRef = React.useRef();
37
- var controller = (0, _hooks.useController)();
27
+ var controller = useController();
38
28
  var timeoutRef = React.useRef();
39
29
  var _React$useState = React.useState(false),
40
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
30
+ _React$useState2 = _slicedToArray(_React$useState, 2),
41
31
  visible = _React$useState2[0],
42
32
  setVisible = _React$useState2[1];
43
- var five = (0, _hooks.useFiveInstance)();
33
+ var five = useFiveInstance();
44
34
  var setBlobSrc = function setBlobSrc(blob) {
45
35
  if (!videoRef.current) return;
46
36
  videoRef.current.src = blob;
47
37
  };
48
38
  React.useEffect(function () {
49
39
  var callback = /*#__PURE__*/function () {
50
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(keyframe) {
40
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(keyframe) {
51
41
  var start, end, _ref2, videoSrc, fov, direction, panoIndex, vector, _ref3, _ref4, longitude, latitude;
52
- return _regenerator["default"].wrap(function _callee$(_context) {
42
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
53
43
  while (1) {
54
44
  switch (_context.prev = _context.next) {
55
45
  case 0:
@@ -66,7 +56,7 @@ function VideoEffect() {
66
56
  longitude = (longitude % PI_2 + PI_2) % PI_2;
67
57
  var latitude = -Math.asin(direction.y / 1);
68
58
  return [longitude, latitude];
69
- }(), _ref4 = (0, _slicedToArray2["default"])(_ref3, 2), longitude = _ref4[0], latitude = _ref4[1];
59
+ }(), _ref4 = _slicedToArray(_ref3, 2), longitude = _ref4[0], latitude = _ref4[1];
70
60
  five.setState({
71
61
  fov: fov,
72
62
  panoIndex: panoIndex,
@@ -93,7 +83,7 @@ function VideoEffect() {
93
83
  return _ref.apply(this, arguments);
94
84
  };
95
85
  }();
96
- controller.on(_VreoUnit.VreoKeyframeEnum.VideoEffect, callback);
86
+ controller.on(VreoKeyframeEnum.VideoEffect, callback);
97
87
  var destroy = function destroy() {
98
88
  var _videoRef$current2;
99
89
  if (timeoutRef.current) {
@@ -110,7 +100,7 @@ function VideoEffect() {
110
100
  return destroy();
111
101
  });
112
102
  return function () {
113
- controller.off(_VreoUnit.VreoKeyframeEnum.VideoEffect, callback);
103
+ controller.off(VreoKeyframeEnum.VideoEffect, callback);
114
104
  if (timeoutRef.current) {
115
105
  clearTimeout(timeoutRef.current);
116
106
  }
@@ -141,7 +131,7 @@ function VideoEffect() {
141
131
  }, []);
142
132
  return /*#__PURE__*/React.createElement("div", {
143
133
  ref: ref,
144
- className: (0, _classnames["default"])('VideoEffect', {
134
+ className: classNames('VideoEffect', {
145
135
  'VideoEffect--visible': visible
146
136
  })
147
137
  });
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = centerPoint;
7
- var _three = require("three");
8
- function centerPoint(point1, point2) {
9
- return new _three.Vector3((point1.x + point2.x) / 2, (point1.y + point2.y) / 2, (point1.z + point2.z) / 2);
1
+ import { Vector3 } from 'three';
2
+ export default function centerPoint(point1, point2) {
3
+ return new Vector3((point1.x + point2.x) / 2, (point1.y + point2.y) / 2, (point1.z + point2.z) / 2);
10
4
  }
@@ -1,13 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = createResizeObserver;
7
1
  /**
8
2
  * @description: 简陋的 ResizeObserver polyfill
9
3
  */
10
- function createResizeObserver(func, element) {
4
+ export default function createResizeObserver(func, element) {
11
5
  if (!element || typeof ResizeObserver === 'undefined') {
12
6
  return {
13
7
  observe: function observe() {
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = evenNumber;
7
- function evenNumber(num, config) {
1
+ export default function evenNumber(num, config) {
8
2
  var roundNum = Math.round(num);
9
3
  return roundNum % 2 === 0 ? roundNum : roundNum + Number(config !== null && config !== void 0 && config.smaller ? -1 : 1);
10
4
  }
@@ -12,16 +12,11 @@ export interface Vector3Position {
12
12
  export type CSS3DRenderPluginParameterType = undefined;
13
13
  export interface CSS3DRenderPluginExportType {
14
14
  /**
15
- * @description: 根据传入的四个点位创建一个3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
16
- * @param {Five} five
17
- * @param {Vector3[] | Vector3Position[]} points: 矩形四个点坐标
18
- * @param {number} config.ratio: 1px对应多少米,默认为 0.002,即1px对应2mm
19
- * @param {number} config.dpr: dpr, 默认为1
20
- * @param {HTMLElement} config.container: HTMLElement
21
- * @param {number} config.autoRender: 默认为true,如果需要手动render则传false
22
- * @param {'front' | 'behind'} config.mode: 两种模式
23
- * @param {HTMLElement} config.behindFiveContainer: 如果config.mode为'behind',需要传入容器,并确保此容器位five下方,且中间没有其他dom元素遮挡
24
- * @return {{ container: HTMLElement; dispose: () => void }}: container: dom容器, dispose: 清理函数
15
+ * 根据传入的四个点位创建一个3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
16
+ *
17
+ * @param points - 矩形四个点坐标
18
+ * @param config - 配置项,包含ratio(像素比例)、dpr(设备像素比)、container(容器)、autoRender(自动渲染)、mode(渲染模式)等
19
+ * @returns 返回包含容器、销毁函数、CSS3D对象和可选渲染函数的对象
25
20
  */
26
21
  create3DDomContainer: (points: Vector3[] | Vector3Position[], config?: {
27
22
  ratio?: number;
@@ -41,8 +36,7 @@ export interface CSS3DRenderPluginExportType {
41
36
  render?: () => void;
42
37
  } | void;
43
38
  /**
44
- * @description: 销毁所有的渲染内容
45
- * @return {void}
39
+ * 销毁所有的渲染内容
46
40
  */
47
41
  disposeAll: () => void;
48
42
  }
@@ -1,30 +1,20 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.CSS3DRenderPlugin = void 0;
9
- var _three = _interopRequireWildcard(require("three"));
10
- var THREE = _three;
11
- var _CSS3DRenderer = require("three/examples/jsm/renderers/CSS3DRenderer");
12
- var _evenNumber = _interopRequireDefault(require("./evenNumber"));
13
- var _centerPoint = _interopRequireDefault(require("./centerPoint"));
14
- var _transformPositionToVector = _interopRequireDefault(require("./transformPositionToVector3"));
15
- var _createResizeObserver = _interopRequireDefault(require("./createResizeObserver"));
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
1
+ import * as THREE from 'three';
2
+ import { Scene, Vector3 } from 'three';
3
+ import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
+ import evenNumber from "./evenNumber.js";
5
+ import centerPoint from "./centerPoint.js";
6
+ import transformPositionToVector3 from "./transformPositionToVector3.js";
7
+ import createResizeObserver from "./createResizeObserver.js";
17
8
  /**
18
9
  * 三维向量
19
10
  */
20
-
21
11
  /**
22
12
  * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
23
13
  * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
24
14
  *
25
15
  * @returns
26
16
  */
27
- var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
17
+ export var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
28
18
  var state = {
29
19
  disposeCallbacks: []
30
20
  };
@@ -34,7 +24,7 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
34
24
  params[_key] = arguments[_key];
35
25
  }
36
26
  var points = params[0].map(function (point) {
37
- return point instanceof _three.Vector3 ? point : (0, _transformPositionToVector["default"])(point);
27
+ return point instanceof Vector3 ? point : transformPositionToVector3(point);
38
28
  });
39
29
  var config = params[1];
40
30
  if ((points === null || points === void 0 ? void 0 : points.length) < 4) return console.error('points must be equal or greater than than 4');
@@ -70,14 +60,14 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
70
60
  var requestAnimationFrameId = null;
71
61
  if (behindModeUnInited) {
72
62
  state.behindMode = {
73
- scene: new _three.Scene(),
74
- css3DRenderer: new _CSS3DRenderer.CSS3DRenderer()
63
+ scene: new Scene(),
64
+ css3DRenderer: new CSS3DRenderer()
75
65
  };
76
66
  }
77
67
  if (frontModeUnInited) {
78
68
  state.frontMode = {
79
- scene: new _three.Scene(),
80
- css3DRenderer: new _CSS3DRenderer.CSS3DRenderer()
69
+ scene: new Scene(),
70
+ css3DRenderer: new CSS3DRenderer()
81
71
  };
82
72
  }
83
73
  var _ref = mode === 'behind' ? state.behindMode : state.frontMode,
@@ -88,16 +78,16 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
88
78
  var css3DRendererSetSize = function css3DRendererSetSize() {
89
79
  // 这里evenNumber策略是遇到奇数会加1,不知道为啥会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
90
80
  // 为了规避上面这种情况,evenNumber设置了一个参数,遇到奇数可选择减一
91
- var rendererWidth = (0, _evenNumber["default"])(fiveElement.clientWidth, {
81
+ var rendererWidth = evenNumber(fiveElement.clientWidth, {
92
82
  smaller: true
93
83
  });
94
- var rendererHeight = (0, _evenNumber["default"])(fiveElement.clientHeight, {
84
+ var rendererHeight = evenNumber(fiveElement.clientHeight, {
95
85
  smaller: true
96
86
  });
97
87
  css3DRenderer.setSize(rendererWidth, rendererHeight);
98
88
  };
99
89
  css3DRendererSetSize();
100
- resizeObserver = (0, _createResizeObserver["default"])(css3DRendererSetSize, fiveElement);
90
+ resizeObserver = createResizeObserver(css3DRendererSetSize, fiveElement);
101
91
  css3DRenderer.domElement.style.position = 'absolute';
102
92
  css3DRenderer.domElement.style.top = '0';
103
93
  css3DRenderer.domElement.style.userSelect = 'none';
@@ -176,21 +166,21 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
176
166
  mode = config.mode;
177
167
  var planeWidth = points[0].distanceTo(points[1]);
178
168
  var planeHeight = points[1].distanceTo(points[2]);
179
- var domWidthPx = (0, _evenNumber["default"])(planeWidth / ratio * dpr);
180
- var domHeightPx = (0, _evenNumber["default"])(planeHeight / ratio * dpr);
181
- var css3DObject = new _CSS3DRenderer.CSS3DObject(element);
169
+ var domWidthPx = evenNumber(planeWidth / ratio * dpr);
170
+ var domHeightPx = evenNumber(planeHeight / ratio * dpr);
171
+ var css3DObject = new CSS3DObject(element);
182
172
  css3DObject.scale.set(ratio, ratio, ratio);
183
173
  element.style.width = domWidthPx + 'px';
184
174
  element.style.height = domHeightPx + 'px';
185
175
  element.style.pointerEvents = 'none';
186
- var centerPosition = (0, _centerPoint["default"])(points[0], points[2]);
176
+ var centerPosition = centerPoint(points[0], points[2]);
187
177
  var vector01 = points[1].clone().sub(points[0]); // 点0 -> 点1 的向量
188
178
  var vector12 = points[2].clone().sub(points[1]); // 点1 -> 点2 的向量
189
179
 
190
180
  // 旋转
191
- var rotateXAngle = new _three.Vector3(0, 1, 0).angleTo(new _three.Vector3(0, vector12.y, vector12.z));
192
- var rotateYAngle = new _three.Vector3(1, 0, 0).angleTo(new _three.Vector3(vector01.x, 0, vector01.z));
193
- var rotateZAngle = vector01.angleTo(new _three.Vector3(vector01.x, 0, vector01.z));
181
+ var rotateXAngle = new Vector3(0, 1, 0).angleTo(new Vector3(0, vector12.y, vector12.z));
182
+ var rotateYAngle = new Vector3(1, 0, 0).angleTo(new Vector3(vector01.x, 0, vector01.z));
183
+ var rotateZAngle = vector01.angleTo(new Vector3(vector01.x, 0, vector01.z));
194
184
  /**
195
185
  * [0,1,0] => [0,0,1] 为rolate Worldx正方向
196
186
  * [0,0,1] => [0,1,0] 为rolate Worldy正方向
@@ -199,9 +189,9 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
199
189
  var rotateX = (vector12.z > 0 ? -1 : 1) * rotateXAngle;
200
190
  var rotateY = (vector01.z < 0 ? 1 : -1) * rotateYAngle;
201
191
  var rotateZ = (vector01.x > 0 && vector01.y < 0 || vector01.x < 0 && vector01.y > 0 ? -1 : 1) * rotateZAngle;
202
- css3DObject.rotateOnWorldAxis(new _three.Vector3(1, 0, 0), rotateX); // x
203
- css3DObject.rotateOnWorldAxis(new _three.Vector3(0, 1, 0), rotateY); // y
204
- css3DObject.rotateOnWorldAxis(new _three.Vector3(0, 0, 1), rotateZ); // z
192
+ css3DObject.rotateOnWorldAxis(new Vector3(1, 0, 0), rotateX); // x
193
+ css3DObject.rotateOnWorldAxis(new Vector3(0, 1, 0), rotateY); // y
194
+ css3DObject.rotateOnWorldAxis(new Vector3(0, 0, 1), rotateZ); // z
205
195
 
206
196
  css3DObject.position.set(centerPosition.x, centerPosition.y, centerPosition.z);
207
197
  var mesh;
@@ -233,4 +223,4 @@ var CSS3DRenderPlugin = exports.CSS3DRenderPlugin = function CSS3DRenderPlugin(f
233
223
  }
234
224
  };
235
225
  };
236
- var _default = exports["default"] = CSS3DRenderPlugin;
226
+ export default CSS3DRenderPlugin;
@@ -1,14 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _three = require("three");
1
+ import { Vector3 } from 'three';
8
2
  var transformPositionToVector3 = function transformPositionToVector3(_ref) {
9
3
  var x = _ref.x,
10
4
  y = _ref.y,
11
5
  z = _ref.z;
12
- return new _three.Vector3(x, y, z);
6
+ return new Vector3(x, y, z);
13
7
  };
14
- var _default = exports["default"] = transformPositionToVector3;
8
+ export default transformPositionToVector3;