@realsee/vreo 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (48) hide show
  1. package/lib/PlayController/createHTMLAudioElement.js +6 -11
  2. package/lib/PlayController/index.js +15 -80
  3. package/lib/Player/App.js +0 -24
  4. package/lib/Player/Controller.js +17 -93
  5. package/lib/Player/custom/SpatialScenePanel/index.js +42 -68
  6. package/lib/Player/hooks.js +0 -10
  7. package/lib/Player/index.js +24 -84
  8. package/lib/Player/modules/Drawer/index.js +0 -17
  9. package/lib/Player/modules/PopUp/index.js +0 -10
  10. package/lib/Player/modules/ResizeObserver/index.js +0 -8
  11. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +17 -111
  12. package/lib/Player/modules/VideoAgent/VideoAgentScene.js +2 -24
  13. package/lib/Player/modules/VideoAgent/index.js +0 -17
  14. package/lib/Player/modules/Wave/index.js +0 -11
  15. package/lib/Player/modules/keyframes/BgMusic/index.js +2 -15
  16. package/lib/Player/modules/keyframes/CameraMovement/index.js +3 -27
  17. package/lib/Player/modules/keyframes/InfoPanel/index.js +8 -25
  18. package/lib/Player/modules/keyframes/ModelVideo/index.js +3 -29
  19. package/lib/Player/modules/keyframes/PanoEffect/index.js +15 -43
  20. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +0 -7
  21. package/lib/Player/modules/keyframes/PanoTag/index.js +6 -23
  22. package/lib/Player/modules/keyframes/PanoTextLabel/index.js +22 -47
  23. package/lib/Player/modules/keyframes/Prompter/index.js +10 -32
  24. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +18 -25
  25. package/lib/Player/modules/keyframes/VideoEffect/index.js +12 -47
  26. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +0 -2
  27. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +0 -1
  28. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +0 -1
  29. package/lib/fivePlugins/CSS3DRenderPlugin/index.js +19 -60
  30. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +2 -5
  31. package/lib/fivePlugins/CameraMovementPlugin/index.js +28 -75
  32. package/lib/fivePlugins/CameraMovementPlugin/typings.js +0 -4
  33. package/lib/fivePlugins/ModelTVVideoPlugin/index.js +11 -60
  34. package/lib/index.js +0 -1
  35. package/lib/react/index.js +7 -34
  36. package/lib/shared-utils/AduioLike.js +5 -39
  37. package/lib/shared-utils/Preloader.js +0 -7
  38. package/lib/shared-utils/addResizeListener.js +0 -5
  39. package/lib/shared-utils/animationFrame/BetterTween.js +2 -38
  40. package/lib/shared-utils/animationFrame/index.js +2 -10
  41. package/lib/shared-utils/animationFrame/tween.js +2 -15
  42. package/lib/shared-utils/createTransMatrix.js +2 -17
  43. package/lib/shared-utils/getFileExpandedName.js +0 -1
  44. package/lib/shared-utils/getMediaInfo.js +0 -9
  45. package/lib/shared-utils/setElementDataset.js +0 -2
  46. package/lib/typings/VreoUnit.js +0 -15
  47. package/package.json +2 -2
  48. package/resources/Player/modules/keyframes/PanoTag/index.tsx +1 -2
@@ -1,85 +1,60 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.VideoEffect = VideoEffect;
9
-
10
8
  var _classnames = _interopRequireDefault(require("classnames"));
11
-
12
9
  var React = _interopRequireWildcard(require("react"));
13
-
14
10
  var _VreoUnit = require("../../../../typings/VreoUnit");
15
-
16
11
  var _hooks = require("../../../hooks");
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
-
15
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
24
16
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
25
-
26
17
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
27
-
28
18
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
-
30
19
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
-
32
20
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
33
-
34
21
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
35
-
36
22
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
37
-
38
23
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
-
40
24
  var inlinePlay = function inlinePlay(videoInstance) {
41
25
  if (!videoInstance) return;
42
-
43
26
  var canplaythrough = function canplaythrough() {
44
27
  videoInstance.removeEventListener('canplaythrough', canplaythrough);
45
-
46
28
  try {
47
29
  videoInstance.play();
48
30
  } catch (error) {}
49
31
  };
50
-
51
32
  videoInstance.addEventListener('canplaythrough', canplaythrough);
52
33
  videoInstance.load();
53
- }; // const emptyVideo = '//vrlab-static.ljcdn.com/release/web/leisure.69fd3522.mov'
54
-
34
+ };
55
35
 
36
+ // const emptyVideo = '//vrlab-static.ljcdn.com/release/web/leisure.69fd3522.mov'
56
37
  var PI = Math.PI;
57
38
  var PI_2 = PI * 2;
58
-
59
39
  function VideoEffect() {
60
40
  var ref = React.useRef(null);
61
41
  var videoRef = React.useRef();
62
42
  var controller = (0, _hooks.useController)();
63
43
  var timeoutRef = React.useRef();
64
-
65
44
  var _React$useState = React.useState(false),
66
- _React$useState2 = _slicedToArray(_React$useState, 2),
67
- visible = _React$useState2[0],
68
- setVisible = _React$useState2[1];
69
-
45
+ _React$useState2 = _slicedToArray(_React$useState, 2),
46
+ visible = _React$useState2[0],
47
+ setVisible = _React$useState2[1];
70
48
  var five = (0, _hooks.useFiveInstance)();
71
-
72
49
  var setBlobSrc = function setBlobSrc(blob) {
73
50
  if (!videoRef.current) return;
74
51
  videoRef.current.src = blob;
75
52
  };
76
-
77
53
  React.useEffect(function () {
78
54
  var callback = /*#__PURE__*/function () {
79
- var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(keyframe) {
55
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(keyframe) {
80
56
  var start, end, _ref2, videoSrc, fov, direction, panoIndex, vector, _ref3, _ref4, longitude, latitude;
81
-
82
- return regeneratorRuntime.wrap(function _callee$(_context) {
57
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
83
58
  while (1) {
84
59
  switch (_context.prev = _context.next) {
85
60
  case 0:
@@ -89,11 +64,9 @@ function VideoEffect() {
89
64
  if (vector) {
90
65
  return [vector.longitude, vector.latitude];
91
66
  }
92
-
93
67
  if (!direction) {
94
68
  return [0, 0];
95
69
  }
96
-
97
70
  var longitude = -Math.atan2(direction.x, -direction.z);
98
71
  longitude = (longitude % PI_2 + PI_2) % PI_2;
99
72
  var latitude = -Math.asin(direction.y / 1);
@@ -110,17 +83,13 @@ function VideoEffect() {
110
83
  setVisible(true);
111
84
  timeoutRef.current = setTimeout(function () {
112
85
  var _videoRef$current;
113
-
114
86
  if (!((_videoRef$current = videoRef.current) !== null && _videoRef$current !== void 0 && _videoRef$current.paused)) {
115
87
  var _videoRef$current2;
116
-
117
88
  (_videoRef$current2 = videoRef.current) === null || _videoRef$current2 === void 0 ? void 0 : _videoRef$current2.pause();
118
89
  }
119
-
120
90
  setVisible(false);
121
91
  setBlobSrc('');
122
92
  }, end - start);
123
-
124
93
  case 8:
125
94
  case "end":
126
95
  return _context.stop();
@@ -128,16 +97,13 @@ function VideoEffect() {
128
97
  }
129
98
  }, _callee);
130
99
  }));
131
-
132
100
  return function callback(_x) {
133
101
  return _ref.apply(this, arguments);
134
102
  };
135
103
  }();
136
-
137
104
  controller.on(_VreoUnit.VreoKeyframeEnum.VideoEffect, callback);
138
105
  return function () {
139
106
  controller.off(_VreoUnit.VreoKeyframeEnum.VideoEffect, callback);
140
-
141
107
  if (timeoutRef.current) {
142
108
  clearTimeout(timeoutRef.current);
143
109
  }
@@ -145,10 +111,9 @@ function VideoEffect() {
145
111
  }, [controller]);
146
112
  React.useEffect(function () {
147
113
  var _controller$configs, _controller$configs$v;
148
-
149
114
  if (!ref.current) return;
150
- var video = ((_controller$configs = controller.configs) === null || _controller$configs === void 0 ? void 0 : (_controller$configs$v = _controller$configs.videos) === null || _controller$configs$v === void 0 ? void 0 : _controller$configs$v.videoEffect) || document.createElement('video'); // <video playsInline key="VideoEffect-video" className="VideoEffect-video" src={blobSrc} />
151
-
115
+ var video = ((_controller$configs = controller.configs) === null || _controller$configs === void 0 ? void 0 : (_controller$configs$v = _controller$configs.videos) === null || _controller$configs$v === void 0 ? void 0 : _controller$configs$v.videoEffect) || document.createElement('video');
116
+ // <video playsInline key="VideoEffect-video" className="VideoEffect-video" src={blobSrc} />
152
117
  video.setAttribute('playsinline', 'true');
153
118
  video.setAttribute('webkit-playsinline', 'true');
154
119
  video.setAttribute('autoplay', 'true');
@@ -158,10 +123,10 @@ function VideoEffect() {
158
123
  ref.current.append(videoRef.current);
159
124
  document.addEventListener('WeixinJSBridgeReady', function () {
160
125
  var _videoRef$current3;
161
-
162
126
  (_videoRef$current3 = videoRef.current) === null || _videoRef$current3 === void 0 ? void 0 : _videoRef$current3.play();
163
127
  }, false);
164
- if (!ref.current) return; // const asyncfunc = async () => {
128
+ if (!ref.current) return;
129
+ // const asyncfunc = async () => {
165
130
  // setBlobSrc(await URL.createObjectURL(await Preloader.blob(emptyVideo)))
166
131
  // inlinePlay(videoRef.current)
167
132
  // }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = centerPoint;
7
-
8
7
  var _three = require("three");
9
-
10
8
  function centerPoint(point1, point2) {
11
9
  return new _three.Vector3((point1.x + point2.x) / 2, (point1.y + point2.y) / 2, (point1.z + point2.z) / 2);
12
10
  }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = createResizeObserver;
7
-
8
7
  /**
9
8
  * @description: 简陋的 ResizeObserver polyfill
10
9
  */
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = evenNumber;
7
-
8
7
  function evenNumber(num, config) {
9
8
  var roundNum = Math.round(num);
10
9
  return roundNum % 2 === 0 ? roundNum : roundNum + Number(config !== null && config !== void 0 && config.smaller ? -1 : 1);
@@ -1,30 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.CSS3DRenderPlugin = void 0;
9
-
10
8
  var THREE = _interopRequireWildcard(require("three"));
11
-
12
9
  var _CSS3DRenderer = require("three/examples/jsm/renderers/CSS3DRenderer");
13
-
14
10
  var _evenNumber = _interopRequireDefault(require("./evenNumber"));
15
-
16
11
  var _centerPoint = _interopRequireDefault(require("./centerPoint"));
17
-
18
12
  var _transformPositionToVector = _interopRequireDefault(require("./transformPositionToVector3"));
19
-
20
13
  var _createResizeObserver = _interopRequireDefault(require("./createResizeObserver"));
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  /**
29
18
  * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
30
19
  * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
@@ -35,14 +24,11 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
35
24
  var state = {
36
25
  disposeCallbacks: []
37
26
  };
38
-
39
27
  var create3DDomContainer = function create3DDomContainer() {
40
28
  var _five$model, _five$model2, _config$autoRender;
41
-
42
29
  for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
43
30
  params[_key] = arguments[_key];
44
31
  }
45
-
46
32
  var points = params[0].map(function (point) {
47
33
  return point instanceof THREE.Vector3 ? point : (0, _transformPositionToVector["default"])(point);
48
34
  });
@@ -59,43 +45,40 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
59
45
  var autoRender = (_config$autoRender = config === null || config === void 0 ? void 0 : config.autoRender) !== null && _config$autoRender !== void 0 ? _config$autoRender : true;
60
46
  var behindFiveContainer = (config === null || config === void 0 ? void 0 : config.behindFiveContainer) || fiveElement.parentElement || document.body;
61
47
  var container = (config === null || config === void 0 ? void 0 : config.container) || document.createElement('div');
62
- container.classList.add('__Vreo-plugin--CSS3DRenderPlugin'); // 获取css3DObject, 如果mode为behind的话,一起获取mesh
48
+ container.classList.add('__Vreo-plugin--CSS3DRenderPlugin');
63
49
 
50
+ // 获取css3DObject, 如果mode为behind的话,一起获取mesh
64
51
  var _createObject = createObject(points, {
65
- ratio: ratio,
66
- dpr: dpr,
67
- container: container,
68
- mode: mode
69
- }),
70
- css3DObject = _createObject.css3DObject,
71
- mesh = _createObject.mesh; // ======= INIT START =======
72
-
73
-
52
+ ratio: ratio,
53
+ dpr: dpr,
54
+ container: container,
55
+ mode: mode
56
+ }),
57
+ css3DObject = _createObject.css3DObject,
58
+ mesh = _createObject.mesh;
59
+
60
+ // ======= INIT START =======
74
61
  var resizeObserver;
75
62
  var frontModeUnInited = mode === 'front' && !state.frontMode;
76
63
  var behindModeUnInited = mode === 'behind' && !state.behindMode;
77
64
  var inited = !(frontModeUnInited || behindModeUnInited);
78
65
  var stopRenderFlag = false;
79
66
  var requestAnimationFrameId = null;
80
-
81
67
  if (behindModeUnInited) {
82
68
  state.behindMode = {
83
69
  scene: new THREE.Scene(),
84
70
  css3DRenderer: new _CSS3DRenderer.CSS3DRenderer()
85
71
  };
86
72
  }
87
-
88
73
  if (frontModeUnInited) {
89
74
  state.frontMode = {
90
75
  scene: new THREE.Scene(),
91
76
  css3DRenderer: new _CSS3DRenderer.CSS3DRenderer()
92
77
  };
93
78
  }
94
-
95
79
  var _ref = mode === 'behind' ? state.behindMode : state.frontMode,
96
- scene = _ref.scene,
97
- css3DRenderer = _ref.css3DRenderer;
98
-
80
+ scene = _ref.scene,
81
+ css3DRenderer = _ref.css3DRenderer;
99
82
  var render = function () {
100
83
  if (!inited) {
101
84
  var css3DRendererSetSize = function css3DRendererSetSize() {
@@ -109,27 +92,22 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
109
92
  });
110
93
  css3DRenderer.setSize(rendererWidth, rendererHeight);
111
94
  };
112
-
113
95
  css3DRendererSetSize();
114
96
  resizeObserver = (0, _createResizeObserver["default"])(css3DRendererSetSize, fiveElement);
115
97
  css3DRenderer.domElement.style.position = 'absolute';
116
98
  css3DRenderer.domElement.style.top = '0';
117
99
  css3DRenderer.domElement.style.userSelect = 'none';
118
100
  css3DRenderer.domElement.style.pointerEvents = 'none';
119
-
120
101
  var renderEveryFrame = function renderEveryFrame() {
121
102
  if (stopRenderFlag) return;
122
103
  requestAnimationFrameId = requestAnimationFrame(renderEveryFrame);
123
104
  css3DRenderer.render(scene, five.camera);
124
105
  };
125
-
126
106
  return function () {
127
107
  var _resizeObserver, _resizeObserver$obser;
128
-
129
108
  scene.add(css3DObject);
130
109
  (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : (_resizeObserver$obser = _resizeObserver.observe) === null || _resizeObserver$obser === void 0 ? void 0 : _resizeObserver$obser.call(_resizeObserver);
131
110
  renderEveryFrame();
132
-
133
111
  if (mode === 'behind' && mesh) {
134
112
  five.scene.add(mesh);
135
113
  disposers.push(function () {
@@ -143,18 +121,15 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
143
121
  };
144
122
  }
145
123
  }();
146
-
147
124
  if (frontModeUnInited) {
148
125
  var wrapper = fiveElement.parentElement || document.body;
149
126
  wrapper.appendChild(css3DRenderer.domElement);
150
127
  }
151
-
152
128
  if (behindModeUnInited) {
153
129
  var _wrapper = behindFiveContainer;
154
-
155
130
  _wrapper.appendChild(css3DRenderer.domElement);
156
- } // ======= INIT END =======
157
-
131
+ }
132
+ // ======= INIT END =======
158
133
 
159
134
  var dispose = function dispose() {
160
135
  stopRenderFlag = true;
@@ -163,32 +138,25 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
163
138
  });
164
139
  scene.remove(css3DObject);
165
140
  if (typeof requestAnimationFrameId === 'number') cancelAnimationFrame(requestAnimationFrameId);
166
-
167
141
  if (scene.children.length === 0) {
168
142
  css3DRenderer.domElement.remove();
169
143
  if (mode === 'front') state.frontMode = undefined;
170
144
  if (mode === 'behind') state.behindMode = undefined;
171
-
172
145
  if (!state.behindMode && !state.frontMode) {
173
146
  var _resizeObserver2, _resizeObserver2$unob;
174
-
175
147
  (_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 ? void 0 : (_resizeObserver2$unob = _resizeObserver2.unobserve) === null || _resizeObserver2$unob === void 0 ? void 0 : _resizeObserver2$unob.call(_resizeObserver2);
176
148
  }
177
149
  }
178
-
179
150
  return true;
180
151
  };
181
-
182
152
  var idx = state.disposeCallbacks.findIndex(function (item) {
183
153
  return item === dispose;
184
154
  });
185
-
186
155
  if (idx !== -1) {
187
156
  state.disposeCallbacks.splice(idx, 1);
188
157
  } else {
189
158
  state.disposeCallbacks.push(dispose);
190
159
  }
191
-
192
160
  if (autoRender) render();
193
161
  return {
194
162
  container: container,
@@ -197,12 +165,11 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
197
165
  render: autoRender ? undefined : render
198
166
  };
199
167
  };
200
-
201
168
  var createObject = function createObject(points, config) {
202
169
  var ratio = config.ratio,
203
- dpr = config.dpr,
204
- element = config.container,
205
- mode = config.mode;
170
+ dpr = config.dpr,
171
+ element = config.container,
172
+ mode = config.mode;
206
173
  var planeWidth = points[0].distanceTo(points[1]);
207
174
  var planeHeight = points[1].distanceTo(points[2]);
208
175
  var domWidthPx = (0, _evenNumber["default"])(planeWidth / ratio * dpr);
@@ -214,10 +181,9 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
214
181
  element.style.pointerEvents = 'none';
215
182
  var centerPosition = (0, _centerPoint["default"])(points[0], points[2]);
216
183
  var vector01 = points[1].clone().sub(points[0]); // 点0 -> 点1 的向量
217
-
218
184
  var vector12 = points[2].clone().sub(points[1]); // 点1 -> 点2 的向量
219
- // 旋转
220
185
 
186
+ // 旋转
221
187
  var rotateXAngle = new THREE.Vector3(0, 1, 0).angleTo(new THREE.Vector3(0, vector12.y, vector12.z));
222
188
  var rotateYAngle = new THREE.Vector3(1, 0, 0).angleTo(new THREE.Vector3(vector01.x, 0, vector01.z));
223
189
  var rotateZAngle = vector01.angleTo(new THREE.Vector3(vector01.x, 0, vector01.z));
@@ -226,19 +192,15 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
226
192
  * [0,0,1] => [0,1,0] 为rolate Worldy正方向
227
193
  * [0,1,1] => [-1,0,0] 为rolate Worldz正方向
228
194
  */
229
-
230
195
  var rotateX = (vector12.z > 0 ? -1 : 1) * rotateXAngle;
231
196
  var rotateY = (vector01.z < 0 ? 1 : -1) * rotateYAngle;
232
197
  var rotateZ = (vector01.x > 0 && vector01.y < 0 || vector01.x < 0 && vector01.y > 0 ? -1 : 1) * rotateZAngle;
233
198
  css3DObject.rotateOnWorldAxis(new THREE.Vector3(1, 0, 0), rotateX); // x
234
-
235
199
  css3DObject.rotateOnWorldAxis(new THREE.Vector3(0, 1, 0), rotateY); // y
236
-
237
200
  css3DObject.rotateOnWorldAxis(new THREE.Vector3(0, 0, 1), rotateZ); // z
238
201
 
239
202
  css3DObject.position.set(centerPosition.x, centerPosition.y, centerPosition.z);
240
203
  var mesh;
241
-
242
204
  if (mode === 'behind') {
243
205
  var material = new THREE.MeshBasicMaterial({
244
206
  opacity: 0,
@@ -252,13 +214,11 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
252
214
  mesh.rotation.copy(css3DObject.rotation);
253
215
  mesh.scale.copy(css3DObject.scale);
254
216
  }
255
-
256
217
  return {
257
218
  css3DObject: css3DObject,
258
219
  mesh: mesh
259
220
  };
260
221
  };
261
-
262
222
  return {
263
223
  create3DDomContainer: create3DDomContainer,
264
224
  disposeAll: function disposeAll() {
@@ -269,7 +229,6 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
269
229
  }
270
230
  };
271
231
  };
272
-
273
232
  exports.CSS3DRenderPlugin = CSS3DRenderPlugin;
274
233
  var _default = CSS3DRenderPlugin;
275
234
  exports["default"] = _default;
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _three = require("three");
9
-
10
8
  var transformPositionToVector3 = function transformPositionToVector3(_ref) {
11
9
  var x = _ref.x,
12
- y = _ref.y,
13
- z = _ref.z;
10
+ y = _ref.y,
11
+ z = _ref.z;
14
12
  return new _three.Vector3(x, y, z);
15
13
  };
16
-
17
14
  var _default = transformPositionToVector3;
18
15
  exports["default"] = _default;