@turbox3d/command-manager
Version:
Large-scale productivity application command management library
800 lines • 405 kB
JavaScript
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["@turbox3d/command-manager"] = factory();
else
root["CommandManager"] = factory();
})(self, () => {
return /******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
/*!*******************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
\*******************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayLikeToArray)\n/* harmony export */ });\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
/*!*****************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
\*****************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithHoles)\n/* harmony export */ });\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js":
/*!********************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
\********************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithoutHoles)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
/*!************************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
\************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _assertThisInitialized)\n/* harmony export */ });\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
/*!*****************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
\*****************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _classCallCheck)\n/* harmony export */ });\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js":
/*!**************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
\**************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createClass)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
/*!*****************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
\*****************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _getPrototypeOf)\n/* harmony export */ });\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js":
/*!***********************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
\***********************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _inherits)\n/* harmony export */ });\n/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\");\n\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t, e);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
/*!******************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
\******************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArray)\n/* harmony export */ });\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArray.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js":
/*!***********************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
\***********************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArrayLimit)\n/* harmony export */ });\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
/*!******************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
\******************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableRest)\n/* harmony export */ });\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js":
/*!********************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
\********************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableSpread)\n/* harmony export */ });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
/*!****************************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
\****************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _possibleConstructorReturn)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n\n\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
/*!*****************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
\*****************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _setPrototypeOf)\n/* harmony export */ });\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
/*!****************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
\****************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _slicedToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\");\n/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\");\n\n\n\n\nfunction _slicedToArray(r, e) {\n return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(r, e) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(r, e) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/slicedToArray.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js":
/*!********************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***!
\********************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toConsumableArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(r) {\n return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
/*!**************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
\**************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toPrimitive)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\nfunction toPrimitive(t, r) {\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPrimitive.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
/*!****************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
\****************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toPropertyKey)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction toPropertyKey(t) {\n var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t, \"string\");\n return \"symbol\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i) ? i : i + \"\";\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js":
/*!*********************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
\*********************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _typeof)\n/* harmony export */ });\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js?");
/***/ }),
/***/ "../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
/*!*****************************************************************************************************************************!*\
!*** ../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
\*****************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _unsupportedIterableToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a) : void 0;\n }\n}\n\n\n//# sourceURL=webpack://CommandManager/../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?");
/***/ }),
/***/ "../event-manager/es/index.js":
/*!************************************!*\
!*** ../event-manager/es/index.js ***!
\************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CoordinateController: () => (/* reexport safe */ _interactive_coordinate__WEBPACK_IMPORTED_MODULE_4__.CoordinateController),\n/* harmony export */ CoordinateType: () => (/* reexport safe */ _interactive_type__WEBPACK_IMPORTED_MODULE_8__.CoordinateType),\n/* harmony export */ EventType: () => (/* reexport safe */ _interactive_listener_type__WEBPACK_IMPORTED_MODULE_5__.EventType),\n/* harmony export */ HotKey: () => (/* reexport safe */ _keyboard__WEBPACK_IMPORTED_MODULE_2__.HotKey),\n/* harmony export */ HotKeyController: () => (/* reexport safe */ _keyboard__WEBPACK_IMPORTED_MODULE_2__.HotKeyController),\n/* harmony export */ HotKeyEventType: () => (/* reexport safe */ _keyboard_listener_util__WEBPACK_IMPORTED_MODULE_9__.HotKeyEventType),\n/* harmony export */ InteractiveController: () => (/* reexport safe */ _interactive_index__WEBPACK_IMPORTED_MODULE_7__.InteractiveController),\n/* harmony export */ InteractiveEvent: () => (/* reexport safe */ _interactive_listener_type__WEBPACK_IMPORTED_MODULE_5__.InteractiveEvent),\n/* harmony export */ InteractiveListener: () => (/* reexport safe */ _interactive_listener_index__WEBPACK_IMPORTED_MODULE_6__.InteractiveListener),\n/* harmony export */ Key: () => (/* reexport safe */ _keyboard_keyCode__WEBPACK_IMPORTED_MODULE_1__.Key),\n/* harmony export */ SceneEvent: () => (/* reexport safe */ _interactive_sceneEvent__WEBPACK_IMPORTED_MODULE_3__.SceneEvent),\n/* harmony export */ TaskPriority: () => (/* reexport safe */ _turbox3d_shared__WEBPACK_IMPORTED_MODULE_0__.TaskPriority),\n/* harmony export */ throttleInAFrame: () => (/* reexport safe */ _turbox3d_shared__WEBPACK_IMPORTED_MODULE_0__.throttleInAFrame)\n/* harmony export */ });\n/* harmony import */ var _turbox3d_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @turbox3d/shared */ \"../shared/es/index.js\");\n/* harmony import */ var _keyboard_keyCode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keyboard/keyCode */ \"../event-manager/es/keyboard/keyCode.js\");\n/* harmony import */ var _keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keyboard */ \"../event-manager/es/keyboard/index.js\");\n/* harmony import */ var _interactive_sceneEvent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./interactive/sceneEvent */ \"../event-manager/es/interactive/sceneEvent.js\");\n/* harmony import */ var _interactive_coordinate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./interactive/coordinate */ \"../event-manager/es/interactive/coordinate.js\");\n/* harmony import */ var _interactive_listener_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./interactive/listener/type */ \"../event-manager/es/interactive/listener/type.js\");\n/* harmony import */ var _interactive_listener_index__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./interactive/listener/index */ \"../event-manager/es/interactive/listener/index.js\");\n/* harmony import */ var _interactive_index__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./interactive/index */ \"../event-manager/es/interactive/index.js\");\n/* harmony import */ var _interactive_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./interactive/type */ \"../event-manager/es/interactive/type.js\");\n/* harmony import */ var _keyboard_listener_util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./keyboard/listener/util */ \"../event-manager/es/keyboard/listener/util.js\");\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/index.js?");
/***/ }),
/***/ "../event-manager/es/interactive/coordinate.js":
/*!*****************************************************!*\
!*** ../event-manager/es/interactive/coordinate.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CoordinateController: () => (/* binding */ CoordinateController)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./type */ \"../event-manager/es/interactive/type.js\");\n\n\n\nvar CoordinateController = /*#__PURE__*/function () {\n function CoordinateController(_ref) {\n var getCanvasRectImpl = _ref.getCanvasRectImpl,\n canvasToSceneImpl = _ref.canvasToSceneImpl,\n sceneToCanvasImpl = _ref.sceneToCanvasImpl;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, CoordinateController);\n this.getCanvasRectImpl = getCanvasRectImpl;\n this.canvasToSceneImpl = canvasToSceneImpl;\n this.sceneToCanvasImpl = sceneToCanvasImpl;\n }\n /**\n * 将坐标进行转化\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(CoordinateController, [{\n key: \"transform\",\n value: function transform(point, type, z) {\n switch (type) {\n case _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.ScreenToCanvas:\n return this.screenToCanvas(point);\n case _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.ScreenToScene:\n return this.screenToScene(point, z);\n case _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.CanvasToScreen:\n return this.canvasToScreen(point);\n case _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.CanvasToScene:\n return this.canvasToScene(point, z);\n case _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.SceneToScreen:\n return this.sceneToScreen(point);\n case _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.SceneToCanvas:\n return this.sceneToCanvas(point);\n default:\n return point;\n }\n }\n }, {\n key: \"screenToCanvas\",\n value: function screenToCanvas(point) {\n var _this$getCanvasRectIm = this.getCanvasRectImpl(),\n x = _this$getCanvasRectIm.x,\n y = _this$getCanvasRectIm.y;\n return {\n x: point.x - x,\n y: point.y - y\n };\n }\n }, {\n key: \"canvasToScreen\",\n value: function canvasToScreen(point) {\n var _this$getCanvasRectIm2 = this.getCanvasRectImpl(),\n x = _this$getCanvasRectIm2.x,\n y = _this$getCanvasRectIm2.y;\n return {\n x: point.x + x,\n y: point.y + y\n };\n }\n }, {\n key: \"canvasToScene\",\n value: function canvasToScene(point, z) {\n return this.canvasToSceneImpl(point, z);\n }\n }, {\n key: \"sceneToCanvas\",\n value: function sceneToCanvas(point) {\n return this.sceneToCanvasImpl(point);\n }\n }, {\n key: \"screenToScene\",\n value: function screenToScene(point, z) {\n return this.canvasToScene(this.screenToCanvas(point), z);\n }\n }, {\n key: \"sceneToScreen\",\n value: function sceneToScreen(point) {\n return this.canvasToScreen(this.sceneToCanvas(point));\n }\n }]);\n}();\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/coordinate.js?");
/***/ }),
/***/ "../event-manager/es/interactive/index.js":
/*!************************************************!*\
!*** ../event-manager/es/interactive/index.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractiveController: () => (/* binding */ InteractiveController)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @turbox3d/shared */ \"../shared/es/index.js\");\n/* harmony import */ var _listener_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listener/index */ \"../event-manager/es/interactive/listener/index.js\");\n/* harmony import */ var _listener_type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./listener/type */ \"../event-manager/es/interactive/listener/type.js\");\n/* harmony import */ var _sceneEvent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sceneEvent */ \"../event-manager/es/interactive/sceneEvent.js\");\n\n\n\n\n\n\nvar InteractiveController = /*#__PURE__*/function () {\n function InteractiveController(option) {\n var _this = this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, InteractiveController);\n /** 交互对象的配置 */\n this.interactiveConfig = new Map();\n /** 最大帧率限制 */\n this.maxFPS = 60;\n /**\n * 更新视图对象的交互配置\n *\n * @param view 视图对象\n * @param config 交互配置。该参数不传时认为该对象无法交互\n */\n this.updateInteractiveObject = function (view, config) {\n if (config) {\n _this.interactiveConfig.set(view, config);\n } else {\n _this.interactiveConfig[\"delete\"](view);\n }\n };\n /** 更新视口信息 */\n this.updateViewportInfo = function (viewport) {\n _this.viewport = viewport;\n _this.interactiveListener.updateViewportInfo(viewport);\n };\n /**\n * 用于给外部发起一次点击拾取\n * @param point 是相对于 canvas 左上角的点击位置\n */\n this.hitTarget = function (point) {\n var originalPoint = _this.revisePointByViewPort(point);\n var _this$getHitTargetOri = _this.getHitTargetOriginal(originalPoint, _this.container, _this.interactiveConfig, 'isClickable'),\n target = _this$getHitTargetOri.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.getViewEntity) {\n return config.getViewEntity();\n }\n }\n return undefined;\n };\n this.onClick = function (event) {\n var _this$hitTargetHandle = _this.hitTargetHandler(event, 'isClickable'),\n target = _this$hitTargetHandle.target;\n if (target) {\n _this.lastClickTarget = target;\n var config = _this.interactiveConfig.get(target);\n if (config && config.isClickable) {\n if (config.onClick) {\n config.onClick(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n }\n return;\n }\n }\n _this.lastClickTarget = undefined;\n // 点击在画布上,没有命中任何目标\n _this.canvasHandlers.onClick(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onDBClick = function (event) {\n // 双击事件使用上次 click 命中的目标,避免重复计算\n if (_this.lastClickTarget) {\n var config = _this.interactiveConfig.get(_this.lastClickTarget);\n if (config && config.isClickable && config.onDBClick) {\n config.onDBClick(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n }\n }\n };\n this.onRightClick = function (event) {\n var _this$hitTargetHandle2 = _this.hitTargetHandler(event, 'isClickable'),\n target = _this$hitTargetHandle2.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.onRightClick) {\n config.onRightClick(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n return;\n }\n }\n _this.canvasHandlers.onRightClick(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onDragStart = function (event, extra) {\n var _this$hitTargetHandle3 = _this.hitTargetHandler(event, 'isDraggable'),\n target = _this$hitTargetHandle3.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.isDraggable && config.onDragStart) {\n _this.dragTarget = target;\n config.onDragStart(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n return;\n }\n _this.canvasHandlers.onDragStart(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onDragMove = function (event) {\n if (_this.dragTarget) {\n var config = _this.interactiveConfig.get(_this.dragTarget);\n if (config && config.isDraggable && config.onDragMove) {\n config.onDragMove(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n }\n return;\n }\n _this.canvasHandlers.onDragMove(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onDragEnd = function (event) {\n if (_this.dragTarget) {\n var config = _this.interactiveConfig.get(_this.dragTarget);\n if (config && config.isDraggable && config.onDragEnd) {\n config.onDragEnd(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n }\n _this.dragTarget = undefined;\n return;\n }\n _this.canvasHandlers.onDragEnd(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onPinchStart = function (event, extra) {\n var _this$hitTargetHandle4 = _this.hitTargetHandler(event, 'isPinchable'),\n target = _this$hitTargetHandle4.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.isPinchable && config.onPinchStart) {\n _this.dragTarget = target;\n config.onPinchStart(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n return;\n }\n _this.canvasHandlers.onPinchStart(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onPinch = function (event, extra) {\n if (_this.dragTarget) {\n var config = _this.interactiveConfig.get(_this.dragTarget);\n if (config && config.isPinchable && config.onPinch) {\n config.onPinch(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n return;\n }\n _this.canvasHandlers.onPinch(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onPinchEnd = function (event, extra) {\n if (_this.dragTarget) {\n var config = _this.interactiveConfig.get(_this.dragTarget);\n if (config && config.isPinchable && config.onPinchEnd) {\n config.onPinchEnd(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n _this.dragTarget = undefined;\n return;\n }\n _this.canvasHandlers.onPinchEnd(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onRotateStart = function (event, extra) {\n var _this$hitTargetHandle5 = _this.hitTargetHandler(event, 'isRotatable'),\n target = _this$hitTargetHandle5.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.isRotatable && config.onRotateStart) {\n _this.dragTarget = target;\n config.onRotateStart(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n return;\n }\n _this.canvasHandlers.onRotateStart(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onRotate = function (event, extra) {\n if (_this.dragTarget) {\n var config = _this.interactiveConfig.get(_this.dragTarget);\n if (config && config.isRotatable && config.onRotate) {\n config.onRotate(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n return;\n }\n _this.canvasHandlers.onRotate(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onRotateEnd = function (event, extra) {\n if (_this.dragTarget) {\n var config = _this.interactiveConfig.get(_this.dragTarget);\n if (config && config.isRotatable && config.onRotateEnd) {\n config.onRotateEnd(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n }\n _this.dragTarget = undefined;\n return;\n }\n _this.canvasHandlers.onRotateEnd(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint, extra));\n };\n this.onPress = function (event) {\n var _this$hitTargetHandle6 = _this.hitTargetHandler(event, 'isPressable'),\n target = _this$hitTargetHandle6.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.isPressable) {\n if (config.onPress) {\n config.onPress(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n }\n return;\n }\n }\n _this.canvasHandlers.onPress(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onPressUp = function (event) {\n var _this$hitTargetHandle7 = _this.hitTargetHandler(event, 'isPressable'),\n target = _this$hitTargetHandle7.target;\n if (target) {\n var config = _this.interactiveConfig.get(target);\n if (config && config.isPressable) {\n if (config.onPressUp) {\n config.onPressUp(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n }\n return;\n }\n }\n _this.canvasHandlers.onPressUp(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onCarriageMove = function (event) {\n _this.canvasHandlers.onPointerMove(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onCarriageEnd = function (event) {\n _this.canvasHandlers.onPointerUp(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.onHover = function (event) {\n var _this$hitTargetHandle8 = _this.hitTargetHandler(event, 'isHoverable'),\n target = _this$hitTargetHandle8.target;\n if (target) {\n // 如果 hover 目标产生了变更\n if (_this.hoverTarget) {\n if (target !== _this.hoverTarget) {\n // 对上一次目标执行 hoverOut\n _this.onHoverOut(_this.hoverTarget, event);\n // 对新目标执行 hoverIn\n _this.onHoverIn(target, event);\n }\n } else {\n _this.onHoverIn(target, event);\n }\n } else if (_this.hoverTarget) {\n _this.onHoverOut(_this.hoverTarget, event);\n _this.hoverTarget = undefined;\n }\n };\n this.onWheel = function (event) {\n _this.canvasHandlers.onWheel(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, _this.getCoordinateCtrl, _this.hitTargetOriginalByPoint));\n };\n this.renderer = option.renderer;\n this.container = option.container;\n this.canvasHandlers = option.canvasHandler;\n this.viewport = option.viewport;\n this.coordinateType = option.coordinateType;\n this.getCoordinateCtrl = option.getCoordinateCtrl;\n this.getHitTargetOriginal = option.getHitTargetOriginal;\n this.maxFPS = option.maxFPS;\n }\n /**\n * 对画布进行交互事件监听\n *\n * @param canvas\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(InteractiveController, [{\n key: \"startListener\",\n value: function startListener() {\n var Click = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Click,\n DBClick = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DBClick,\n RightClick = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RightClick,\n DragStart = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragStart,\n DragMove = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragMove,\n DragEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragEnd,\n Hover = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Hover,\n CarriageMove = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.CarriageMove,\n CarriageEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.CarriageEnd,\n Wheel = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Wheel,\n PinchStart = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PinchStart,\n Pinch = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Pinch,\n PinchEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PinchEnd,\n RotateStart = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RotateStart,\n Rotate = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Rotate,\n RotateEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RotateEnd,\n Press = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Press,\n PressUp = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PressUp;\n this.interactiveListener = _listener_index__WEBPACK_IMPORTED_MODULE_3__.InteractiveListener.create(this.renderer, this.viewport, this.coordinateType);\n this.interactiveListener.registerListener();\n this.interactiveListener.addEventListener(Click, this.onClick).addEventListener(DBClick, this.onDBClick).addEventListener(RightClick, this.onRightClick).addEventListener(DragStart, this.onDragStart).addEventListener(DragMove, (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.throttleInAFrame)(this.onDragMove, _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.TaskPriority.UserAction, this.maxFPS)).addEventListener(DragEnd, this.onDragEnd).addEventListener(Hover, (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.throttleInAFrame)(this.onHover, _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.TaskPriority.UserAction, this.maxFPS)).addEventListener(CarriageMove, (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.throttleInAFrame)(this.onCarriageMove, _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.TaskPriority.UserAction, this.maxFPS)).addEventListener(CarriageEnd, this.onCarriageEnd).addEventListener(Wheel, (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.throttleInAFrame)(this.onWheel, _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.TaskPriority.UserAction, this.maxFPS)).addEventListener(PinchStart, this.onPinchStart).addEventListener(Pinch, (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.throttleInAFrame)(this.onPinch, _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.TaskPriority.UserAction, this.maxFPS)).addEventListener(PinchEnd, this.onPinchEnd).addEventListener(RotateStart, this.onRotateStart).addEventListener(Rotate, (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.throttleInAFrame)(this.onRotate, _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.TaskPriority.UserAction, this.maxFPS)).addEventListener(RotateEnd, this.onRotateEnd).addEventListener(Press, this.onPress).addEventListener(PressUp, this.onPressUp);\n }\n /**\n * 取消所有监听的交互事件\n * @param canvas\n */\n }, {\n key: \"removeAllListener\",\n value: function removeAllListener() {\n var Click = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Click,\n DBClick = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DBClick,\n RightClick = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RightClick,\n DragStart = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragStart,\n DragMove = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragMove,\n DragEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragEnd,\n Hover = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Hover,\n CarriageMove = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.CarriageMove,\n CarriageEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.CarriageEnd,\n Wheel = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Wheel,\n PinchStart = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PinchStart,\n Pinch = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Pinch,\n PinchEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PinchEnd,\n RotateStart = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RotateStart,\n Rotate = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Rotate,\n RotateEnd = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RotateEnd,\n Press = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Press,\n PressUp = _listener_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PressUp;\n this.interactiveListener.removeEventListener(Click, this.onClick).removeEventListener(DBClick, this.onDBClick).removeEventListener(RightClick, this.onRightClick).removeEventListener(DragStart, this.onDragStart).removeEventListener(DragMove, this.onDragMove).removeEventListener(DragEnd, this.onDragEnd).removeEventListener(Hover, this.onHover).removeEventListener(CarriageMove, this.onCarriageMove).removeEventListener(CarriageEnd, this.onCarriageEnd).removeEventListener(Wheel, this.onWheel).removeEventListener(PinchStart, this.onPinchStart).removeEventListener(Pinch, this.onPinch).removeEventListener(PinchEnd, this.onPinchEnd).removeEventListener(RotateStart, this.onRotateStart).removeEventListener(Rotate, this.onRotate).removeEventListener(RotateEnd, this.onRotateEnd).removeEventListener(Press, this.onPress).removeEventListener(PressUp, this.onPressUp);\n this.interactiveListener.dispose();\n }\n /**\n * 获取本次鼠标事件的交互对象\n */\n }, {\n key: \"hitTargetHandler\",\n value: function hitTargetHandler(event, type) {\n var originalPoint;\n if ((0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.getContextEnv)() === 'browser') {\n var canvas = this.renderer;\n originalPoint = (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.getRelativePositionFromEvent)({\n x: event.clientX,\n y: event.clientY\n }, canvas.getBoundingClientRect());\n } else {\n // vm 环境\n // global.getRelativePositionFromEvent\n }\n // 无法根据事件和 renderer 获取合法的点击位置\n if (!originalPoint) {\n return {};\n }\n originalPoint = this.revisePointByViewPort(originalPoint);\n return this.getHitTargetOriginal(originalPoint, this.container, this.interactiveConfig, type);\n }\n /**\n * 主动传入一个点位做一次 hitTest,返回结果\n * @param point 是相对于 canvas 左上角的点击位置\n */\n }, {\n key: \"hitTargetOriginalByPoint\",\n value: function hitTargetOriginalByPoint(point) {\n var originalPoint = this.revisePointByViewPort(point);\n return this.getHitTargetOriginal(originalPoint, this.container, this.interactiveConfig, 'isClickable');\n }\n }, {\n key: \"revisePointByViewPort\",\n value: function revisePointByViewPort(point) {\n if (this.viewport) {\n var _this$viewport = this.viewport,\n x = _this$viewport.x,\n y = _this$viewport.y;\n return {\n x: point.x - x,\n y: point.y - y\n };\n }\n return point;\n }\n }, {\n key: \"onHoverIn\",\n value: function onHoverIn(target, event) {\n var config = this.interactiveConfig.get(target);\n if (config && config.isHoverable && config.onHoverIn) {\n this.hoverTarget = target;\n config.onHoverIn(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, this.getCoordinateCtrl, this.hitTargetOriginalByPoint));\n }\n }\n }, {\n key: \"onHoverOut\",\n value: function onHoverOut(target, event) {\n var config = this.interactiveConfig.get(target);\n if (config && config.isHoverable && config.onHoverOut) {\n config.onHoverOut(_sceneEvent__WEBPACK_IMPORTED_MODULE_5__.SceneEvent.create(event, this.getCoordinateCtrl, this.hitTargetOriginalByPoint));\n }\n }\n }], [{\n key: \"create\",\n value: function create(option) {\n return new InteractiveController(option);\n }\n }]);\n}();\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/index.js?");
/***/ }),
/***/ "../event-manager/es/interactive/listener/index.js":
/*!*********************************************************!*\
!*** ../event-manager/es/interactive/listener/index.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractiveListener: () => (/* binding */ InteractiveListener)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @turbox3d/shared */ \"../shared/es/index.js\");\n/* harmony import */ var _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @turbox3d/math */ \"../math/es/index.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./type */ \"../event-manager/es/interactive/listener/type.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils */ \"../event-manager/es/interactive/listener/utils.js\");\n\n\n\n\n\n\n/**\n * 场景鼠标交互事件转化器\n * 将目标画布上的鼠标事件转化为场景之间,诸如:onClick, onDrag, onCarriage, onHover ...\n */\nvar InteractiveListener = /*#__PURE__*/function () {\n function InteractiveListener(canvas, viewport, coordinateType) {\n var _this = this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, InteractiveListener);\n this.listeners = new Map();\n /** 当前鼠标是否处于按下状态 */\n this.isMouseDown = false;\n /** 缓存事件池,用于多点触控 */\n this.eventCache = [];\n /** 双指间距 */\n this.prevDiff = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(-1, -1);\n /** 初始的间距 */\n this.startDiff = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(-1, -1);\n /** 双指方向 */\n this.prevVector = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2();\n /** 初始的方向 */\n this.startVector = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2();\n this.updateViewportInfo = function (viewport) {\n _this.viewport = viewport;\n };\n this.downHandler = function (eventList) {\n _this.isMouseDown = true;\n if (eventList.length === 1) {\n _this.mouseDealType = _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Click;\n _this.dragStatus = _type__WEBPACK_IMPORTED_MODULE_4__.DragStatus.Ready;\n _this.mouseDownInfo = {\n x: eventList[0].clientX,\n y: eventList[0].clientY\n };\n _this.pressTimer = window.setTimeout(function () {\n _this.mouseDealType = _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Press;\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Press, eventList[0]);\n }, 250);\n } else if (eventList.length === 2) {\n // 双指操作,rotate or pinch\n window.clearTimeout(_this.pressTimer);\n _this.startDiff = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(Math.abs(eventList[0].clientX - eventList[1].clientX), Math.abs(eventList[0].clientY - eventList[1].clientY));\n _this.startVector = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(eventList[1].clientX - eventList[0].clientX, eventList[1].clientY - eventList[0].clientY);\n _this.mouseDealType = _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.MultiTouch;\n }\n };\n this.onMouseDown = function (event) {\n event.preventDefault();\n _this.addEventCache(event);\n _this.downHandler(_this.eventCache);\n };\n this.onTouchDown = function (event) {\n event.preventDefault();\n _this.isMouseDown = true;\n _this.downHandler(Array.from(event.targetTouches || event.touches));\n };\n this.moveHandler = function (event, eventList) {\n var _a, _b;\n if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.MultiTouch) {\n if (eventList.length === 2) {\n var curDiff = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(Math.abs(eventList[0].clientX - eventList[1].clientX), Math.abs(eventList[0].clientY - eventList[1].clientY));\n _this.useX === undefined && (_this.useX = curDiff.x > curDiff.y);\n var curVector = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(eventList[1].clientX - eventList[0].clientX, eventList[1].clientY - eventList[0].clientY);\n if (_this.prevDiff.x > 0 && _this.prevDiff.y > 0) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Pinch, event, {\n scale: _this.useX ? curDiff.x / _this.startDiff.x : curDiff.y / _this.startDiff.y,\n deltaScale: _this.useX ? curDiff.x / _this.prevDiff.x : curDiff.y / _this.prevDiff.y,\n eventCache: eventList\n });\n } else {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PinchStart, event, {\n eventCache: eventList\n });\n }\n if (_this.prevVector.x === 0 && _this.prevVector.y === 0) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RotateStart, event, {\n eventCache: eventList\n });\n } else {\n var degree = curVector.angleTo(_this.startVector) * _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.RAD2DEG;\n var deltaDegree = curVector.angleTo(_this.prevVector) * _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.RAD2DEG;\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Rotate, event, {\n rotate: degree,\n deltaRotate: deltaDegree,\n eventCache: eventList\n });\n }\n _this.prevDiff = curDiff;\n _this.prevVector = curVector;\n }\n } else if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Drag || _this.mouseDownInfo && (0,_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseMoved)(_this.mouseDownInfo, event, InteractiveListener.moveTolerance)) {\n window.clearTimeout(_this.pressTimer);\n _this.mouseDealType = _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Drag;\n if (_this.dragStatus === _type__WEBPACK_IMPORTED_MODULE_4__.DragStatus.Ready) {\n _this.dragStatus = _type__WEBPACK_IMPORTED_MODULE_4__.DragStatus.Dragging;\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragStart, event, {\n mouseDownInfo: {\n x: ((_a = _this.mouseDownInfo) === null || _a === void 0 ? void 0 : _a.x) || 0,\n y: ((_b = _this.mouseDownInfo) === null || _b === void 0 ? void 0 : _b.y) || 0\n }\n });\n } else if (_this.dragStatus === _type__WEBPACK_IMPORTED_MODULE_4__.DragStatus.Dragging) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragMove, event);\n }\n }\n };\n this.onMouseMove = function (event) {\n event.preventDefault();\n if (_this.isMouseDown) {\n if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.MultiTouch) {\n _this.updateEventCache(event);\n }\n _this.moveHandler(event, _this.eventCache);\n } else {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Hover, event);\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.CarriageMove, event);\n }\n };\n this.onTouchMove = function (event) {\n var eventArr = Array.from(event.targetTouches || event.touches);\n if (!eventArr.length) {\n return;\n }\n if (_this.isMouseDown) {\n // 多点触控下,当前用于识别的事件先默认取第一个\n if (eventArr[0].target === _this.canvas) {\n event.preventDefault();\n }\n _this.moveHandler(eventArr[0], eventArr);\n }\n };\n this.upHandler = function (event, eventList) {\n _this.useX = undefined;\n if (eventList.length === 0) {\n _this.isMouseDown = false;\n window.clearTimeout(_this.pressTimer);\n if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Drag) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DragEnd, event);\n } else if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Click) {\n if ('ontouchstart' in window) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Click, event);\n } else {\n var tempEvent = event;\n if (tempEvent.button === 0) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Click, event);\n } else if (tempEvent.button === 2) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RightClick, event);\n }\n }\n } else if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.MultiTouch) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PinchEnd, event, {\n eventCache: eventList\n });\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.RotateEnd, event, {\n eventCache: eventList\n });\n } else if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.Press) {\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.PressUp, event);\n }\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.CarriageEnd, event);\n _this.mouseDealType = undefined;\n _this.dragStatus = undefined;\n _this.mouseDownInfo = undefined;\n } else if (_this.mouseDealType === _type__WEBPACK_IMPORTED_MODULE_4__.MouseDealType.MultiTouch) {\n if (eventList.length < 2) {\n _this.prevDiff = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(-1, -1);\n _this.startDiff = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2(-1, -1);\n _this.prevVector = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2();\n _this.startVector = new _turbox3d_math__WEBPACK_IMPORTED_MODULE_3__.Vector2();\n }\n }\n };\n this.onMouseUp = function (event) {\n event.preventDefault();\n _this.removeEventCache(event);\n _this.upHandler(event, _this.eventCache);\n };\n this.onTouchUp = function (event) {\n var eventArr = Array.from(event.targetTouches || event.touches);\n // 多点触控下,当前用于识别的事件先默认取第一个\n if (event.changedTouches[0].target === _this.canvas) {\n event.preventDefault();\n }\n _this.upHandler(event.changedTouches[0], eventArr);\n };\n this.onWheel = function (event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.Wheel, event);\n };\n this.onDBClick = function (event) {\n _this.preventDefault(event);\n _this.triggerEvent(_type__WEBPACK_IMPORTED_MODULE_4__.InteractiveEvent.DBClick, event);\n };\n this.preventDefault = function (event) {\n event.preventDefault();\n event.stopPropagation();\n };\n this.canvas = canvas;\n this.viewport = viewport;\n this.coordinateType = coordinateType;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(InteractiveListener, [{\n key: \"addEventListener\",\n value: function addEventListener(event, func) {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, []);\n }\n var handlers = this.listeners.get(event);\n handlers.push(func);\n return this;\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(event, func) {\n if (this.listeners.has(event)) {\n if (!func) {\n // 停止监听当前事件\n this.listeners[\"delete\"](event);\n return this;\n }\n var handlers = this.listeners.get(event);\n var index = handlers.indexOf(func);\n if (index !== -1) {\n handlers.splice(index, 1);\n }\n // 如果监听全部移除,同样停止监听当前事件\n if (handlers.length === 0) {\n this.listeners[\"delete\"](event);\n }\n }\n return this;\n }\n }, {\n key: \"clearListener\",\n value: function clearListener() {\n this.listeners = new Map();\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if ((0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.getContextEnv)() === 'browser') {\n var canvas = this.canvas;\n if ('ontouchstart' in window) {\n canvas.removeEventListener('touchstart', this.onTouchDown);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchUp);\n document.removeEventListener('touchcancel', this.onTouchUp);\n } else {\n canvas.removeEventListener('pointerdown', this.onMouseDown);\n document.removeEventListener('pointermove', this.onMouseMove);\n document.removeEventListener('pointerup', this.onMouseUp);\n document.removeEventListener('pointercancel', this.onMouseUp);\n document.removeEventListener('pointerleave', this.onMouseUp);\n canvas.removeEventListener('dblclick', this.onDBClick);\n canvas.removeEventListener('wheel', this.onWheel);\n canvas.removeEventListener('contextmenu', this.preventDefault);\n }\n } else {\n // vm 环境事件通过 context 清除\n // global.disposeAllEvent\n }\n }\n }, {\n key: \"registerListener\",\n value: function registerListener() {\n if ((0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.getContextEnv)() === 'browser') {\n var canvas = this.canvas;\n if ('ontouchstart' in window) {\n canvas.addEventListener('touchstart', this.onTouchDown);\n document.addEventListener('touchmove', this.onTouchMove);\n document.addEventListener('touchend', this.onTouchUp);\n document.addEventListener('touchcancel', this.onTouchUp);\n } else {\n canvas.addEventListener('pointerdown', this.onMouseDown);\n document.addEventListener('pointermove', this.onMouseMove);\n document.addEventListener('pointerup', this.onMouseUp);\n document.addEventListener('pointercancel', this.onMouseUp);\n document.addEventListener('pointerleave', this.onMouseUp);\n canvas.addEventListener('dblclick', this.onDBClick);\n canvas.addEventListener('wheel', this.onWheel);\n canvas.addEventListener('contextmenu', this.preventDefault);\n }\n } else {\n // vm 环境事件通过 context 传递\n // global.onClick = (e) => {\n // this.triggerEvent(InteractiveEvent.Click, e);\n // };\n }\n }\n }, {\n key: \"triggerEvent\",\n value: function triggerEvent(e, event, extra) {\n // 判断是否在当前视口,不在的过滤掉,不触发\n if (this.viewport) {\n var _this$viewport = this.viewport,\n x = _this$viewport.x,\n y = _this$viewport.y,\n width = _this$viewport.width,\n height = _this$viewport.height;\n var p1 = {\n x: x,\n y: y\n };\n var p2 = {\n x: x + width,\n y: y + height\n };\n var rect = [p1, p2];\n var point;\n if ((0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.getContextEnv)() === 'browser') {\n var canvas = this.canvas;\n point = (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.getRelativePositionFromEvent)({\n x: event.clientX,\n y: event.clientY\n }, canvas.getBoundingClientRect());\n } else {\n // vm 环境\n // global.getRelativePositionFromEvent\n }\n if (!point) {\n return;\n }\n var isPointInRect = (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.pointInRect)(point, rect);\n if (!isPointInRect) {\n return;\n }\n }\n if (this.listeners.has(e)) {\n var handlers = this.listeners.get(e);\n handlers.forEach(function (handler) {\n return handler(event, extra);\n });\n }\n }\n }, {\n key: \"addEventCache\",\n value: function addEventCache(event) {\n this.eventCache.push(event);\n }\n }, {\n key: \"removeEventCache\",\n value: function removeEventCache(event) {\n for (var i = 0; i < this.eventCache.length; i++) {\n if (this.eventCache[i].pointerId === event.pointerId) {\n this.eventCache.splice(i, 1);\n break;\n }\n }\n }\n }, {\n key: \"updateEventCache\",\n value: function updateEventCache(event) {\n for (var i = 0; i < this.eventCache.length; i++) {\n if (event.pointerId === this.eventCache[i].pointerId) {\n this.eventCache[i] = event;\n break;\n }\n }\n }\n }], [{\n key: \"create\",\n value: function create(canvas, viewport, coordinateType) {\n return new InteractiveListener(canvas, viewport, coordinateType);\n }\n }]);\n}();\nInteractiveListener.moveTolerance = 4;\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/listener/index.js?");
/***/ }),
/***/ "../event-manager/es/interactive/listener/type.js":
/*!********************************************************!*\
!*** ../event-manager/es/interactive/listener/type.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DragStatus: () => (/* binding */ DragStatus),\n/* harmony export */ EventType: () => (/* binding */ EventType),\n/* harmony export */ InteractiveEvent: () => (/* binding */ InteractiveEvent),\n/* harmony export */ MouseDealType: () => (/* binding */ MouseDealType)\n/* harmony export */ });\n/** 标示拖拽阶段 */\nvar DragStatus;\n(function (DragStatus) {\n DragStatus[\"Ready\"] = \"ready\";\n DragStatus[\"Dragging\"] = \"dragging\";\n DragStatus[\"End\"] = \"end\";\n})(DragStatus || (DragStatus = {}));\n/**\n * 当次鼠标事件(down -> move -> up)的处理类型\n */\nvar MouseDealType;\n(function (MouseDealType) {\n /**\n * 作为一次 Drag 事件处理\n */\n MouseDealType[\"Drag\"] = \"drag\";\n /**\n * 作为一次 Click 事件处理\n */\n MouseDealType[\"Click\"] = \"click\";\n /** 多点触控事件 */\n MouseDealType[\"MultiTouch\"] = \"multi-touch\";\n /** 按压 */\n MouseDealType[\"Press\"] = \"press\";\n})(MouseDealType || (MouseDealType = {}));\n/**\n * 可监听的交互事件类型\n */\nvar InteractiveEvent;\n(function (InteractiveEvent) {\n InteractiveEvent[InteractiveEvent[\"Click\"] = 1] = \"Click\";\n InteractiveEvent[InteractiveEvent[\"DBClick\"] = 2] = \"DBClick\";\n InteractiveEvent[InteractiveEvent[\"RightClick\"] = 3] = \"RightClick\";\n InteractiveEvent[InteractiveEvent[\"DragStart\"] = 4] = \"DragStart\";\n InteractiveEvent[InteractiveEvent[\"DragMove\"] = 5] = \"DragMove\";\n InteractiveEvent[InteractiveEvent[\"DragEnd\"] = 6] = \"DragEnd\";\n InteractiveEvent[InteractiveEvent[\"CarriageMove\"] = 7] = \"CarriageMove\";\n InteractiveEvent[InteractiveEvent[\"CarriageEnd\"] = 8] = \"CarriageEnd\";\n InteractiveEvent[InteractiveEvent[\"Hover\"] = 9] = \"Hover\";\n InteractiveEvent[InteractiveEvent[\"Wheel\"] = 10] = \"Wheel\";\n InteractiveEvent[InteractiveEvent[\"PinchStart\"] = 11] = \"PinchStart\";\n InteractiveEvent[InteractiveEvent[\"Pinch\"] = 12] = \"Pinch\";\n InteractiveEvent[InteractiveEvent[\"PinchEnd\"] = 13] = \"PinchEnd\";\n InteractiveEvent[InteractiveEvent[\"RotateStart\"] = 14] = \"RotateStart\";\n InteractiveEvent[InteractiveEvent[\"Rotate\"] = 15] = \"Rotate\";\n InteractiveEvent[InteractiveEvent[\"RotateEnd\"] = 16] = \"RotateEnd\";\n InteractiveEvent[InteractiveEvent[\"Press\"] = 17] = \"Press\";\n InteractiveEvent[InteractiveEvent[\"PressUp\"] = 18] = \"PressUp\";\n})(InteractiveEvent || (InteractiveEvent = {}));\nvar EventType;\n(function (EventType) {\n EventType[EventType[\"onClick\"] = 0] = \"onClick\";\n EventType[EventType[\"onDBClick\"] = 1] = \"onDBClick\";\n EventType[EventType[\"onRightClick\"] = 2] = \"onRightClick\";\n EventType[EventType[\"onDragStart\"] = 3] = \"onDragStart\";\n EventType[EventType[\"onDragMove\"] = 4] = \"onDragMove\";\n EventType[EventType[\"onDragEnd\"] = 5] = \"onDragEnd\";\n EventType[EventType[\"onCarriageMove\"] = 6] = \"onCarriageMove\";\n EventType[EventType[\"onCarriageEnd\"] = 7] = \"onCarriageEnd\";\n EventType[EventType[\"onHoverIn\"] = 8] = \"onHoverIn\";\n EventType[EventType[\"onHoverOut\"] = 9] = \"onHoverOut\";\n EventType[EventType[\"onWheel\"] = 10] = \"onWheel\";\n EventType[EventType[\"onPinchStart\"] = 11] = \"onPinchStart\";\n EventType[EventType[\"onPinch\"] = 12] = \"onPinch\";\n EventType[EventType[\"onPinchEnd\"] = 13] = \"onPinchEnd\";\n EventType[EventType[\"onRotateStart\"] = 14] = \"onRotateStart\";\n EventType[EventType[\"onRotate\"] = 15] = \"onRotate\";\n EventType[EventType[\"onRotateEnd\"] = 16] = \"onRotateEnd\";\n EventType[EventType[\"onPress\"] = 17] = \"onPress\";\n EventType[EventType[\"onPressUp\"] = 18] = \"onPressUp\";\n})(EventType || (EventType = {}));\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/listener/type.js?");
/***/ }),
/***/ "../event-manager/es/interactive/listener/utils.js":
/*!*********************************************************!*\
!*** ../event-manager/es/interactive/listener/utils.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isMouseMoved: () => (/* binding */ isMouseMoved)\n/* harmony export */ });\nfunction isMouseMoved(mouseDownInfo, moveEvent, tolerance) {\n var dx = mouseDownInfo.x - moveEvent.clientX;\n var dy = mouseDownInfo.y - moveEvent.clientY;\n return dx * dx + dy * dy > tolerance * tolerance;\n}\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/listener/utils.js?");
/***/ }),
/***/ "../event-manager/es/interactive/sceneEvent.js":
/*!*****************************************************!*\
!*** ../event-manager/es/interactive/sceneEvent.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SceneEvent: () => (/* binding */ SceneEvent)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./type */ \"../event-manager/es/interactive/type.js\");\n\n\n\nvar SceneEvent = /*#__PURE__*/function () {\n function SceneEvent(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, SceneEvent);\n this.event = event;\n this.getCoordinateCtrl = getCoordinateCtrl;\n this.hitTargetOriginalByPoint = hitTargetOriginalByPoint;\n this.extra = extra;\n }\n /**\n * 屏幕坐标\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(SceneEvent, [{\n key: \"screenPosition\",\n get: function get() {\n var extra = this.extra;\n if (extra && extra.mouseDownInfo) {\n return {\n x: extra.mouseDownInfo.x,\n y: extra.mouseDownInfo.y\n };\n }\n return {\n x: this.event.clientX,\n y: this.event.clientY\n };\n }\n /**\n * 画布坐标\n */\n }, {\n key: \"canvasPosition\",\n get: function get() {\n return this.getCoordinateCtrl().transform(this.screenPosition, _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.ScreenToCanvas);\n }\n /**\n * 场景世界坐标\n */\n }, {\n key: \"getScenePosition\",\n value: function getScenePosition(z) {\n return this.getCoordinateCtrl().transform(this.screenPosition, _type__WEBPACK_IMPORTED_MODULE_2__.CoordinateType.ScreenToScene, z);\n }\n }], [{\n key: \"create\",\n value: function create(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra) {\n return new SceneEvent(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra);\n }\n }]);\n}();\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/sceneEvent.js?");
/***/ }),
/***/ "../event-manager/es/interactive/type.js":
/*!***********************************************!*\
!*** ../event-manager/es/interactive/type.js ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CoordinateType: () => (/* binding */ CoordinateType)\n/* harmony export */ });\nvar CoordinateType;\n(function (CoordinateType) {\n /** 屏幕到画布 */\n CoordinateType[CoordinateType[\"ScreenToCanvas\"] = 1] = \"ScreenToCanvas\";\n /** 屏幕到场景 */\n CoordinateType[CoordinateType[\"ScreenToScene\"] = 2] = \"ScreenToScene\";\n /** 画布到场景 */\n CoordinateType[CoordinateType[\"CanvasToScene\"] = 3] = \"CanvasToScene\";\n /** 画布到屏幕 */\n CoordinateType[CoordinateType[\"CanvasToScreen\"] = 4] = \"CanvasToScreen\";\n /** 场景到屏幕 */\n CoordinateType[CoordinateType[\"SceneToScreen\"] = 5] = \"SceneToScreen\";\n /** 场景到画布 */\n CoordinateType[CoordinateType[\"SceneToCanvas\"] = 6] = \"SceneToCanvas\";\n})(CoordinateType || (CoordinateType = {}));\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/interactive/type.js?");
/***/ }),
/***/ "../event-manager/es/keyboard/index.js":
/*!*********************************************!*\
!*** ../event-manager/es/keyboard/index.js ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HotKey: () => (/* binding */ HotKey),\n/* harmony export */ HotKeyController: () => (/* binding */ HotKeyController)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @turbox3d/shared */ \"../shared/es/index.js\");\n/* harmony import */ var _listener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listener */ \"../event-manager/es/keyboard/listener/index.js\");\n\n\n\n\n/**\n * 快捷键系统\n */\nvar HotKeyController = /*#__PURE__*/function () {\n function HotKeyController() {\n var _this = this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, HotKeyController);\n this.keyMap = {};\n /**\n * 触发快捷键回调\n */\n this.handler = function (hotkey, keyEventType) {\n if (_this.keyMap[hotkey]) {\n var handler = _this.keyMap[hotkey].handler;\n handler(keyEventType);\n }\n };\n this.listener = new _listener__WEBPACK_IMPORTED_MODULE_3__.HotKeyListener(document, this.handler);\n }\n /**\n * 添加快捷键\n *\n * 快捷键冲突会给 Warn 并添加失败\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(HotKeyController, [{\n key: \"on\",\n value: function on(config) {\n var _this2 = this;\n var hotkeys = Array.isArray(config.key) ? config.key : [config.key];\n hotkeys.forEach(function (hotkey) {\n _this2.listener.register(hotkey);\n if (_this2.keyMap[hotkey]) {\n var oldConfig = _this2.keyMap[hotkey];\n (0,_turbox3d_shared__WEBPACK_IMPORTED_MODULE_2__.warn)('conflicted hot key detected,please check again:');\n console.table({\n hotkey: hotkey,\n name: oldConfig.name || '',\n info: oldConfig.info || ''\n });\n } else {\n _this2.keyMap[hotkey] = config;\n }\n });\n return this;\n }\n /**\n * 移除快捷键\n */\n }, {\n key: \"off\",\n value: function off(key, handler) {\n var _this3 = this;\n var hotkeys = Array.isArray(key) ? key : [key];\n hotkeys.forEach(function (hotkey) {\n _this3.listener.deregister(hotkey);\n var config = _this3.keyMap[hotkey];\n if (config && config.handler === handler) {\n delete _this3.keyMap[hotkey];\n }\n });\n return this;\n }\n // enable() {\n // // todo: 1. 启用整个 context 2. 启用某个 key 3. key 是否需要增加匹配模式\n // }\n // disable() {\n // //\n // }\n /**\n * 获取展示热键列表(仅返回 show 字段设置为 true 的数据)\n *\n * 该接口设计用来给展示快捷键的地方用\n */\n }, {\n key: \"getHotKeyData\",\n value: function getHotKeyData() {\n var _this4 = this;\n var data = [];\n // todo 这样数据可能一个被拆成了多个返回\n Object.keys(this.keyMap).forEach(function (hotkey) {\n var config = _this4.keyMap[hotkey];\n if (config.show) {\n data.push({\n key: hotkey,\n name: config.name,\n description: config.description\n });\n }\n });\n return data;\n }\n }]);\n}();\nvar HotKey = new HotKeyController();\n\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/keyboard/index.js?");
/***/ }),
/***/ "../event-manager/es/keyboard/keyCode.js":
/*!***********************************************!*\
!*** ../event-manager/es/keyboard/keyCode.js ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Key: () => (/* binding */ Key)\n/* harmony export */ });\n/**\n * An enum that includes all non-printable string values one can expect from $event.key.\n * For example, this enum includes values like \"CapsLock\", \"Backspace\", and \"AudioVolumeMute\",\n * but does not include values like \"a\", \"A\", \"#\", \"é\", or \"¿\".\n * Auto generated from MDN: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values#Speech_recognition_keys\n */\nvar Key;\n(function (Key) {\n /**\n * The user agent wasn't able to map the event's virtual keycode to a specific key value.\n * This can happen due to hardware or software constraints, or because of constraints around the platform on which the user agent is running.\n */\n Key[\"Unidentified\"] = \"Unidentified\";\n /** The Alt (Alternative) key. */\n Key[\"Alt\"] = \"Alt\";\n /** The AltGr or AltGraph (Alternate Graphics) key. Enables the ISO Level 3 shift modifier (where Shift is the level 2 modifier). */\n Key[\"AltGraph\"] = \"AltGraph\";\n /** The Caps Lock key. Toggles the capital character lock on and off for subsequent input. */\n Key[\"CapsLock\"] = \"CapsLock\";\n /** The Control, Ctrl, or Ctl key. Allows typing control characters. */\n Key[\"Control\"] = \"Control\";\n /** The Control, Ctrl, or Ctl key. Allows typing control characters. */\n Key[\"Ctrl\"] = \"Ctrl\";\n /** The Fn (Function modifier) key. Used to allow generating function key (F1–F15, for instance) characters on keyboards without a dedicated function key area. Often handled in hardware so that events aren't generated for this key. */\n Key[\"Fn\"] = \"Fn\";\n /** The FnLock or F-Lock (Function Lock) key.Toggles the function key mode described by \"Fn\" on and off. Often handled in hardware so that events aren't generated for this key. */\n Key[\"FnLock\"] = \"FnLock\";\n /** The Hyper key. */\n Key[\"Hyper\"] = \"Hyper\";\n /** The Meta key. Allows issuing special command inputs. This is the Windows logo key, or the Command or ⌘ key on Mac keyboards. */\n Key[\"Meta\"] = \"Meta\";\n /** The NumLock (Number Lock) key. Toggles the numeric keypad between number entry some other mode (often directional arrows). */\n Key[\"NumLock\"] = \"NumLock\";\n /** The Scroll Lock key. Toggles between scrolling and cursor movement modes. */\n Key[\"ScrollLock\"] = \"ScrollLock\";\n /** The Shift key. Modifies keystrokes to allow typing upper (or other) case letters, and to support typing punctuation and other special characters. */\n Key[\"Shift\"] = \"Shift\";\n /** The Super key. */\n Key[\"Super\"] = \"Super\";\n /** The Symbol modifier key (found on certain virtual keyboards). */\n Key[\"Symbol\"] = \"Symbol\";\n /** The Symbol Lock key. */\n Key[\"SymbolLock\"] = \"SymbolLock\";\n /** The Enter or ↵ key (sometimes labeled Return). */\n Key[\"Enter\"] = \"Enter\";\n /** The Horizontal Tab key, Tab. */\n Key[\"Tab\"] = \"Tab\";\n /** The down arrow key. */\n Key[\"ArrowDown\"] = \"ArrowDown\";\n /** The left arrow key. */\n Key[\"ArrowLeft\"] = \"ArrowLeft\";\n /** The right arrow key. */\n Key[\"ArrowRight\"] = \"ArrowRight\";\n /** The up arrow key. */\n Key[\"ArrowUp\"] = \"ArrowUp\";\n /** The End key. Moves to the end of content. */\n Key[\"End\"] = \"End\";\n /** The Home key. Moves to the start of content. */\n Key[\"Home\"] = \"Home\";\n /** The Page Down (or PgDn) key. Scrolls down or displays the next page of content. */\n Key[\"PageDown\"] = \"PageDown\";\n /** The Page Up (or PgUp) key. Scrolls up or displays the previous page of content. */\n Key[\"PageUp\"] = \"PageUp\";\n /** The Backspace key. This key is labeled Delete on Mac keyboards. */\n Key[\"Backspace\"] = \"Backspace\";\n /** The Clear key. Removes the currently selected input. */\n Key[\"Clear\"] = \"Clear\";\n /** The Copy key (on certain extended keyboards). */\n Key[\"Copy\"] = \"Copy\";\n /** The Cursor Select key, CrSel. */\n Key[\"CrSel\"] = \"CrSel\";\n /** The Cut key (on certain extended keyboards). */\n Key[\"Cut\"] = \"Cut\";\n /** The Delete key, Del. */\n Key[\"Delete\"] = \"Delete\";\n /** Erase to End of Field. Deletes all characters from the current cursor position to the end of the current field. */\n Key[\"EraseEof\"] = \"EraseEof\";\n /** The ExSel (Extend Selection) key. */\n Key[\"ExSel\"] = \"ExSel\";\n /** The Insert key, Ins. Toggles between inserting and overwriting text. */\n Key[\"Insert\"] = \"Insert\";\n /** Paste from the clipboard. */\n Key[\"Paste\"] = \"Paste\";\n /** Redo the last action. */\n Key[\"Redo\"] = \"Redo\";\n /** Undo the last action. */\n Key[\"Undo\"] = \"Undo\";\n /** The Accept, Commit, or OK key or button. Accepts the currently selected option or input method sequence conversion. */\n Key[\"Accept\"] = \"Accept\";\n /** The Again key. Redoes or repeats a previous action. */\n Key[\"Again\"] = \"Again\";\n /** The Attn (Attention) key. */\n Key[\"Attn\"] = \"Attn\";\n /** The Cancel key. */\n Key[\"Cancel\"] = \"Cancel\";\n /** Shows the context menu. Typically found between the Windows (or OS) key and the Control key on the right side of the keyboard. */\n Key[\"ContextMenu\"] = \"ContextMenu\";\n /** The Esc (Escape) key. Typically used as an exit, cancel, or \"escape this operation\" button. Historically, the Escape character was used to signal the start of a special control sequence of characters called an \"escape sequence.\" */\n Key[\"Escape\"] = \"Escape\";\n /** The Execute key. */\n Key[\"Execute\"] = \"Execute\";\n /** The Find key. Opens an interface (typically a dialog box) for performing a find/search operation. */\n Key[\"Find\"] = \"Find\";\n /** The Finish key. */\n Key[\"Finish\"] = \"Finish\";\n /** The Help key. Opens or toggles the display of help information. */\n Key[\"Help\"] = \"Help\";\n /**\n * The Pause key. Pauses the current application or state, if applicable.\n * Note: This shouldn't be confused with the \"MediaPause\" key value, which is used for media controllers, rather than to control applications and processes.\n */\n Key[\"Pause\"] = \"Pause\";\n /**\n * The Play key. Resumes a previously paused application, if applicable.\n * Note: This shouldn't be confused with the \"MediaPlay\" key value, which is used for media controllers, rather than to control applications and processes.\n */\n Key[\"Play\"] = \"Play\";\n /** The Props (Properties) key. */\n Key[\"Props\"] = \"Props\";\n /** The Select key. */\n Key[\"Select\"] = \"Select\";\n /** The ZoomIn key. */\n Key[\"ZoomIn\"] = \"ZoomIn\";\n /** The ZoomOut key. */\n Key[\"ZoomOut\"] = \"ZoomOut\";\n /** The Brightness Down key. Typically used to reduce the brightness of the display. */\n Key[\"BrightnessDown\"] = \"BrightnessDown\";\n /** The Brightness Up key. Typically increases the brightness of the display. */\n Key[\"BrightnessUp\"] = \"BrightnessUp\";\n /** The Eject key. Ejects removable media (or toggles an optical storage device tray open and closed). */\n Key[\"Eject\"] = \"Eject\";\n /** The LogOff key. */\n Key[\"LogOff\"] = \"LogOff\";\n /**\n * The Power button or key, to toggle power on and off.\n * Note: Not all systems pass this key through to the user agent.\n */\n Key[\"Power\"] = \"Power\";\n /** The PowerOff or PowerDown key. Shuts off the system. */\n Key[\"PowerOff\"] = \"PowerOff\";\n /** The PrintScreen or PrtScr key. Sometimes SnapShot. Captures the screen and prints it or saves it to disk. */\n Key[\"PrintScreen\"] = \"PrintScreen\";\n /** The Hibernate key. This saves the state of the computer to disk and then shuts down; the computer can be returned to its previous state by restoring the saved state information. */\n Key[\"Hibernate\"] = \"Hibernate\";\n /** The Standby key. (Also known as Suspend or Sleep.) This turns off the display and puts the computer in a low power consumption mode, without completely powering off. */\n Key[\"Standby\"] = \"Standby\";\n /** The WakeUp key. Used to wake the computer from the hibernation or standby modes. */\n Key[\"WakeUp\"] = \"WakeUp\";\n /** The All Candidates key, which starts multi-candidate mode, in which multiple candidates are displayed for the ongoing input. */\n Key[\"AllCandidates\"] = \"AllCandidates\";\n /** The Alphanumeric key. */\n Key[\"Alphanumeric\"] = \"Alphanumeric\";\n /** The Code Input key, which enables code input mode, which lets the user enter characters by typing their code points (their Unicode character numbers, typically). */\n Key[\"CodeInput\"] = \"CodeInput\";\n /** The Compose key. */\n Key[\"Compose\"] = \"Compose\";\n /** The Convert key, which instructs the IME to convert the current input method sequence into the resulting character. */\n Key[\"Convert\"] = \"Convert\";\n /**\n * A dead \"combining\" key; that is, a key which is used in tandem with other keys to generate accented and other modified characters. If pressed by itself, it doesn't generate a character.\n * If you wish to identify which specific dead key was pressed (in cases where more than one exists), you can do so by examining the KeyboardEvent's associated compositionupdate event's data property.\n */\n Key[\"Dead\"] = \"Dead\";\n /** The Final (Final Mode) key is used on some Asian keyboards to enter final mode when using IMEs. */\n Key[\"FinalMode\"] = \"FinalMode\";\n /** Switches to the first character group on an ISO/IEC 9995 keyboard. Each key may have multiple groups of characters, each in its own column. Pressing this key instructs the device to interpret keypresses as coming from the first column on subsequent keystrokes. */\n Key[\"GroupFirst\"] = \"GroupFirst\";\n /** Switches to the last character group on an ISO/IEC 9995 keyboard. */\n Key[\"GroupLast\"] = \"GroupLast\";\n /** Switches to the next character group on an ISO/IEC 9995 keyboard. */\n Key[\"GroupNext\"] = \"GroupNext\";\n /** Switches to the previous character group on an ISO/IEC 9995 keyboard. */\n Key[\"GroupPrevious\"] = \"GroupPrevious\";\n /** The Mode Change key. Toggles or cycles among input modes of IMEs. */\n Key[\"ModeChange\"] = \"ModeChange\";\n /** The Next Candidate function key. Selects the next possible match for the ongoing input. */\n Key[\"NextCandidate\"] = \"NextCandidate\";\n /** The NonConvert (\"Don't convert\") key. This accepts the current input method sequence without running conversion when using an IME. */\n Key[\"NonConvert\"] = \"NonConvert\";\n /** The Previous Candidate key. Selects the previous possible match for the ongoing input. */\n Key[\"PreviousCandidate\"] = \"PreviousCandidate\";\n /** The Process key. Instructs the IME to process the conversion. */\n Key[\"Process\"] = \"Process\";\n /** The Single Candidate key. Enables single candidate mode (as opposed to multi-candidate mode); in this mode, only one candidate is displayed at a time. */\n Key[\"SingleCandidate\"] = \"SingleCandidate\";\n /** The Hangul (Korean character set) mode key, which toggles between Hangul and English entry modes. */\n Key[\"HangulMode\"] = \"HangulMode\";\n /** Selects the Hanja mode, for converting Hangul characters to the more specific Hanja characters. */\n Key[\"HanjaMode\"] = \"HanjaMode\";\n /** Selects the Junja mode, in which Korean is represented using single-byte Latin characters. */\n Key[\"JunjaMode\"] = \"JunjaMode\";\n /** The Eisu key. This key's purpose is defined by the IME, but may be used to close the IME. */\n Key[\"Eisu\"] = \"Eisu\";\n /** The Hankaku (half-width characters) key. */\n Key[\"Hankaku\"] = \"Hankaku\";\n /** The Hiragana key; selects Kana characters mode. */\n Key[\"Hiragana\"] = \"Hiragana\";\n /** Toggles between the Hiragana and Katakana writing systems. */\n Key[\"HiraganaKatakana\"] = \"HiraganaKatakana\";\n /** The Kana Mode (Kana Lock) key. */\n Key[\"KanaMode\"] = \"KanaMode\";\n /** The Kanji Mode key. Enables entering Japanese text using the ideographic characters of Chinese origin. */\n Key[\"KanjiMode\"] = \"KanjiMode\";\n /** The Katakana key. */\n Key[\"Katakana\"] = \"Katakana\";\n /** The Romaji key; selects the Roman character set. */\n Key[\"Romaji\"] = \"Romaji\";\n /** The Zenkaku (full width) characters key. */\n Key[\"Zenkaku\"] = \"Zenkaku\";\n /** The Zenkaku/Hankaku (full width/half width) toggle key. */\n Key[\"ZenkakuHanaku\"] = \"ZenkakuHanaku\";\n /** The first general-purpose function key, F1. */\n Key[\"F1\"] = \"F1\";\n /** The F2 key. */\n Key[\"F2\"] = \"F2\";\n /** The F3 key. */\n Key[\"F3\"] = \"F3\";\n /** The F4 key. */\n Key[\"F4\"] = \"F4\";\n /** The F5 key. */\n Key[\"F5\"] = \"F5\";\n /** The F6 key. */\n Key[\"F6\"] = \"F6\";\n /** The F7 key. */\n Key[\"F7\"] = \"F7\";\n /** The F8 key. */\n Key[\"F8\"] = \"F8\";\n /** The F9 key. */\n Key[\"F9\"] = \"F9\";\n /** The F10 key. */\n Key[\"F10\"] = \"F10\";\n /** The F11 key. */\n Key[\"F11\"] = \"F11\";\n /** The F12 key. */\n Key[\"F12\"] = \"F12\";\n /** The F13 key. */\n Key[\"F13\"] = \"F13\";\n /** The F14 key. */\n Key[\"F14\"] = \"F14\";\n /** The F15 key. */\n Key[\"F15\"] = \"F15\";\n /** The F16 key. */\n Key[\"F16\"] = \"F16\";\n /** The F17 key. */\n Key[\"F17\"] = \"F17\";\n /** The F18 key. */\n Key[\"F18\"] = \"F18\";\n /** The F19 key. */\n Key[\"F19\"] = \"F19\";\n /** The F20 key. */\n Key[\"F20\"] = \"F20\";\n /** The first general-purpose virtual function key. */\n Key[\"Soft1\"] = \"Soft1\";\n /** The second general-purpose virtual function key. */\n Key[\"Soft2\"] = \"Soft2\";\n /** The third general-purpose virtual function key. */\n Key[\"Soft3\"] = \"Soft3\";\n /** The fourth general-purpose virtual function key. */\n Key[\"Soft4\"] = \"Soft4\";\n /** Presents a list of recently-used applications which lets the user change apps quickly. */\n Key[\"AppSwitch\"] = \"AppSwitch\";\n /** The Call key. Dials the number which has been entered. */\n Key[\"Call\"] = \"Call\";\n /** The Camera key. Activates the camera. */\n Key[\"Camera\"] = \"Camera\";\n /** The Focus key. Focuses the camera. */\n Key[\"CameraFocus\"] = \"CameraFocus\";\n /** The End Call or Hang Up button. */\n Key[\"EndCall\"] = \"EndCall\";\n /** The Back button. */\n Key[\"GoBack\"] = \"GoBack\";\n /** The Home button. Returns the user to the phone's main screen (usually an application launcher). */\n Key[\"GoHome\"] = \"GoHome\";\n /** The Headset Hook key. This is typically actually a button on the headset which is used to hang up calls and play or pause media. */\n Key[\"HeadsetHook\"] = \"HeadsetHook\";\n /** The Redial button. Redials the last-called number. */\n Key[\"LastNumberRedial\"] = \"LastNumberRedial\";\n /** The Notification key. */\n Key[\"Notification\"] = \"Notification\";\n /** A button which cycles among the notification modes: silent, vibrate, ring, and so forth. */\n Key[\"MannerMode\"] = \"MannerMode\";\n /** The Voice Dial key. Initiates voice dialing. */\n Key[\"VoiceDial\"] = \"VoiceDial\";\n /** Switches to the previous channel. */\n Key[\"ChannelDown\"] = \"ChannelDown\";\n /** Switches to the next channel. */\n Key[\"ChannelUp\"] = \"ChannelUp\";\n /** Starts, continues, or increases the speed of fast forwarding the media. */\n Key[\"MediaFastForward\"] = \"MediaFastForward\";\n /**\n * Pauses the currently playing media.\n * Note: Some older applications use simply \"Pause\", but this is not correct.\n */\n Key[\"MediaPause\"] = \"MediaPause\";\n /** Starts or continues playing media at normal speed, if not already doing so. Has no effect otherwise. */\n Key[\"MediaPlay\"] = \"MediaPlay\";\n /** Toggles between playing and pausing the current media. */\n Key[\"MediaPlayPause\"] = \"MediaPlayPause\";\n /** Starts or resumes recording media. */\n Key[\"MediaRecord\"] = \"MediaRecord\";\n /** Starts, continues, or increases the speed of rewinding the media. */\n Key[\"MediaRewind\"] = \"MediaRewind\";\n /** Stops the current media activity (such as playing, recording, pausing, forwarding, or rewinding). Has no effect if the media is currently stopped already. */\n Key[\"MediaStop\"] = \"MediaStop\";\n /** Seeks to the next media or program track. */\n Key[\"MediaTrackNext\"] = \"MediaTrackNext\";\n /** Seeks to the previous media or program track. */\n Key[\"MediaTrackPrevious\"] = \"MediaTrackPrevious\";\n /** Adjusts audio balance toward the left. */\n Key[\"AudioBalanceLeft\"] = \"AudioBalanceLeft\";\n /** Adjusts audio balance toward the right. */\n Key[\"AudioBalanceRight\"] = \"AudioBalanceRight\";\n /** Decreases the amount of bass. */\n Key[\"AudioBassDown\"] = \"AudioBassDown\";\n /** Reduces bass boosting or cycles downward through bass boost modes or states. */\n Key[\"AudioBassBoostDown\"] = \"AudioBassBoostDown\";\n /** Toggles bass boosting on and off. */\n Key[\"AudioBassBoostToggle\"] = \"AudioBassBoostToggle\";\n /** Increases the amoung of bass boosting, or cycles upward through a set of bass boost modes or states. */\n Key[\"AudioBassBoostUp\"] = \"AudioBassBoostUp\";\n /** Increases the amount of bass. */\n Key[\"AudioBassUp\"] = \"AudioBassUp\";\n /** Adjusts the audio fader toward the front. */\n Key[\"AudioFaderFront\"] = \"AudioFaderFront\";\n /** Adjusts the audio fader toward the rear. */\n Key[\"AudioFaderRear\"] = \"AudioFaderRear\";\n /** Selects the next available surround sound mode. */\n Key[\"AudioSurroundModeNext\"] = \"AudioSurroundModeNext\";\n /** Decreases the amount of treble. */\n Key[\"AudioTrebleDown\"] = \"AudioTrebleDown\";\n /** Increases the amount of treble. */\n Key[\"AudioTrebleUp\"] = \"AudioTrebleUp\";\n /** Decreases the audio volume. */\n Key[\"AudioVolumeDown\"] = \"AudioVolumeDown\";\n /** Mutes the audio. */\n Key[\"AudioVolumeMute\"] = \"AudioVolumeMute\";\n /** Increases the audio volume. */\n Key[\"AudioVolumeUp\"] = \"AudioVolumeUp\";\n /** Toggles the microphone on and off. */\n Key[\"MicrophoneToggle\"] = \"MicrophoneToggle\";\n /** Decreases the microphone's input volume. */\n Key[\"MicrophoneVolumeDown\"] = \"MicrophoneVolumeDown\";\n /** Mutes the microphone input. */\n Key[\"MicrophoneVolumeMute\"] = \"MicrophoneVolumeMute\";\n /** Increases the microphone's input volume. */\n Key[\"MicrophoneVolumeUp\"] = \"MicrophoneVolumeUp\";\n /** Switches into TV viewing mode. */\n Key[\"TV\"] = \"TV\";\n /** Toggles 3D TV mode on and off. */\n Key[\"TV3DMode\"] = \"TV3DMode\";\n /** Toggles between antenna and cable inputs. */\n Key[\"TVAntennaCable\"] = \"TVAntennaCable\";\n /** Toggles audio description mode on and off. */\n Key[\"TVAudioDescription\"] = \"TVAudioDescription\";\n /** Decreases trhe audio description's mixing volume; reduces the volume of the audio descriptions relative to the program sound. */\n Key[\"TVAudioDescriptionMixDown\"] = \"TVAudioDescriptionMixDown\";\n /** Increases the audio description's mixing volume; increases the volume of the audio descriptions relative to the program sound. */\n Key[\"TVAudioDescriptionMixUp\"] = \"TVAudioDescriptionMixUp\";\n /** Displays or hides the media contents available for playback (this may be a channel guide showing the currently airing programs, or a list of media files to play). */\n Key[\"TVContentsMenu\"] = \"TVContentsMenu\";\n /** Displays or hides the TV's data service menu. */\n Key[\"TVDataService\"] = \"TVDataService\";\n /** Cycles the input mode on an external TV. */\n Key[\"TVInput\"] = \"TVInput\";\n /** Switches to the input \"Component 1.\" */\n Key[\"TVInputComponent1\"] = \"TVInputComponent1\";\n /** Switches to the input \"Component 2.\" */\n Key[\"TVInputComponent2\"] = \"TVInputComponent2\";\n /** Switches to the input \"Composite 1.\" */\n Key[\"TVInputComposite1\"] = \"TVInputComposite1\";\n /** Switches to the input \"Composite 2.\" */\n Key[\"TVInputComposite2\"] = \"TVInputComposite2\";\n /** Switches to the input \"HDMI 1.\" */\n Key[\"TVInputHDMI1\"] = \"TVInputHDMI1\";\n /** Switches to the input \"HDMI 2.\" */\n Key[\"TVInputHDMI2\"] = \"TVInputHDMI2\";\n /** Switches to the input \"HDMI 3.\" */\n Key[\"TVInputHDMI3\"] = \"TVInputHDMI3\";\n /** Switches to the input \"HDMI 4.\" */\n Key[\"TVInputHDMI4\"] = \"TVInputHDMI4\";\n /** Switches to the input \"VGA 1.\" */\n Key[\"TVInputVGA1\"] = \"TVInputVGA1\";\n /** The Media Context menu key. */\n Key[\"TVMediaContext\"] = \"TVMediaContext\";\n /** Toggle the TV's network connection on and off. */\n Key[\"TVNetwork\"] = \"TVNetwork\";\n /** Put the TV into number entry mode. */\n Key[\"TVNumberEntry\"] = \"TVNumberEntry\";\n /** The device's power button. */\n Key[\"TVPower\"] = \"TVPower\";\n /** Radio button. */\n Key[\"TVRadioService\"] = \"TVRadioService\";\n /** Satellite button. */\n Key[\"TVSatellite\"] = \"TVSatellite\";\n /** Broadcast Satellite button. */\n Key[\"TVSatelliteBS\"] = \"TVSatelliteBS\";\n /** Communication Satellite button. */\n Key[\"TVSatelliteCS\"] = \"TVSatelliteCS\";\n /** Toggles among available satellites. */\n Key[\"TVSatelliteToggle\"] = \"TVSatelliteToggle\";\n /** Selects analog terrestrial television service (analog cable or antenna reception). */\n Key[\"TVTerrestrialAnalog\"] = \"TVTerrestrialAnalog\";\n /** Selects digital terrestrial television service (digital cable or antenna receiption). */\n Key[\"TVTerrestrialDigital\"] = \"TVTerrestrialDigital\";\n /** Timer programming button. */\n Key[\"TVTimer\"] = \"TVTimer\";\n /** Changes the input mode on an external audio/video receiver (AVR) unit. */\n Key[\"AVRInput\"] = \"AVRInput\";\n /** Toggles the power on an external AVR unit. */\n Key[\"AVRPower\"] = \"AVRPower\";\n /** General-purpose media function key, color-coded red. This has index 0 among the colored keys. */\n Key[\"ColorF0Red\"] = \"ColorF0Red\";\n /** General-purpose media funciton key, color-coded green. This has index 1 among the colored keys. */\n Key[\"ColorF1Green\"] = \"ColorF1Green\";\n /** General-purpose media funciton key, color-coded yellow. This has index 2 among the colored keys. */\n Key[\"ColorF2Yellow\"] = \"ColorF2Yellow\";\n /** General-purpose media funciton key, color-coded blue. This has index 3 among the colored keys. */\n Key[\"ColorF3Blue\"] = \"ColorF3Blue\";\n /** General-purpose media funciton key, color-coded grey. This has index 4 among the colored keys. */\n Key[\"ColorF4Grey\"] = \"ColorF4Grey\";\n /** General-purpose media funciton key, color-coded brown. This has index 5 among the colored keys. */\n Key[\"ColorF5Brown\"] = \"ColorF5Brown\";\n /** Toggles closed captioning on and off. */\n Key[\"ClosedCaptionToggle\"] = \"ClosedCaptionToggle\";\n /** Adjusts the brightness of the device by toggling between two brightness levels or by cycling among multiple brightness levels. */\n Key[\"Dimmer\"] = \"Dimmer\";\n /** Cycles among video sources. */\n Key[\"DisplaySwap\"] = \"DisplaySwap\";\n /** Switches the input source to the Digital Video Recorder (DVR). */\n Key[\"DVR\"] = \"DVR\";\n /** The Exit button, which exits the curreent application or menu. */\n Key[\"Exit\"] = \"Exit\";\n /** Clears the program or content stored in the first favorites list slot. */\n Key[\"FavoriteClear0\"] = \"FavoriteClear0\";\n /** Clears the program or content stored in the second favorites list slot. */\n Key[\"FavoriteClear1\"] = \"FavoriteClear1\";\n /** Clears the program or content stored in the third favorites list slot. */\n Key[\"FavoriteClear2\"] = \"FavoriteClear2\";\n /** Clears the program or content stored in the fourth favorites list slot. */\n Key[\"FavoriteClear3\"] = \"FavoriteClear3\";\n /** Selects (recalls) the program or content stored in the first favorites list slot. */\n Key[\"FavoriteRecall0\"] = \"FavoriteRecall0\";\n /** Selects (recalls) the program or content stored in the second favorites list slot. */\n Key[\"FavoriteRecall1\"] = \"FavoriteRecall1\";\n /** Selects (recalls) the program or content stored in the third favorites list slot. */\n Key[\"FavoriteRecall2\"] = \"FavoriteRecall2\";\n /** Selects (recalls) the program or content stored in the fourth favorites list slot. */\n Key[\"FavoriteRecall3\"] = \"FavoriteRecall3\";\n /** Stores the current program or content into the first favorites list slot. */\n Key[\"FavoriteStore0\"] = \"FavoriteStore0\";\n /** Stores the current program or content into the second favorites list slot. */\n Key[\"FavoriteStore1\"] = \"FavoriteStore1\";\n /** Stores the current program or content into the third favorites list slot. */\n Key[\"FavoriteStore2\"] = \"FavoriteStore2\";\n /** Stores the current program or content into the fourth favorites list slot. */\n Key[\"FavoriteStore3\"] = \"FavoriteStore3\";\n /** Toggles the display of the program or content guide. */\n Key[\"Guide\"] = \"Guide\";\n /** If the guide is currently displayed, this button tells the guide to display the next day's content. */\n Key[\"GuideNextDay\"] = \"GuideNextDay\";\n /** If the guide is currently displayed, this button tells the guide to display the previous day's content. */\n Key[\"GuidePreviousDay\"] = \"GuidePreviousDay\";\n /** Toggles the display of information about the currently selected content, program, or media. */\n Key[\"Info\"] = \"Info\";\n /** Tellls the device to perform an instant replay (typically some form of jumping back a short amount of time then playing it again, possibly but not usually in slow motion). */\n Key[\"InstantReplay\"] = \"InstantReplay\";\n /** Opens content liniked to the current program, if available and possible. */\n Key[\"Link\"] = \"Link\";\n /** Lists the current program. */\n Key[\"ListProgram\"] = \"ListProgram\";\n /** Toggles a display listing currently available live content or programs. */\n Key[\"LiveContent\"] = \"LiveContent\";\n /** Locks or unlocks the currently selected content or pgoram. */\n Key[\"Lock\"] = \"Lock\";\n /** Presents a list of media applications, such as photo viewers, audio and video players, and games. [1] */\n Key[\"MediaApps\"] = \"MediaApps\";\n /** The Audio Track key. */\n Key[\"MediaAudioTrack\"] = \"MediaAudioTrack\";\n /** Jumps back to the last-viewed content, program, or other media. */\n Key[\"MediaLast\"] = \"MediaLast\";\n /** Skips backward to the previous content or program. */\n Key[\"MediaSkipBackward\"] = \"MediaSkipBackward\";\n /** Skips forward to the next content or program. */\n Key[\"MediaSkipForward\"] = \"MediaSkipForward\";\n /** Steps backward to the previous content or program. */\n Key[\"MediaStepBackward\"] = \"MediaStepBackward\";\n /** Steps forward to the next content or program. */\n Key[\"MediaStepForward\"] = \"MediaStepForward\";\n /** Top Menu button. Opens the media's main menu (e.g., for a DVD or Blu-Ray disc). */\n Key[\"MediaTopMenu\"] = \"MediaTopMenu\";\n /** Navigates into a submenu or option. */\n Key[\"NavigateIn\"] = \"NavigateIn\";\n /** Navigates to the next item. */\n Key[\"NavigateNext\"] = \"NavigateNext\";\n /** Navigates out of the current screen or menu. */\n Key[\"NavigateOut\"] = \"NavigateOut\";\n /** Navigates to the previous item. */\n Key[\"NavigatePrevious\"] = \"NavigatePrevious\";\n /** Cycles to the next channel in the favorites list. */\n Key[\"NextFavoriteChannel\"] = \"NextFavoriteChannel\";\n /** Cycles to the next saved user profile, if this feature is supported and multiple profiles exist. */\n Key[\"NextUserProfile\"] = \"NextUserProfile\";\n /** Opens the user interface for selecting on demand content or programs to watch. */\n Key[\"OnDemand\"] = \"OnDemand\";\n /** Starts the process of pairing the remote with a device to be controlled. */\n Key[\"Pairing\"] = \"Pairing\";\n /** A button to move the picture-in-picture view downward. */\n Key[\"PinPDown\"] = \"PinPDown\";\n /** A button to control moving the picture-in-picture view. */\n Key[\"PinPMove\"] = \"PinPMove\";\n /** Toggles display of th epicture-in-picture view on and off. */\n Key[\"PinPToggle\"] = \"PinPToggle\";\n /** A button to move the picture-in-picture view upward. */\n Key[\"PinPUp\"] = \"PinPUp\";\n /** Decreases the media playback rate. */\n Key[\"PlaySpeedDown\"] = \"PlaySpeedDown\";\n /** Returns the media playback rate to normal. */\n Key[\"PlaySpeedReset\"] = \"PlaySpeedReset\";\n /** Increases the media playback rate. */\n Key[\"PlaySpeedUp\"] = \"PlaySpeedUp\";\n /** Toggles random media (also known as \"shuffle mode\") on and off. */\n Key[\"RandomToggle\"] = \"RandomToggle\";\n /** A code sent when the remote control's battery is low. This doesn't actually correspond to a physical key at all. */\n Key[\"RcLowBattery\"] = \"RcLowBattery\";\n /** Cycles among the available media recording speeds. */\n Key[\"RecordSpeedNext\"] = \"RecordSpeedNext\";\n /** Toggles radio frequency (RF) input bypass mode on and off. RF bypass mode passes RF input directly to the RF output without any processing or filtering. */\n Key[\"RfBypass\"] = \"RfBypass\";\n /** Toggles the channel scan mode on and off. This is a mode which flips through channels automatically until the user stops the scan. */\n Key[\"ScanChannelsToggle\"] = \"ScanChannelsToggle\";\n /** Cycles through the available screen display modes. */\n Key[\"ScreenModeNext\"] = \"ScreenModeNext\";\n /** Toggles display of the device's settings screen on and off. */\n Key[\"Settings\"] = \"Settings\";\n /** Toggles split screen display mode on and off. */\n Key[\"SplitScreenToggle\"] = \"SplitScreenToggle\";\n /** Cycles among input modes on an external set-top box (STB). */\n Key[\"STBInput\"] = \"STBInput\";\n /** Toggles on and off an external STB. */\n Key[\"STBPower\"] = \"STBPower\";\n /** Toggles the display of subtitles on and off if they're available. */\n Key[\"Subtitle\"] = \"Subtitle\";\n /** Toggles display of teletext, if available. */\n Key[\"Teletext\"] = \"Teletext\";\n /** Cycles through the available video modes. */\n Key[\"VideoModeNext\"] = \"VideoModeNext\";\n /** Causes the device to identify itself in some fashion, such as by flashing a light, briefly changing the brightness of indicator lights, or emitting a tone. */\n Key[\"Wink\"] = \"Wink\";\n /** Toggles between full-screen and scaled content display, or otherwise change the magnification level. */\n Key[\"ZoomToggle\"] = \"ZoomToggle\";\n /** Presents a list of possible corrections for a word which was incorrectly identified. */\n Key[\"SpeechCorrectionList\"] = \"SpeechCorrectionList\";\n /** Toggles between dictation mode and command/control mode. This lets the speech engine know whether to interpret spoken words as input text or as commands. */\n Key[\"SpeechInputToggle\"] = \"SpeechInputToggle\";\n /** Closes the current document or message. Must not exit the application. */\n Key[\"Close\"] = \"Close\";\n /** Creates a new document or message. */\n Key[\"New\"] = \"New\";\n /** Opens an existing document or message. */\n Key[\"Open\"] = \"Open\";\n /** Prints the current document or message. */\n Key[\"Print\"] = \"Print\";\n /** Saves the current document or message. */\n Key[\"Save\"] = \"Save\";\n /** Starts spell checking the current document. */\n Key[\"SpellCheck\"] = \"SpellCheck\";\n /** Opens the user interface to forward a message. */\n Key[\"MailForward\"] = \"MailForward\";\n /** Opens the user interface to reply to a message. */\n Key[\"MailReply\"] = \"MailReply\";\n /** Sends the current message. */\n Key[\"MailSend\"] = \"MailSend\";\n /** The Calculator key, often labeled with an icon. This is often used as a generic application launcher key (APPCOMMAND_LAUNCH_APP2). */\n Key[\"LaunchCalculator\"] = \"LaunchCalculator\";\n /** The Calendar key. Often labeled with an icon. */\n Key[\"LaunchCalendar\"] = \"LaunchCalendar\";\n /** The Contacts key. */\n Key[\"LaunchContacts\"] = \"LaunchContacts\";\n /** The Mail key. Often labeled with an icon. */\n Key[\"LaunchMail\"] = \"LaunchMail\";\n /** The Media Player key. */\n Key[\"LaunchMediaPlayer\"] = \"LaunchMediaPlayer\";\n /** The Music Player key. Often labeled with an icon. */\n Key[\"LaunchMusicPlayer\"] = \"LaunchMusicPlayer\";\n /** The My Computer key on Windows keyboards. This is often used as a generic application launcher key (APPCOMMAND_LAUNCH_APP1). */\n Key[\"LaunchMyComputer\"] = \"LaunchMyComputer\";\n /** The Phone key. Opens the phone dialer application (if one is present). */\n Key[\"LaunchPhone\"] = \"LaunchPhone\";\n /** The Screen Saver key. */\n Key[\"LaunchScreenSaver\"] = \"LaunchScreenSaver\";\n /** The Spreadsheet key. This key may be labeled with an icon. */\n Key[\"LaunchSpreadsheet\"] = \"LaunchSpreadsheet\";\n /** The Web Browser key. This key is frequently labeled with an icon. */\n Key[\"LaunchWebBrowser\"] = \"LaunchWebBrowser\";\n /** The WebCam key. Opens the webcam application. */\n Key[\"LaunchWebCam\"] = \"LaunchWebCam\";\n /** The Word Processor key. This may be an icon of a specific word processor application, or a generic document icon. */\n Key[\"LaunchWordProcessor\"] = \"LaunchWordProcessor\";\n /** The first generic application launcher button. */\n Key[\"LaunchApplication1\"] = \"LaunchApplication1\";\n /** The second generic application launcher button. */\n Key[\"LaunchApplication2\"] = \"LaunchApplication2\";\n /** The third generic application launcher button. */\n Key[\"LaunchApplication3\"] = \"LaunchApplication3\";\n /** The fourth generic application launcher button. */\n Key[\"LaunchApplication4\"] = \"LaunchApplication4\";\n /** The fifth generic application launcher button. */\n Key[\"LaunchApplication5\"] = \"LaunchApplication5\";\n /** The sixth generic application launcher button. */\n Key[\"LaunchApplication6\"] = \"LaunchApplication6\";\n /** The seventh generic application launcher button. */\n Key[\"LaunchApplication7\"] = \"LaunchApplication7\";\n /** The eighth generic application launcher button. */\n Key[\"LaunchApplication8\"] = \"LaunchApplication8\";\n /** The ninth generic application launcher button. */\n Key[\"LaunchApplication9\"] = \"LaunchApplication9\";\n /** The 10th generic application launcher button. */\n Key[\"LaunchApplication10\"] = \"LaunchApplication10\";\n /** The 11th generic application launcher button. */\n Key[\"LaunchApplication11\"] = \"LaunchApplication11\";\n /** The 12th generic application launcher button. */\n Key[\"LaunchApplication12\"] = \"LaunchApplication12\";\n /** The 13th generic application launcher button. */\n Key[\"LaunchApplication13\"] = \"LaunchApplication13\";\n /** The 14th generic application launcher button. */\n Key[\"LaunchApplication14\"] = \"LaunchApplication14\";\n /** The 15th generic application launcher button. */\n Key[\"LaunchApplication15\"] = \"LaunchApplication15\";\n /** The 16th generic application launcher button. */\n Key[\"LaunchApplication16\"] = \"LaunchApplication16\";\n /** Navigates to the previous content or page in the current Web view's history. */\n Key[\"BrowserBack\"] = \"BrowserBack\";\n /** Opens the user's list of bookmarks/favorites. */\n Key[\"BrowserFavorites\"] = \"BrowserFavorites\";\n /** Navigates to the next content or page in the current Web view's history. */\n Key[\"BrowserForward\"] = \"BrowserForward\";\n /** Navigates to the user's preferred home page. */\n Key[\"BrowserHome\"] = \"BrowserHome\";\n /** Refreshes the current page or content. */\n Key[\"BrowserRefresh\"] = \"BrowserRefresh\";\n /** Activates the user's preferred search engine or the search interface within their browser. */\n Key[\"BrowserSearch\"] = \"BrowserSearch\";\n /** Stops loading the currently displayed Web view or content. */\n Key[\"BrowserStop\"] = \"BrowserStop\";\n /**\n * The decimal point key (typically . or , depending on the region).\n * In newer browsers, this value to simply be the character generated by the decimal key (one of those two characters). [1]\n */\n Key[\"Decimal\"] = \"Decimal\";\n /** The 11 key found on certain media numeric keypads. */\n Key[\"Key11\"] = \"Key11\";\n /** The 12 key found on certain media numeric keypads. */\n Key[\"Key12\"] = \"Key12\";\n /** The numeric keypad's multiplication key, *. */\n Key[\"Multiply\"] = \"Multiply\";\n /** The numeric keypad's addition key, +. */\n Key[\"Add\"] = \"Add\";\n /** The numeric keypad's division key, /. */\n Key[\"Divide\"] = \"Divide\";\n /** The numeric keypad's subtraction key, -. */\n Key[\"Subtract\"] = \"Subtract\";\n /**\n * The numeric keypad's places separator character.\n * (In the United States this is a comma, but elsewhere it is frequently a period.)\n */\n Key[\"Separator\"] = \"Separator\";\n})(Key || (Key = {}));\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/keyboard/keyCode.js?");
/***/ }),
/***/ "../event-manager/es/keyboard/listener/index.js":
/*!******************************************************!*\
!*** ../event-manager/es/keyboard/listener/index.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HotKeyListener: () => (/* binding */ HotKeyListener)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"../event-manager/es/keyboard/listener/util.js\");\n\n\n\n/**\n * 快捷键注册器\n */\nvar HotKeyListener = /*#__PURE__*/function () {\n function HotKeyListener(dom, listener) {\n var _this = this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, HotKeyListener);\n this.isTriggering = false;\n /**\n * 存储所有快捷键的映射\n *\n * key: hotkey\n */\n this.keyMap = {};\n this.onKeyDown = function (event) {\n _this.triggerHandler(event, _util__WEBPACK_IMPORTED_MODULE_2__.HotKeyEventType.KeyDown);\n };\n this.onKeyPress = function (event) {\n //\n };\n this.onKeyUp = function (event) {\n _this.triggerHandler(event, _util__WEBPACK_IMPORTED_MODULE_2__.HotKeyEventType.KeyUp);\n };\n this.dom = dom;\n this.listener = listener;\n this.addListener(this.dom);\n }\n /**\n * 添加快捷键\n * @param hotkey\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(HotKeyListener, [{\n key: \"register\",\n value: function register(hotkey) {\n var key = (0,_util__WEBPACK_IMPORTED_MODULE_2__.createKeyByHotKey)(hotkey);\n this.keyMap[key] = hotkey;\n return true;\n }\n /**\n * 移除快捷键\n * @param hotkey\n */\n }, {\n key: \"deregister\",\n value: function deregister(hotkey) {\n var key = (0,_util__WEBPACK_IMPORTED_MODULE_2__.createKeyByHotKey)(hotkey);\n delete this.keyMap[key];\n return true;\n }\n }, {\n key: \"addListener\",\n value: function addListener(dom) {\n // todo 考虑 keydown keypress keyup 的补充场景\n dom.addEventListener('keydown', this.onKeyDown);\n // dom.addEventListener('keypress', this.onKeyPress);\n dom.addEventListener('keyup', this.onKeyUp);\n }\n }, {\n key: \"removeListener\",\n value: function removeListener(dom) {\n dom.removeEventListener('keydown', this.onKeyDown);\n // dom.removeEventListener('keypress', this.onKeyPress);\n dom.removeEventListener('keyup', this.onKeyUp);\n }\n }, {\n key: \"triggerHandler\",\n value: function triggerHandler(event, keyEventType) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.isValidEvent)(event)) {\n // eslint-disable-next-line no-useless-return\n return;\n }\n if (this.isTriggering && keyEventType === _util__WEBPACK_IMPORTED_MODULE_2__.HotKeyEventType.KeyUp) {\n var _key = (0,_util__WEBPACK_IMPORTED_MODULE_2__.createKeyByUpEvent)(event);\n if (typeof this.keyMap[_key] === 'string') {\n var listener = this.listener;\n // 触发快捷键\n listener(this.keyMap[_key], keyEventType);\n this.isTriggering = false;\n }\n return;\n }\n var key = (0,_util__WEBPACK_IMPORTED_MODULE_2__.createKeyByEvent)(event);\n if (typeof this.keyMap[key] === 'string') {\n var _listener = this.listener;\n // 触发快捷键\n _listener(this.keyMap[key], keyEventType);\n this.isTriggering = true;\n }\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/keyboard/listener/index.js?");
/***/ }),
/***/ "../event-manager/es/keyboard/listener/util.js":
/*!*****************************************************!*\
!*** ../event-manager/es/keyboard/listener/util.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HotKeyEventType: () => (/* binding */ HotKeyEventType),\n/* harmony export */ Modifiers: () => (/* binding */ Modifiers),\n/* harmony export */ createKeyByEvent: () => (/* binding */ createKeyByEvent),\n/* harmony export */ createKeyByHotKey: () => (/* binding */ createKeyByHotKey),\n/* harmony export */ createKeyByUpEvent: () => (/* binding */ createKeyByUpEvent),\n/* harmony export */ isValidEvent: () => (/* binding */ isValidEvent)\n/* harmony export */ });\n/* harmony import */ var _keyCode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../keyCode */ \"../event-manager/es/keyboard/keyCode.js\");\n\nvar HotKeyEventType;\n(function (HotKeyEventType) {\n HotKeyEventType[\"KeyDown\"] = \"key-down\";\n HotKeyEventType[\"KeyUp\"] = \"key-up\";\n})(HotKeyEventType || (HotKeyEventType = {}));\nvar Modifiers = {\n Node: {\n key: 'none',\n code: 0\n },\n Shift: {\n key: 'shift',\n code: 1\n },\n Ctrl: {\n key: 'ctrl',\n code: 2\n },\n Control: {\n key: 'control',\n code: 2\n },\n Alt: {\n key: 'alt',\n code: 4\n },\n Meta: {\n key: 'meta',\n code: 8\n }\n};\nvar Node = Modifiers.Node,\n Shift = Modifiers.Shift,\n Ctrl = Modifiers.Ctrl,\n Control = Modifiers.Control,\n Alt = Modifiers.Alt,\n Meta = Modifiers.Meta;\n/**\n * 根据快捷键构建 标示key\n */\nfunction createKeyByHotKey(hotkey) {\n var keys = hotkey.replace(/[ +]*\\+[ +]*/g, '+').toLowerCase().split('+');\n var length = keys.length;\n var modifiers = Node.code;\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (key === Shift.key) {\n modifiers |= Shift.code;\n } else if (key === Ctrl.key) {\n modifiers |= Ctrl.code;\n } else if (key === Control.key) {\n modifiers |= Control.code;\n } else if (key === Alt.key) {\n modifiers |= Alt.code;\n } else if (key === Meta.key) {\n modifiers |= Meta.code;\n }\n }\n var currentKey = keys[length - 1];\n if (currentKey === _keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Ctrl.toLowerCase()) {\n return \"\".concat(_keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Control.toLowerCase(), \"@\").concat(modifiers);\n }\n return \"\".concat(currentKey, \"@\").concat(modifiers);\n}\n/**\n * 根据键盘事件构建 标示key\n */\nfunction createKeyByEvent(event) {\n var modifiers = Node.code;\n if (event.shiftKey) {\n modifiers |= Shift.code;\n }\n if (event.altKey) {\n modifiers |= Alt.code;\n }\n if (event.ctrlKey) {\n modifiers |= Ctrl.code;\n }\n if (event.metaKey) {\n modifiers |= Meta.code;\n }\n var key = event.key.toLowerCase();\n return \"\".concat(key, \"@\").concat(modifiers);\n}\nfunction createKeyByUpEvent(event) {\n var key = event.key.toLowerCase();\n var modifiers = Node.code;\n if (event.shiftKey) {\n modifiers |= Shift.code;\n } else if (key === _keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Shift.toLowerCase()) {\n modifiers |= Shift.code;\n return \"\".concat(_keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Shift.toLowerCase(), \"@\").concat(modifiers);\n }\n if (event.altKey) {\n modifiers |= Alt.code;\n } else if (key === _keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Alt.toLowerCase()) {\n modifiers |= Alt.code;\n return \"\".concat(_keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Alt.toLowerCase(), \"@\").concat(modifiers);\n }\n if (event.ctrlKey) {\n modifiers |= Ctrl.code;\n } else if (key === _keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Control.toLowerCase()) {\n modifiers |= Ctrl.code;\n return \"\".concat(_keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Control.toLowerCase(), \"@\").concat(modifiers);\n }\n if (event.metaKey) {\n modifiers |= Meta.code;\n } else if (key === _keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Meta.toLowerCase()) {\n modifiers |= Meta.code;\n return \"\".concat(_keyCode__WEBPACK_IMPORTED_MODULE_0__.Key.Meta.toLowerCase(), \"@\").concat(modifiers);\n }\n return \"\".concat(key, \"@\").concat(modifiers);\n}\nfunction isValidEvent(event) {\n // const key = event.key;\n // 忽略 'shift' 'alt' 'ctrl' 'meta' 等辅助按键\n // if (key === Key.Shift ||\n // key === Key.Alt ||\n // key === Key.Control ||\n // key === Key.Meta) {\n // return false;\n // }\n var target = event.target;\n // 忽略要改变输入的表单元素\n if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement) {\n return false;\n }\n return true;\n}\n\n//# sourceURL=webpack://CommandManager/../event-manager/es/keyboard/listener/util.js?");
/***/ }),
/***/ "../math/es/MathUtils.js":
/*!*******************************!*\
!*** ../math/es/MathUtils.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MathUtils: () => (/* binding */ MathUtils)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base/Tolerance */ \"../math/es/base/Tolerance.js\");\n/* harmony import */ var _base_Vector2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base/Vector2 */ \"../math/es/base/Vector2.js\");\n\n\n\nvar _lut = [];\nfor (var i = 0; i < 256; i++) {\n _lut[i] = (i < 16 ? '0' : '') + i.toString(16);\n}\nvar _seed = 1234567;\nvar MathUtils = {\n DEG2RAD: Math.PI / 180,\n RAD2DEG: 180 / Math.PI,\n generateUUID: function generateUUID() {\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n var d0 = Math.random() * 0xffffffff | 0;\n var d1 = Math.random() * 0xffffffff | 0;\n var d2 = Math.random() * 0xffffffff | 0;\n var d3 = Math.random() * 0xffffffff | 0;\n var uuid = \"\".concat(_lut[d0 & 0xff] + _lut[d0 >> 8 & 0xff] + _lut[d0 >> 16 & 0xff] + _lut[d0 >> 24 & 0xff], \"-\").concat(_lut[d1 & 0xff]).concat(_lut[d1 >> 8 & 0xff], \"-\").concat(_lut[d1 >> 16 & 0x0f | 0x40]).concat(_lut[d1 >> 24 & 0xff], \"-\").concat(_lut[d2 & 0x3f | 0x80]).concat(_lut[d2 >> 8 & 0xff], \"-\").concat(_lut[d2 >> 16 & 0xff]).concat(_lut[d2 >> 24 & 0xff]).concat(_lut[d3 & 0xff]).concat(_lut[d3 >> 8 & 0xff]).concat(_lut[d3 >> 16 & 0xff]).concat(_lut[d3 >> 24 & 0xff]);\n // .toUpperCase() here flattens concatenated strings to save heap memory space.\n return uuid.toUpperCase();\n },\n clamp: function clamp(value, min, max) {\n return Math.max(min, Math.min(max, value));\n },\n // compute euclidian modulo of m % n\n // https://en.wikipedia.org/wiki/Modulo_operation\n euclideanModulo: function euclideanModulo(n, m) {\n return (n % m + m) % m;\n },\n // Linear mapping from range <a1, a2> to range <b1, b2>\n mapLinear: function mapLinear(x, a1, a2, b1, b2) {\n return b1 + (x - a1) * (b2 - b1) / (a2 - a1);\n },\n // https://en.wikipedia.org/wiki/Linear_interpolation\n lerp: function lerp(x, y, t) {\n return (1 - t) * x + t * y;\n },\n // http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/\n damp: function damp(x, y, lambda, dt) {\n return MathUtils.lerp(x, y, 1 - Math.exp(-lambda * dt));\n },\n // https://www.desmos.com/calculator/vcsjnyz7x4\n pingpong: function pingpong(x) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return length - Math.abs(MathUtils.euclideanModulo(x, length * 2) - length);\n },\n // http://en.wikipedia.org/wiki/Smoothstep\n smoothstep: function smoothstep(x, min, max) {\n if (x <= min) return 0;\n if (x >= max) return 1;\n x = (x - min) / (max - min);\n return x * x * (3 - 2 * x);\n },\n smootherstep: function smootherstep(x, min, max) {\n if (x <= min) return 0;\n if (x >= max) return 1;\n x = (x - min) / (max - min);\n return x * x * x * (x * (x * 6 - 15) + 10);\n },\n // Random integer from <low, high> interval\n randInt: function randInt(low, high) {\n return low + Math.floor(Math.random() * (high - low + 1));\n },\n // Random float from <low, high> interval\n randFloat: function randFloat(low, high) {\n return low + Math.random() * (high - low);\n },\n // Random float from <-range/2, range/2> interval\n randFloatSpread: function randFloatSpread(range) {\n return range * (0.5 - Math.random());\n },\n // Deterministic pseudo-random float in the interval [ 0, 1 ]\n seededRandom: function seededRandom(s) {\n if (s !== undefined) _seed = s % 2147483647;\n // Park-Miller algorithm\n _seed = _seed * 16807 % 2147483647;\n return (_seed - 1) / 2147483646;\n },\n degToRad: function degToRad(degrees) {\n return degrees * MathUtils.DEG2RAD;\n },\n radToDeg: function radToDeg(radians) {\n return radians * MathUtils.RAD2DEG;\n },\n isPowerOfTwo: function isPowerOfTwo(value) {\n return (value & value - 1) === 0 && value !== 0;\n },\n ceilPowerOfTwo: function ceilPowerOfTwo(value) {\n return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2));\n },\n floorPowerOfTwo: function floorPowerOfTwo(value) {\n return Math.pow(2, Math.floor(Math.log(value) / Math.LN2));\n },\n setQuaternionFromProperEuler: function setQuaternionFromProperEuler(q, a, b, c, order) {\n // Intrinsic Proper Euler Angles - see https://en.wikipedia.org/wiki/Euler_angles\n // rotations are applied to the axes in the order specified by 'order'\n // rotation by angle 'a' is applied first, then by angle 'b', then by angle 'c'\n // angles are in radians\n var cos = Math.cos;\n var sin = Math.sin;\n var c2 = cos(b / 2);\n var s2 = sin(b / 2);\n var c13 = cos((a + c) / 2);\n var s13 = sin((a + c) / 2);\n var c1_3 = cos((a - c) / 2);\n var s1_3 = sin((a - c) / 2);\n var c3_1 = cos((c - a) / 2);\n var s3_1 = sin((c - a) / 2);\n switch (order) {\n case 'XYX':\n q.set(c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13);\n break;\n case 'YZY':\n q.set(s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13);\n break;\n case 'ZXZ':\n q.set(s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13);\n break;\n case 'XZX':\n q.set(c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13);\n break;\n case 'YXY':\n q.set(s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13);\n break;\n case 'ZYZ':\n q.set(s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13);\n break;\n default:\n console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \".concat(order));\n }\n },\n isEqual: function isEqual(num1, num2, tol) {\n var tolerance = tol || _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__.Tolerance.global.numTol;\n if (num1 === num2) {\n return true;\n }\n return Math.abs(num1 - num2) <= tolerance;\n },\n isZero: function isZero(num, tol) {\n return MathUtils.isEqual(num, 0, tol);\n },\n /**\n * Check wether num1 is smaller than num2 with specified tolerance.\n * Global (default) tolerance will be used if tol is not provided.\n * @param num1\n * @param num2\n * @param tol\n */\n isSmaller: function isSmaller(num1, num2, tol) {\n var tolerance = tol || _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__.Tolerance.global.numTol;\n var diff = num1 - num2;\n return diff < -tolerance;\n },\n /**\n * Check whether num1 is bigger than num2 with specified tolerance.\n * Global (default) tolerance will be used if tol is not provided.\n * @param num1\n * @param num2\n * @param tol\n */\n isBigger: function isBigger(num1, num2, tol) {\n var tolerance = tol || _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__.Tolerance.global.numTol;\n var diff = num1 - num2;\n return diff > tolerance;\n },\n /**\n * Check whether num1 is smaller than or equal to num2 with specified tolerance.\n * Global (default) tolerance will be used if tol is not provided.\n * @param num1\n * @param num2\n * @param tol\n */\n isSmallerOrEqual: function isSmallerOrEqual(num1, num2, tol) {\n var tolerance = tol || _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__.Tolerance.global.numTol;\n var diff = num1 - num2;\n return diff <= tolerance;\n },\n /**\n * Check whether num1 is bigger than or equal to num2 with specified tolerance.\n * Global (default) tolerance will be used if tol is not provided.\n * @param num1\n * @param num2\n * @param tol\n */\n isBiggerOrEqual: function isBiggerOrEqual(num1, num2, tol) {\n var tolerance = tol || _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__.Tolerance.global.numTol;\n var diff = num1 - num2;\n return diff >= -tolerance;\n },\n /**\n * Check whether a number is in a range with specified tolerance.\n * Global (default) tolerance will be used if tol is not provided.\n * @param value the value to be checked.\n * @param min the range's lower limit.\n * @param max the range's upper limit.\n * @param minOpen whether the range's lower limit is open, default is false.\n * @param maxOpen whether the range's upper limit is open, default is false.\n * @param tol\n */\n isInRange: function isInRange(value, min, max, minOpen, maxOpen, tol) {\n var tolerance = tol || _base_Tolerance__WEBPACK_IMPORTED_MODULE_1__.Tolerance.global.numTol;\n var diffMin = value - min;\n var diffMax = value - max;\n var biggerMin = minOpen ? diffMin > tolerance : diffMin >= -tolerance;\n var smallerMax = maxOpen ? diffMax < -tolerance : diffMax <= tolerance;\n return biggerMin && smallerMax;\n },\n /**\n * Compare two numbers:\n * If num1 is fuzzy equal to num2, return 0.\n * If num1 is fuzzy bigger than num2, return 1.\n * If num1 is fuzzy smaller than num2, return -1.\n * If num1 or num2 is a NaN, throw exception.\n * @param num1\n * @param num2\n * @param tol\n */\n compare: function compare(num1, num2, tol) {\n if (Number.isNaN(num1) || Number.isNaN(num2)) {\n throw Error('Invalid NaN number');\n }\n if (MathUtils.isEqual(num1, num2, tol)) {\n return 0;\n }\n if (num1 < num2) {\n return -1;\n }\n return 1;\n },\n /**\n * 单向线性插值\n */\n interpolation: function interpolation(start, end) {\n var segments = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var v = end.subtracted(start);\n var step = v.length / segments;\n var points = [];\n var n = v.normalized();\n for (var index = 0; index < segments - 1; index++) {\n points.push(start.added(n.clone().multiplyScalar(step * (index + 1))));\n }\n points.unshift(start.clone());\n points.push(end.clone());\n return points;\n },\n /**\n * 根据四方点生成网格\n * @param quadPositions 四方点,左上角为起点,按照顺时针顺序\n * @param widthSegments 宽度分割段数\n * @param heightSegments 高度分割段数\n */\n generateMeshByQuad: function generateMeshByQuad(quadPositions) {\n var widthSegments = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n var heightSegments = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var indices = [];\n var vertices = [];\n var normals = [];\n var uvs = [];\n var a1 = MathUtils.interpolation(quadPositions[0], quadPositions[1], widthSegments);\n var a2 = MathUtils.interpolation(quadPositions[3], quadPositions[2], widthSegments);\n var a3 = a1.map(function (v, i) {\n return MathUtils.interpolation(v.clone(), a2[i].clone(), heightSegments);\n });\n var _loop = function _loop(_i) {\n if (_i === 0) {\n vertices.push.apply(vertices, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a1.flatMap(function (a) {\n return a.toArray();\n })));\n } else if (_i === heightSegments) {\n vertices.push.apply(vertices, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a2.flatMap(function (a) {\n return a.toArray();\n })));\n } else {\n vertices.push.apply(vertices, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a3.flatMap(function (a) {\n return a[_i].toArray();\n })));\n }\n for (var _j = 0; _j <= widthSegments; _j++) {\n normals.push(0, 0, 1);\n uvs.push(_j * (1 / widthSegments), _i * (1 / heightSegments));\n }\n };\n for (var _i = 0; _i <= heightSegments; _i++) {\n _loop(_i);\n }\n for (var _i2 = 0; _i2 < heightSegments; _i2++) {\n for (var j = 0; j < widthSegments; j++) {\n var a = _i2 * (widthSegments + 1) + (j + 1);\n var b = _i2 * (widthSegments + 1) + j;\n var c = (_i2 + 1) * (widthSegments + 1) + j;\n var d = (_i2 + 1) * (widthSegments + 1) + (j + 1);\n indices.push(a, b, d);\n indices.push(b, c, d);\n }\n }\n return {\n indices: indices,\n vertices: vertices,\n normals: normals,\n uvs: uvs\n };\n },\n /** 把无序的点排序成顺逆时针的邻接点,只支持凸多边形 */clockwisePoints: function clockwisePoints(points) {\n var clockwise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var newPoints = [points[0]];\n var _loop2 = function _loop2() {\n var p1 = newPoints[newPoints.length - 1];\n var waitComparePoints = points.filter(function (wp) {\n return wp !== p1;\n });\n var _loop3 = function _loop3() {\n var p2 = waitComparePoints[index];\n var v = new _base_Vector2__WEBPACK_IMPORTED_MODULE_2__.Vector2(p2.x - p1.x, p2.y - p1.y);\n var otherPoints = points.filter(function (p) {\n return p !== p1 && p !== p2;\n });\n var otherVs = otherPoints.map(function (p) {\n return new _base_Vector2__WEBPACK_IMPORTED_MODULE_2__.Vector2(p.x - p1.x, p.y - p1.y);\n });\n var isAllMatched = otherVs.every(function (ov) {\n return clockwise ? v.cross(ov) < 0 : v.cross(ov) > 0;\n });\n if (isAllMatched) {\n newPoints.push(p2);\n return 1; // break\n }\n };\n for (var index = 0; index < waitComparePoints.length; index++) {\n if (_loop3()) break;\n }\n };\n for (var _i3 = 0; _i3 < points.length - 1; _i3++) {\n _loop2();\n }\n return newPoints;\n }\n};\n\n\n//# sourceURL=webpack://CommandManager/../math/es/MathUtils.js?");
/***/ }),
/***/ "../math/es/base/Box2.js":
/*!*******************************!*\
!*** ../math/es/base/Box2.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Box2: () => (/* binding */ Box2)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Vector2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Vector2 */ \"../math/es/base/Vector2.js\");\n/* harmony import */ var _Tolerance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Tolerance */ \"../math/es/base/Tolerance.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n\n\n\n\n\nvar _vector = new _Vector2__WEBPACK_IMPORTED_MODULE_2__.Vector2();\nvar Box2 = /*#__PURE__*/function () {\n function Box2(min, max) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Box2);\n this.isBox2 = true;\n this.min = min !== undefined ? min : new _Vector2__WEBPACK_IMPORTED_MODULE_2__.Vector2(+Infinity, +Infinity);\n this.max = max !== undefined ? max : new _Vector2__WEBPACK_IMPORTED_MODULE_2__.Vector2(-Infinity, -Infinity);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Box2, [{\n key: \"set\",\n value: function set(min, max) {\n this.min.copy(min);\n this.max.copy(max);\n return this;\n }\n }, {\n key: \"setFromPoints\",\n value: function setFromPoints(points) {\n this.makeEmpty();\n for (var i = 0, il = points.length; i < il; i++) {\n this.expandByPoint(points[i]);\n }\n return this;\n }\n }, {\n key: \"setFromCenterAndSize\",\n value: function setFromCenterAndSize(center, size) {\n var halfSize = _vector.copy(size).multiplyScalar(0.5);\n this.min.copy(center).sub(halfSize);\n this.max.copy(center).add(halfSize);\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Box2().copy(this);\n }\n }, {\n key: \"copy\",\n value: function copy(box) {\n this.min.copy(box.min);\n this.max.copy(box.max);\n return this;\n }\n }, {\n key: \"makeEmpty\",\n value: function makeEmpty() {\n // eslint-disable-next-line no-multi-assign\n this.min.x = this.min.y = +Infinity;\n // eslint-disable-next-line no-multi-assign\n this.max.x = this.max.y = -Infinity;\n return this;\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes\n return this.max.x < this.min.x || this.max.y < this.min.y;\n }\n }, {\n key: \"equals\",\n value: function equals(box) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return this.min.equals(box.min, distTol) && this.max.equals(box.max, distTol);\n }\n }, {\n key: \"getCenter\",\n value: function getCenter(target) {\n return this.isEmpty() ? target.set(0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5);\n }\n }, {\n key: \"getSize\",\n value: function getSize(target) {\n return this.isEmpty() ? target.set(0, 0) : target.subVectors(this.max, this.min);\n }\n }, {\n key: \"expandByPoint\",\n value: function expandByPoint(point) {\n this.min.min(point);\n this.max.max(point);\n return this;\n }\n }, {\n key: \"expandByVector\",\n value: function expandByVector(vector) {\n this.min.sub(vector);\n this.max.add(vector);\n return this;\n }\n }, {\n key: \"expandByScalar\",\n value: function expandByScalar(scalar) {\n this.min.addScalar(-scalar);\n this.max.addScalar(scalar);\n return this;\n }\n }, {\n key: \"containsPoint\",\n value: function containsPoint(point) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return !(_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(point.x, this.min.x, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(point.x, this.max.x, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(point.y, this.min.y, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(point.y, this.max.y, distTol));\n }\n }, {\n key: \"containsBox\",\n value: function containsBox(box) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(this.min.x, box.min.x, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(box.max.x, this.max.x, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(this.min.y, box.min.y, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(box.max.y, this.max.y, distTol);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return this.min.x <= this.max.x && this.min.y <= this.max.y;\n }\n }, {\n key: \"isOverlapping\",\n value: function isOverlapping(box) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n if (!box.isValid()) {\n return false;\n }\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(this.max.x, box.min.x, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(this.min.x, box.max.x, distTol)) {\n return false;\n }\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(this.max.y, box.min.y, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(this.min.y, box.max.y, distTol)) {\n return false;\n }\n return true;\n }\n }, {\n key: \"getParameter\",\n value: function getParameter(point, target) {\n // This can potentially have a divide by zero if the box\n // has a size dimension of 0.\n return target.set((point.x - this.min.x) / (this.max.x - this.min.x), (point.y - this.min.y) / (this.max.y - this.min.y));\n }\n }, {\n key: \"intersectsBox\",\n value: function intersectsBox(box) {\n // using 4 splitting planes to rule out intersections\n return !(box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y);\n }\n }, {\n key: \"clampPoint\",\n value: function clampPoint(point, target) {\n return target.copy(point).clamp(this.min, this.max);\n }\n }, {\n key: \"distanceToPoint\",\n value: function distanceToPoint(point) {\n var clampedPoint = _vector.copy(point).clamp(this.min, this.max);\n return clampedPoint.sub(point).length;\n }\n }, {\n key: \"intersect\",\n value: function intersect(box) {\n this.min.max(box.min);\n this.max.min(box.max);\n return this;\n }\n }, {\n key: \"union\",\n value: function union(box) {\n this.min.min(box.min);\n this.max.max(box.max);\n return this;\n }\n }, {\n key: \"translate\",\n value: function translate(offset) {\n this.min.add(offset);\n this.max.add(offset);\n return this;\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Box2.js?");
/***/ }),
/***/ "../math/es/base/Box3.js":
/*!*******************************!*\
!*** ../math/es/base/Box3.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Box3: () => (/* binding */ Box3)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Vector3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Vector3 */ \"../math/es/base/Vector3.js\");\n/* harmony import */ var _Tolerance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Tolerance */ \"../math/es/base/Tolerance.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n\n\n\n\n\nvar _points = [new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(), new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3()];\nvar _vector = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar Box3 = /*#__PURE__*/function () {\n function Box3(min, max) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Box3);\n this.isBox3 = true;\n this.min = min !== undefined ? min : new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(+Infinity, +Infinity, +Infinity);\n this.max = max !== undefined ? max : new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(-Infinity, -Infinity, -Infinity);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Box3, [{\n key: \"set\",\n value: function set(min, max) {\n this.min.copy(min);\n this.max.copy(max);\n return this;\n }\n }, {\n key: \"setFromArray\",\n value: function setFromArray(array) {\n var minX = +Infinity;\n var minY = +Infinity;\n var minZ = +Infinity;\n var maxX = -Infinity;\n var maxY = -Infinity;\n var maxZ = -Infinity;\n for (var i = 0, l = array.length; i < l; i += 3) {\n var x = array[i];\n var y = array[i + 1];\n var z = array[i + 2];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (z < minZ) minZ = z;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n if (z > maxZ) maxZ = z;\n }\n this.min.set(minX, minY, minZ);\n this.max.set(maxX, maxY, maxZ);\n return this;\n }\n }, {\n key: \"setFromPoints\",\n value: function setFromPoints(points) {\n this.makeEmpty();\n for (var i = 0, il = points.length; i < il; i++) {\n this.expandByPoint(points[i]);\n }\n return this;\n }\n }, {\n key: \"setFromCenterAndSize\",\n value: function setFromCenterAndSize(center, size) {\n var halfSize = _vector.copy(size).multiplyScalar(0.5);\n this.min.copy(center).sub(halfSize);\n this.max.copy(center).add(halfSize);\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Box3().copy(this);\n }\n }, {\n key: \"copy\",\n value: function copy(box) {\n this.min.copy(box.min);\n this.max.copy(box.max);\n return this;\n }\n }, {\n key: \"makeEmpty\",\n value: function makeEmpty() {\n // eslint-disable-next-line no-multi-assign\n this.min.x = this.min.y = this.min.z = +Infinity;\n // eslint-disable-next-line no-multi-assign\n this.max.x = this.max.y = this.max.z = -Infinity;\n return this;\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes\n return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z;\n }\n }, {\n key: \"getCenter\",\n value: function getCenter(target) {\n return this.isEmpty() ? target.set(0, 0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5);\n }\n }, {\n key: \"getSize\",\n value: function getSize(target) {\n return this.isEmpty() ? target.set(0, 0, 0) : target.subVectors(this.max, this.min);\n }\n }, {\n key: \"expandByPoint\",\n value: function expandByPoint(point) {\n this.min.min(point);\n this.max.max(point);\n return this;\n }\n }, {\n key: \"expandByVector\",\n value: function expandByVector(vector) {\n this.min.sub(vector);\n this.max.add(vector);\n return this;\n }\n }, {\n key: \"expandByScalar\",\n value: function expandByScalar(scalar) {\n this.min.addScalar(-scalar);\n this.max.addScalar(scalar);\n return this;\n }\n }, {\n key: \"containsPoint\",\n value: function containsPoint(point) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return !(_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(point.x, this.min.x, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(point.x, this.max.x, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(point.y, this.min.y, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(point.y, this.max.y, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(point.z, this.min.z, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(point.z, this.max.z, distTol));\n }\n }, {\n key: \"containsBox\",\n value: function containsBox(box) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(this.min.x, box.min.x, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(box.max.x, this.max.x, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(this.min.y, box.min.y, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(box.max.y, this.max.y, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(this.min.z, box.min.z, distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmallerOrEqual(box.max.z, this.max.z, distTol);\n }\n }, {\n key: \"isOverlapping\",\n value: function isOverlapping(box) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n if (!box.isValid()) {\n return false;\n }\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(this.max.x, box.min.x, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(this.min.x, box.max.x, distTol)) {\n return false;\n }\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(this.max.y, box.min.y, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(this.min.y, box.max.y, distTol)) {\n return false;\n }\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isSmaller(this.max.z, box.min.z, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_4__.MathUtils.isBigger(this.min.z, box.max.z, distTol)) {\n return false;\n }\n return true;\n }\n }, {\n key: \"getParameter\",\n value: function getParameter(point, target) {\n // This can potentially have a divide by zero if the box\n // has a size dimension of 0.\n return target.set((point.x - this.min.x) / (this.max.x - this.min.x), (point.y - this.min.y) / (this.max.y - this.min.y), (point.z - this.min.z) / (this.max.z - this.min.z));\n }\n }, {\n key: \"intersectsBox\",\n value: function intersectsBox(box) {\n // using 6 splitting planes to rule out intersections.\n return !(box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y || box.max.z < this.min.z || box.min.z > this.max.z);\n }\n }, {\n key: \"clampPoint\",\n value: function clampPoint(point, target) {\n return target.copy(point).clamp(this.min, this.max);\n }\n }, {\n key: \"distanceToPoint\",\n value: function distanceToPoint(point) {\n var clampedPoint = _vector.copy(point).clamp(this.min, this.max);\n return clampedPoint.sub(point).length;\n }\n }, {\n key: \"intersect\",\n value: function intersect(box) {\n this.min.max(box.min);\n this.max.min(box.max);\n // ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values.\n if (this.isEmpty()) this.makeEmpty();\n return this;\n }\n }, {\n key: \"union\",\n value: function union(box) {\n this.min.min(box.min);\n this.max.max(box.max);\n return this;\n }\n }, {\n key: \"applyMatrix4\",\n value: function applyMatrix4(matrix) {\n // transform of empty box is an empty box.\n if (this.isEmpty()) return this;\n // NOTE: I am using a binary pattern to specify all 2^3 combinations below\n _points[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(matrix); // 000\n _points[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(matrix); // 001\n _points[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(matrix); // 010\n _points[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(matrix); // 011\n _points[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(matrix); // 100\n _points[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(matrix); // 101\n _points[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(matrix); // 110\n _points[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(matrix); // 111\n this.setFromPoints(_points);\n return this;\n }\n }, {\n key: \"translate\",\n value: function translate(offset) {\n this.min.add(offset);\n this.max.add(offset);\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(box) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return box.min.equals(this.min, distTol) && box.max.equals(this.max, distTol);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return this.min.x <= this.max.x && this.min.y <= this.max.y && this.min.z <= this.max.z;\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Box3.js?");
/***/ }),
/***/ "../math/es/base/Euler.js":
/*!********************************!*\
!*** ../math/es/base/Euler.js ***!
\********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Euler: () => (/* binding */ Euler)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Quaternion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Quaternion */ \"../math/es/base/Quaternion.js\");\n/* harmony import */ var _Vector3__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Vector3 */ \"../math/es/base/Vector3.js\");\n/* harmony import */ var _Matrix4__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Matrix4 */ \"../math/es/base/Matrix4.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n\n\n\n\n\n\nvar _matrix = new _Matrix4__WEBPACK_IMPORTED_MODULE_4__.Matrix4();\nvar _quaternion = new _Quaternion__WEBPACK_IMPORTED_MODULE_2__.Quaternion();\nvar Euler = /*#__PURE__*/function () {\n function Euler() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var order = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Euler.DefaultOrder;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Euler);\n this._onChangeCallback = function () {\n //\n };\n this.isEuler = true;\n this._x = x;\n this._y = y;\n this._z = z;\n this._order = order;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Euler, [{\n key: \"x\",\n get: function get() {\n return this._x;\n },\n set: function set(value) {\n this._x = value;\n this._onChangeCallback();\n }\n }, {\n key: \"y\",\n get: function get() {\n return this._y;\n },\n set: function set(value) {\n this._y = value;\n this._onChangeCallback();\n }\n }, {\n key: \"z\",\n get: function get() {\n return this._z;\n },\n set: function set(value) {\n this._z = value;\n this._onChangeCallback();\n }\n }, {\n key: \"order\",\n get: function get() {\n return this._order;\n },\n set: function set(value) {\n this._order = value;\n this._onChangeCallback();\n }\n }, {\n key: \"set\",\n value: function set(x, y, z, order) {\n this._x = x;\n this._y = y;\n this._z = z;\n this._order = order || this._order;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Euler(this._x, this._y, this._z, this._order);\n }\n }, {\n key: \"copy\",\n value: function copy(euler) {\n this._x = euler._x;\n this._y = euler._y;\n this._z = euler._z;\n this._order = euler._order;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"setFromRotationMatrix\",\n value: function setFromRotationMatrix(m, order) {\n var clamp = _MathUtils__WEBPACK_IMPORTED_MODULE_5__.MathUtils.clamp;\n // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n var te = m.elements;\n var m11 = te[0];\n var m12 = te[4];\n var m13 = te[8];\n var m21 = te[1];\n var m22 = te[5];\n var m23 = te[9];\n var m31 = te[2];\n var m32 = te[6];\n var m33 = te[10];\n order = order || this._order;\n switch (order) {\n case 'XYZ':\n this._y = Math.asin(clamp(m13, -1, 1));\n if (Math.abs(m13) < 0.9999999) {\n this._x = Math.atan2(-m23, m33);\n this._z = Math.atan2(-m12, m11);\n } else {\n this._x = Math.atan2(m32, m22);\n this._z = 0;\n }\n break;\n case 'YXZ':\n this._x = Math.asin(-clamp(m23, -1, 1));\n if (Math.abs(m23) < 0.9999999) {\n this._y = Math.atan2(m13, m33);\n this._z = Math.atan2(m21, m22);\n } else {\n this._y = Math.atan2(-m31, m11);\n this._z = 0;\n }\n break;\n case 'ZXY':\n this._x = Math.asin(clamp(m32, -1, 1));\n if (Math.abs(m32) < 0.9999999) {\n this._y = Math.atan2(-m31, m33);\n this._z = Math.atan2(-m12, m22);\n } else {\n this._y = 0;\n this._z = Math.atan2(m21, m11);\n }\n break;\n case 'ZYX':\n this._y = Math.asin(-clamp(m31, -1, 1));\n if (Math.abs(m31) < 0.9999999) {\n this._x = Math.atan2(m32, m33);\n this._z = Math.atan2(m21, m11);\n } else {\n this._x = 0;\n this._z = Math.atan2(-m12, m22);\n }\n break;\n case 'YZX':\n this._z = Math.asin(clamp(m21, -1, 1));\n if (Math.abs(m21) < 0.9999999) {\n this._x = Math.atan2(-m23, m22);\n this._y = Math.atan2(-m31, m11);\n } else {\n this._x = 0;\n this._y = Math.atan2(m13, m33);\n }\n break;\n case 'XZY':\n this._z = Math.asin(-clamp(m12, -1, 1));\n if (Math.abs(m12) < 0.9999999) {\n this._x = Math.atan2(m32, m22);\n this._y = Math.atan2(m13, m11);\n } else {\n this._x = Math.atan2(-m23, m33);\n this._y = 0;\n }\n break;\n default:\n console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \".concat(order));\n }\n this._order = order;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"setFromQuaternion\",\n value: function setFromQuaternion(q, order) {\n _matrix.makeRotationFromQuaternion(q);\n return this.setFromRotationMatrix(_matrix, order);\n }\n }, {\n key: \"setFromVector3\",\n value: function setFromVector3(v, order) {\n return this.set(v.x, v.y, v.z, order || this._order);\n }\n }, {\n key: \"reorder\",\n value: function reorder(newOrder) {\n // WARNING: this discards revolution information -bhouston\n _quaternion.setFromEuler(this);\n return this.setFromQuaternion(_quaternion, newOrder);\n }\n }, {\n key: \"equals\",\n value: function equals(euler) {\n return euler._x === this._x && euler._y === this._y && euler._z === this._z && euler._order === this._order;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n this._x = array[0];\n this._y = array[1];\n this._z = array[2];\n if (array[3] !== undefined) this._order = array[3];\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n array[offset] = this._x;\n array[offset + 1] = this._y;\n array[offset + 2] = this._z;\n // array[offset + 3] = this._order;\n return array;\n }\n }, {\n key: \"toVector3\",\n value: function toVector3(optionalResult) {\n if (optionalResult) {\n return optionalResult.set(this._x, this._y, this._z);\n }\n return new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3(this._x, this._y, this._z);\n }\n }, {\n key: \"_onChange\",\n value: function _onChange(callback) {\n this._onChangeCallback = callback;\n return this;\n }\n }]);\n}();\nEuler.DefaultOrder = 'XYZ';\nEuler.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX'];\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Euler.js?");
/***/ }),
/***/ "../math/es/base/Interval.js":
/*!***********************************!*\
!*** ../math/es/base/Interval.js ***!
\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Interval: () => (/* binding */ Interval)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n/* harmony import */ var _Tolerance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Tolerance */ \"../math/es/base/Tolerance.js\");\n\n\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n\n\nvar Interval = /*#__PURE__*/function () {\n /**\n * constructor\n * @param start\n * @param end\n */\n function Interval(start, end) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Interval);\n this._start = start;\n this._end = end;\n }\n /**\n * Get interval's start\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Interval, [{\n key: \"start\",\n get: function get() {\n return this._start;\n }\n /**\n * Get interval's end\n */\n }, {\n key: \"end\",\n get: function get() {\n return this._end;\n }\n /**\n * Returns true if this interval is equal to another within specified tolerance.\n * @param other\n * @param numericTolerance\n * @return\n */\n }, {\n key: \"isEqual\",\n value: function isEqual(other, numTol) {\n var tolerance = numTol || _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.numTol;\n return _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(this._start, other.start, tolerance) && _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(this._end, other.end, tolerance);\n }\n /**\n * Get the middle number\n * @return\n */\n }, {\n key: \"middle\",\n get: function get() {\n return 0.5 * (this._start + this._end);\n }\n /**\n * Get the cloned object of this Interval.\n */\n }, {\n key: \"clone\",\n value: function clone() {\n return new Interval(this._start, this._end);\n }\n /**\n * Get interval's length\n * @return\n */\n }, {\n key: \"length\",\n get: function get() {\n return Math.abs(this._end - this._start);\n }\n /**\n * interval string\n * @return\n */\n }, {\n key: \"toString\",\n value: function toString() {\n return \"Interval{start: \".concat(this._start, \", end: \").concat(this._end, \"}\");\n }\n /**\n * Indicates whether the Interval is Valid\n * @return\n */\n }, {\n key: \"isValid\",\n value: function isValid() {\n return !Number.isNaN(this._start) && !Number.isNaN(this._end);\n }\n /**\n * interval mul by number\n * @param alpha\n * @returns\n */\n }, {\n key: \"mul\",\n value: function mul(alpha) {\n return new Interval(this._start * alpha, this._end * alpha);\n }\n /**\n * interval add by number\n * @param alpha\n * @returns\n */\n }, {\n key: \"add\",\n value: function add(interval) {\n if (!interval) {\n return new Interval(this._start, this._end);\n }\n return new Interval(this._start + interval.start, this._end + interval.end);\n }\n }, {\n key: \"addByNumber\",\n value: function addByNumber(alpha) {\n return new Interval(this._start + alpha, this._end + alpha);\n }\n /**\n * interval sub by Interval\n * @param interval\n * @returns\n */\n }, {\n key: \"sub\",\n value: function sub(interval) {\n if (!interval) {\n return new Interval(this._start, this._end);\n }\n return new Interval(this._start - interval.start, this._end - interval.end);\n }\n /**\n * Interval interpolate\n * @param alpha\n * @returns\n */\n }, {\n key: \"interpolate\",\n value: function interpolate(alpha) {\n return (1 - alpha) * this._start + alpha * this._end;\n }\n /**\n * Interval expand\n * @param length\n * @returns\n */\n }, {\n key: \"expand\",\n value: function expand(length) {\n return new Interval(this._start - length, this._end + length);\n }\n /**\n * Indicates whether the given value is included in this interval.\n * @param {number} point\n * @param {boolean} includeEnds - Indicates whether to check the ends.\n * @param {number} [tolerance] - Tolerance to check on the ends.\n * @returns {boolean}\n */\n }, {\n key: \"contains\",\n value: function contains(point, includeEnds) {\n var tolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n if (includeEnds) {\n return point <= this._end + tolerance && point >= this._start - tolerance;\n }\n return point < this._end - tolerance && point > this._start + tolerance;\n }\n /**\n * Indicates whether the given interval is included in this interval.\n * @param {Interval} interval\n * @param {boolean} includeEnds - Indicates whether to check the ends.\n * @param {number} [tolerance] - Tolerance to check on the ends.\n * @returns {boolean}\n */\n }, {\n key: \"containsInterval\",\n value: function containsInterval(interval, includeEnds) {\n var tolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n if (includeEnds) {\n return interval._start >= this._start - tolerance && interval._end <= this._end + tolerance;\n }\n return interval._start > this._start + tolerance && interval._end < this._end - tolerance;\n }\n /**\n * Indicates whether the given interval is intersected with this interval.\n * @param {Interval} interval\n * @param {boolean} includeEnds - Indicates whether to check the ends.\n * @param {number} [tolerance] - Intersection tolerance.\n * @returns {boolean}\n */\n }, {\n key: \"intersects\",\n value: function intersects(interval, includeEnds) {\n var tolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n if (includeEnds) {\n return !(this._start > interval._end + tolerance || this._end < interval._start - tolerance);\n }\n return !(this._start >= interval._end - tolerance || this._end <= interval._start + tolerance);\n }\n /**\n * Indicates whether the given interval is intersected with this interval.\n * @param {Interval} interval\n * @param {boolean} includeEnds - Indicates whether to check the ends.\n * @param {number} [tolerance] - Intersection tolerance.\n * @returns {boolean}\n */\n }, {\n key: \"intersected\",\n value: function intersected(interval, includeEnds) {\n var tolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n if (includeEnds) {\n return !(this._start > interval._end + tolerance || this._end < interval._start - tolerance);\n }\n return !(this._start >= interval._end - tolerance || this._end <= interval._start + tolerance);\n }\n /**\n * Get the intersect part with interval. If the intervals are not intersectant, we will return an invalid interval\n * @param interval\n * @returns {Interval} | null\n */\n }, {\n key: \"intersection\",\n value: function intersection(interval) {\n if (!interval || !this.intersected(interval, true)) {\n return Interval.invalid();\n }\n return new Interval(Math.max(interval.start, this.start), Math.min(interval.end, this.end));\n }\n /**\n * Combine with interval. If the intervals are not intersectant, we will return an invalid interval\n * @param interval\n * @returns\n */\n }, {\n key: \"includeInterval\",\n value: function includeInterval(interval) {\n if (!interval || !this.intersected(interval, true)) {\n return Interval.invalid();\n }\n return new Interval(Math.min(interval.start, this.start), Math.max(interval.end, this.end));\n }\n }], [{\n key: \"invalid\",\n value: function invalid() {\n return new Interval(NaN, NaN);\n }\n /**\n * interval mul by number\n * @param alpha\n * @returns\n */\n }, {\n key: \"mul\",\n value: function mul(interval, alpha) {\n if (!interval) {\n return Interval.invalid();\n }\n return new Interval(interval.start * alpha, interval.end * alpha);\n }\n /**\n * Get the intersect intervals of two list of intervals.\n * @param intervals1\n * @param intervals2\n * @returns List<Interval>\n */\n }, {\n key: \"intersect\",\n value: function intersect(intervals1, intervals2) {\n if (!intervals1 || intervals1.length === 0) {\n return [];\n }\n if (!intervals2 || intervals2.length === 0) {\n return [];\n }\n var sortedIntervals1 = Interval.union(intervals1);\n var sortedIntervals2 = Interval.union(intervals2);\n var resultIntervals = [];\n sortedIntervals1 = sortedIntervals1.sort(function (n1, n2) {\n return n1.start - n2.start;\n });\n sortedIntervals2 = sortedIntervals2.sort(function (n1, n2) {\n return n1.start - n2.start;\n });\n var index1 = 0;\n var index2 = 0;\n while (index1 < sortedIntervals1.length && index2 < sortedIntervals2.length) {\n if (sortedIntervals1[index1].intersected(sortedIntervals2[index2], true)) {\n resultIntervals.push(sortedIntervals1[index1].intersection(sortedIntervals2[index2]));\n }\n if (sortedIntervals1[index1].end < sortedIntervals2[index2].end) {\n index1 += 1;\n } else {\n index2 += 1;\n }\n }\n return resultIntervals;\n }\n /**\n * Combine the intervals.Return the list of intervals after unioned\n * @param intervals\n * @returns {Interval[]}\n */\n }, {\n key: \"union\",\n value: function union(intervals) {\n if (!intervals || intervals.length === 0) {\n return [];\n }\n var sortedIntervals = intervals.sort(function (n1, n2) {\n return n1.start - n2.start;\n });\n var resultIntervals = [];\n var temp = sortedIntervals[0];\n var _iterator = _createForOfIteratorHelper(sortedIntervals),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var interval = _step.value;\n if (!temp.intersected(interval, true)) {\n resultIntervals.push(temp);\n temp = new Interval(interval.start, interval.end);\n } else {\n temp = temp.includeInterval(interval);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n resultIntervals.push(temp);\n return resultIntervals;\n }\n }]);\n}();\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Interval.js?");
/***/ }),
/***/ "../math/es/base/Line3.js":
/*!********************************!*\
!*** ../math/es/base/Line3.js ***!
\********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Line3: () => (/* binding */ Line3)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Vector3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Vector3 */ \"../math/es/base/Vector3.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n\n\n\n\nvar _startP = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar _startEnd = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar Line3 = /*#__PURE__*/function () {\n function Line3(start, end) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Line3);\n this.start = start !== undefined ? start : new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\n this.end = end !== undefined ? end : new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Line3, [{\n key: \"set\",\n value: function set(start, end) {\n this.start.copy(start);\n this.end.copy(end);\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Line3().copy(this);\n }\n }, {\n key: \"copy\",\n value: function copy(line) {\n this.start.copy(line.start);\n this.end.copy(line.end);\n return this;\n }\n }, {\n key: \"getCenter\",\n value: function getCenter(target) {\n return target.addVectors(this.start, this.end).multiplyScalar(0.5);\n }\n }, {\n key: \"delta\",\n value: function delta(target) {\n return target.subVectors(this.end, this.start);\n }\n }, {\n key: \"distanceSq\",\n value: function distanceSq() {\n return this.start.distanceToSquared(this.end);\n }\n }, {\n key: \"distance\",\n value: function distance() {\n return this.start.distanceTo(this.end);\n }\n }, {\n key: \"at\",\n value: function at(t, target) {\n return this.delta(target).multiplyScalar(t).add(this.start);\n }\n }, {\n key: \"closestPointToPointParameter\",\n value: function closestPointToPointParameter(point, clampToLine) {\n _startP.subVectors(point, this.start);\n _startEnd.subVectors(this.end, this.start);\n var startEnd2 = _startEnd.dot(_startEnd);\n var startEndStartP = _startEnd.dot(_startP);\n var t = startEndStartP / startEnd2;\n if (clampToLine) {\n t = _MathUtils__WEBPACK_IMPORTED_MODULE_3__.MathUtils.clamp(t, 0, 1);\n }\n return t;\n }\n }, {\n key: \"closestPointToPoint\",\n value: function closestPointToPoint(point, clampToLine, target) {\n var t = this.closestPointToPointParameter(point, clampToLine);\n return this.delta(target).multiplyScalar(t).add(this.start);\n }\n }, {\n key: \"applyMatrix4\",\n value: function applyMatrix4(matrix) {\n this.start.applyMatrix4(matrix);\n this.end.applyMatrix4(matrix);\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(line) {\n return line.start.equals(this.start) && line.end.equals(this.end);\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Line3.js?");
/***/ }),
/***/ "../math/es/base/Matrix3.js":
/*!**********************************!*\
!*** ../math/es/base/Matrix3.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Matrix3: () => (/* binding */ Matrix3)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n/* harmony import */ var _Vector2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Vector2 */ \"../math/es/base/Vector2.js\");\n\n\n/* eslint-disable function-call-argument-newline */\n\n\nvar Matrix3 = /*#__PURE__*/function () {\n function Matrix3() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Matrix3);\n this.isMatrix3 = true;\n this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n if (arguments.length > 0) {\n console.error('THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.');\n }\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Matrix3, [{\n key: \"set\",\n value: function set(n11, n12, n13, n21, n22, n23, n31, n32, n33) {\n var te = this.elements;\n te[0] = n11;\n te[1] = n21;\n te[2] = n31;\n te[3] = n12;\n te[4] = n22;\n te[5] = n32;\n te[6] = n13;\n te[7] = n23;\n te[8] = n33;\n return this;\n }\n }, {\n key: \"identity\",\n value: function identity() {\n this.set(1, 0, 0, 0, 1, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Matrix3().fromArray(this.elements);\n }\n }, {\n key: \"copy\",\n value: function copy(m) {\n var te = this.elements;\n var me = m.elements;\n te[0] = me[0];\n te[1] = me[1];\n te[2] = me[2];\n te[3] = me[3];\n te[4] = me[4];\n te[5] = me[5];\n te[6] = me[6];\n te[7] = me[7];\n te[8] = me[8];\n return this;\n }\n }, {\n key: \"extractBasis\",\n value: function extractBasis(xAxis, yAxis, zAxis) {\n xAxis.setFromMatrix3Column(this, 0);\n yAxis.setFromMatrix3Column(this, 1);\n zAxis.setFromMatrix3Column(this, 2);\n return this;\n }\n }, {\n key: \"setFromMatrix4\",\n value: function setFromMatrix4(m) {\n var me = m.elements;\n this.set(me[0], me[4], me[8], me[1], me[5], me[9], me[2], me[6], me[10]);\n return this;\n }\n }, {\n key: \"add\",\n value: function add(b) {\n var me = this.elements;\n var be = b.elements;\n this.set(me[0] + be[0], me[3] + be[3], me[6] + be[6], me[1] + be[1], me[4] + be[4], me[7] + be[7], me[2] + be[2], me[5] + be[5], me[8] + be[8]);\n return this;\n }\n }, {\n key: \"added\",\n value: function added(b) {\n var me = this.elements;\n var be = b.elements;\n var res = new Matrix3();\n res.set(me[0] + be[0], me[3] + be[3], me[6] + be[6], me[1] + be[1], me[4] + be[4], me[7] + be[7], me[2] + be[2], me[5] + be[5], me[8] + be[8]);\n return res;\n }\n }, {\n key: \"multiply\",\n value: function multiply(m) {\n return this.multiplyMatrices(this, m);\n }\n }, {\n key: \"multiplied\",\n value: function multiplied(m) {\n return new Matrix3().multiplyMatrices(this, m);\n }\n }, {\n key: \"premultiply\",\n value: function premultiply(m) {\n return this.multiplyMatrices(m, this);\n }\n }, {\n key: \"premultiplied\",\n value: function premultiplied(m) {\n return new Matrix3().multiplyMatrices(m, this);\n }\n }, {\n key: \"multiplyMatrices\",\n value: function multiplyMatrices(a, b) {\n var ae = a.elements;\n var be = b.elements;\n var te = this.elements;\n var a11 = ae[0];\n var a12 = ae[3];\n var a13 = ae[6];\n var a21 = ae[1];\n var a22 = ae[4];\n var a23 = ae[7];\n var a31 = ae[2];\n var a32 = ae[5];\n var a33 = ae[8];\n var b11 = be[0];\n var b12 = be[3];\n var b13 = be[6];\n var b21 = be[1];\n var b22 = be[4];\n var b23 = be[7];\n var b31 = be[2];\n var b32 = be[5];\n var b33 = be[8];\n te[0] = a11 * b11 + a12 * b21 + a13 * b31;\n te[3] = a11 * b12 + a12 * b22 + a13 * b32;\n te[6] = a11 * b13 + a12 * b23 + a13 * b33;\n te[1] = a21 * b11 + a22 * b21 + a23 * b31;\n te[4] = a21 * b12 + a22 * b22 + a23 * b32;\n te[7] = a21 * b13 + a22 * b23 + a23 * b33;\n te[2] = a31 * b11 + a32 * b21 + a33 * b31;\n te[5] = a31 * b12 + a32 * b22 + a33 * b32;\n te[8] = a31 * b13 + a32 * b23 + a33 * b33;\n return this;\n }\n }, {\n key: \"multiplyScalar\",\n value: function multiplyScalar(s) {\n var te = this.elements;\n te[0] *= s;\n te[3] *= s;\n te[6] *= s;\n te[1] *= s;\n te[4] *= s;\n te[7] *= s;\n te[2] *= s;\n te[5] *= s;\n te[8] *= s;\n return this;\n }\n }, {\n key: \"determinant\",\n value: function determinant() {\n var te = this.elements;\n var a = te[0];\n var b = te[1];\n var c = te[2];\n var d = te[3];\n var e = te[4];\n var f = te[5];\n var g = te[6];\n var h = te[7];\n var i = te[8];\n return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g;\n }\n }, {\n key: \"invert\",\n value: function invert() {\n var te = this.elements;\n var n11 = te[0];\n var n21 = te[1];\n var n31 = te[2];\n var n12 = te[3];\n var n22 = te[4];\n var n32 = te[5];\n var n13 = te[6];\n var n23 = te[7];\n var n33 = te[8];\n var t11 = n33 * n22 - n32 * n23;\n var t12 = n32 * n13 - n33 * n12;\n var t13 = n23 * n12 - n22 * n13;\n var det = n11 * t11 + n21 * t12 + n31 * t13;\n if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);\n var detInv = 1 / det;\n te[0] = t11 * detInv;\n te[1] = (n31 * n23 - n33 * n21) * detInv;\n te[2] = (n32 * n21 - n31 * n22) * detInv;\n te[3] = t12 * detInv;\n te[4] = (n33 * n11 - n31 * n13) * detInv;\n te[5] = (n31 * n12 - n32 * n11) * detInv;\n te[6] = t13 * detInv;\n te[7] = (n21 * n13 - n23 * n11) * detInv;\n te[8] = (n22 * n11 - n21 * n12) * detInv;\n return this;\n }\n }, {\n key: \"inverted\",\n value: function inverted() {\n var result = new Matrix3();\n result.copy(this).invert();\n return result;\n }\n }, {\n key: \"transpose\",\n value: function transpose() {\n var tmp;\n var m = this.elements;\n tmp = m[1];\n m[1] = m[3];\n m[3] = tmp;\n tmp = m[2];\n m[2] = m[6];\n m[6] = tmp;\n tmp = m[5];\n m[5] = m[7];\n m[7] = tmp;\n return this;\n }\n }, {\n key: \"getNormalMatrix\",\n value: function getNormalMatrix(matrix4) {\n return this.setFromMatrix4(matrix4).copy(this).invert().transpose();\n }\n }, {\n key: \"transposeIntoArray\",\n value: function transposeIntoArray(r) {\n var m = this.elements;\n r[0] = m[0];\n r[1] = m[3];\n r[2] = m[6];\n r[3] = m[1];\n r[4] = m[4];\n r[5] = m[7];\n r[6] = m[2];\n r[7] = m[5];\n r[8] = m[8];\n return this;\n }\n }, {\n key: \"setUvTransform\",\n value: function setUvTransform(tx, ty, sx, sy, rotation, cx, cy) {\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n this.set(sx * c, sx * s, -sx * (c * cx + s * cy) + cx + tx, -sy * s, sy * c, -sy * (-s * cx + c * cy) + cy + ty, 0, 0, 1);\n return this;\n }\n }, {\n key: \"scale\",\n value: function scale(sx, sy) {\n var te = this.elements;\n te[0] *= sx;\n te[3] *= sx;\n te[6] *= sx;\n te[1] *= sy;\n te[4] *= sy;\n te[7] *= sy;\n return this;\n }\n }, {\n key: \"rotate\",\n value: function rotate(theta) {\n var c = Math.cos(theta);\n var s = Math.sin(theta);\n var te = this.elements;\n var a11 = te[0];\n var a12 = te[3];\n var a13 = te[6];\n var a21 = te[1];\n var a22 = te[4];\n var a23 = te[7];\n te[0] = c * a11 + s * a21;\n te[3] = c * a12 + s * a22;\n te[6] = c * a13 + s * a23;\n te[1] = -s * a11 + c * a21;\n te[4] = -s * a12 + c * a22;\n te[7] = -s * a13 + c * a23;\n return this;\n }\n }, {\n key: \"translate\",\n value: function translate(tx, ty) {\n var te = this.elements;\n te[0] += tx * te[2];\n te[3] += tx * te[5];\n te[6] += tx * te[8];\n te[1] += ty * te[2];\n te[4] += ty * te[5];\n te[7] += ty * te[8];\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(matrix) {\n var te = this.elements;\n var me = matrix.elements;\n for (var i = 0; i < 9; i++) {\n if (!_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(te[i], me[i])) {\n return false;\n }\n }\n return true;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n for (var i = 0; i < 9; i++) {\n this.elements[i] = array[i + offset];\n }\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var te = this.elements;\n array[offset] = te[0];\n array[offset + 1] = te[1];\n array[offset + 2] = te[2];\n array[offset + 3] = te[3];\n array[offset + 4] = te[4];\n array[offset + 5] = te[5];\n array[offset + 6] = te[6];\n array[offset + 7] = te[7];\n array[offset + 8] = te[8];\n return array;\n }\n /** 缩放,注意和 scale 的区别,这个不会影响 position */\n }, {\n key: \"doScale\",\n value: function doScale(sx, sy) {\n var te = this.elements;\n te[0] *= sx;\n te[1] *= sx;\n te[2] *= sx;\n te[3] *= sy;\n te[4] *= sy;\n te[5] *= sy;\n return this;\n }\n /**\n * 设置成缩放矩阵\n */\n }, {\n key: \"setScale\",\n value: function setScale(scale) {\n var x = scale.x;\n var y = scale.y;\n return this.set(x, 0, 0, 0, y, 0, 0, 0, 1);\n }\n /**\n * 设置成旋转矩阵\n */\n }, {\n key: \"setRotation\",\n value: function setRotation(angle) {\n var c = Math.cos(angle);\n var s = Math.sin(angle);\n return this.set(c, -s, 0, s, c, 0, 0, 0, 1);\n }\n /**\n * 设置成平移矩阵\n */\n }, {\n key: \"setTranslation\",\n value: function setTranslation(translation) {\n var x = translation.x;\n var y = translation.y;\n return this.set(1, 0, x, 0, 1, y, 0, 0, 1);\n }\n /**\n * 把位置信息放到没用的两个矩阵索引\n */\n }, {\n key: \"setPosition\",\n value: function setPosition(position) {\n var me = this.elements;\n me[6] = position.x;\n me[7] = position.y;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition() {\n return new _Vector2__WEBPACK_IMPORTED_MODULE_3__.Vector2(this.elements[6], this.elements[7]);\n }\n }, {\n key: \"compose\",\n value: function compose(position, rotation, scale) {\n this.setRotation(rotation);\n if (scale) {\n this.doScale(scale.x, scale.y);\n }\n this.setPosition(position);\n return this;\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Matrix3.js?");
/***/ }),
/***/ "../math/es/base/Matrix4.js":
/*!**********************************!*\
!*** ../math/es/base/Matrix4.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Matrix4: () => (/* binding */ Matrix4)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n/* harmony import */ var _Vector3__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Vector3 */ \"../math/es/base/Vector3.js\");\n\n\n/* eslint-disable function-call-argument-newline */\n\n\nvar _v1 = new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3();\nvar _zero = new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3(0, 0, 0);\nvar _one = new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3(1, 1, 1);\nvar _x = new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3();\nvar _y = new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3();\nvar _z = new _Vector3__WEBPACK_IMPORTED_MODULE_3__.Vector3();\nvar Matrix4 = /*#__PURE__*/function () {\n function Matrix4() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Matrix4);\n this.isMatrix4 = true;\n this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n if (arguments.length > 0) {\n console.error('THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.');\n }\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Matrix4, [{\n key: \"set\",\n value: function set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) {\n var te = this.elements;\n te[0] = n11;\n te[4] = n12;\n te[8] = n13;\n te[12] = n14;\n te[1] = n21;\n te[5] = n22;\n te[9] = n23;\n te[13] = n24;\n te[2] = n31;\n te[6] = n32;\n te[10] = n33;\n te[14] = n34;\n te[3] = n41;\n te[7] = n42;\n te[11] = n43;\n te[15] = n44;\n return this;\n }\n }, {\n key: \"identity\",\n value: function identity() {\n this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Matrix4().fromArray(this.elements);\n }\n }, {\n key: \"copy\",\n value: function copy(m) {\n var te = this.elements;\n var me = m.elements;\n te[0] = me[0];\n te[1] = me[1];\n te[2] = me[2];\n te[3] = me[3];\n te[4] = me[4];\n te[5] = me[5];\n te[6] = me[6];\n te[7] = me[7];\n te[8] = me[8];\n te[9] = me[9];\n te[10] = me[10];\n te[11] = me[11];\n te[12] = me[12];\n te[13] = me[13];\n te[14] = me[14];\n te[15] = me[15];\n return this;\n }\n }, {\n key: \"copyPosition\",\n value: function copyPosition(m) {\n var te = this.elements;\n var me = m.elements;\n te[12] = me[12];\n te[13] = me[13];\n te[14] = me[14];\n return this;\n }\n }, {\n key: \"setFromMatrix3\",\n value: function setFromMatrix3(m) {\n var me = m.elements;\n this.set(me[0], me[3], me[6], 0, me[1], me[4], me[7], 0, me[2], me[5], me[8], 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"extractBasis\",\n value: function extractBasis(xAxis, yAxis, zAxis) {\n xAxis.setFromMatrixColumn(this, 0);\n yAxis.setFromMatrixColumn(this, 1);\n zAxis.setFromMatrixColumn(this, 2);\n return this;\n }\n }, {\n key: \"makeBasis\",\n value: function makeBasis(xAxis, yAxis, zAxis) {\n this.set(xAxis.x, yAxis.x, zAxis.x, 0, xAxis.y, yAxis.y, zAxis.y, 0, xAxis.z, yAxis.z, zAxis.z, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"extractRotation\",\n value: function extractRotation(m) {\n // this method does not support reflection matrices\n var te = this.elements;\n var me = m.elements;\n var scaleX = 1 / _v1.setFromMatrixColumn(m, 0).length;\n var scaleY = 1 / _v1.setFromMatrixColumn(m, 1).length;\n var scaleZ = 1 / _v1.setFromMatrixColumn(m, 2).length;\n te[0] = me[0] * scaleX;\n te[1] = me[1] * scaleX;\n te[2] = me[2] * scaleX;\n te[3] = 0;\n te[4] = me[4] * scaleY;\n te[5] = me[5] * scaleY;\n te[6] = me[6] * scaleY;\n te[7] = 0;\n te[8] = me[8] * scaleZ;\n te[9] = me[9] * scaleZ;\n te[10] = me[10] * scaleZ;\n te[11] = 0;\n te[12] = 0;\n te[13] = 0;\n te[14] = 0;\n te[15] = 1;\n return this;\n }\n }, {\n key: \"makeRotationFromEuler\",\n value: function makeRotationFromEuler(euler) {\n var te = this.elements;\n var x = euler.x;\n var y = euler.y;\n var z = euler.z;\n var a = Math.cos(x);\n var b = Math.sin(x);\n var c = Math.cos(y);\n var d = Math.sin(y);\n var e = Math.cos(z);\n var f = Math.sin(z);\n if (euler.order === 'XYZ') {\n var ae = a * e;\n var af = a * f;\n var be = b * e;\n var bf = b * f;\n te[0] = c * e;\n te[4] = -c * f;\n te[8] = d;\n te[1] = af + be * d;\n te[5] = ae - bf * d;\n te[9] = -b * c;\n te[2] = bf - ae * d;\n te[6] = be + af * d;\n te[10] = a * c;\n } else if (euler.order === 'YXZ') {\n var ce = c * e;\n var cf = c * f;\n var de = d * e;\n var df = d * f;\n te[0] = ce + df * b;\n te[4] = de * b - cf;\n te[8] = a * d;\n te[1] = a * f;\n te[5] = a * e;\n te[9] = -b;\n te[2] = cf * b - de;\n te[6] = df + ce * b;\n te[10] = a * c;\n } else if (euler.order === 'ZXY') {\n var _ce = c * e;\n var _cf = c * f;\n var _de = d * e;\n var _df = d * f;\n te[0] = _ce - _df * b;\n te[4] = -a * f;\n te[8] = _de + _cf * b;\n te[1] = _cf + _de * b;\n te[5] = a * e;\n te[9] = _df - _ce * b;\n te[2] = -a * d;\n te[6] = b;\n te[10] = a * c;\n } else if (euler.order === 'ZYX') {\n var _ae = a * e;\n var _af = a * f;\n var _be = b * e;\n var _bf = b * f;\n te[0] = c * e;\n te[4] = _be * d - _af;\n te[8] = _ae * d + _bf;\n te[1] = c * f;\n te[5] = _bf * d + _ae;\n te[9] = _af * d - _be;\n te[2] = -d;\n te[6] = b * c;\n te[10] = a * c;\n } else if (euler.order === 'YZX') {\n var ac = a * c;\n var ad = a * d;\n var bc = b * c;\n var bd = b * d;\n te[0] = c * e;\n te[4] = bd - ac * f;\n te[8] = bc * f + ad;\n te[1] = f;\n te[5] = a * e;\n te[9] = -b * e;\n te[2] = -d * e;\n te[6] = ad * f + bc;\n te[10] = ac - bd * f;\n } else if (euler.order === 'XZY') {\n var _ac = a * c;\n var _ad = a * d;\n var _bc = b * c;\n var _bd = b * d;\n te[0] = c * e;\n te[4] = -f;\n te[8] = d * e;\n te[1] = _ac * f + _bd;\n te[5] = a * e;\n te[9] = _ad * f - _bc;\n te[2] = _bc * f - _ad;\n te[6] = b * e;\n te[10] = _bd * f + _ac;\n }\n // bottom row\n te[3] = 0;\n te[7] = 0;\n te[11] = 0;\n // last column\n te[12] = 0;\n te[13] = 0;\n te[14] = 0;\n te[15] = 1;\n return this;\n }\n }, {\n key: \"makeRotationFromQuaternion\",\n value: function makeRotationFromQuaternion(q) {\n return this.compose(_zero, q, _one);\n }\n }, {\n key: \"lookAt\",\n value: function lookAt(eye, target, up) {\n var te = this.elements;\n _z.subVectors(eye, target);\n if (_z.lengthSq === 0) {\n // eye and target are in the same position\n _z.z = 1;\n }\n _z.normalize();\n _x.crossVectors(up, _z);\n if (_x.lengthSq === 0) {\n // up and z are parallel\n if (Math.abs(up.z) === 1) {\n _z.x += 0.0001;\n } else {\n _z.z += 0.0001;\n }\n _z.normalize();\n _x.crossVectors(up, _z);\n }\n _x.normalize();\n _y.crossVectors(_z, _x);\n te[0] = _x.x;\n te[4] = _y.x;\n te[8] = _z.x;\n te[1] = _x.y;\n te[5] = _y.y;\n te[9] = _z.y;\n te[2] = _x.z;\n te[6] = _y.z;\n te[10] = _z.z;\n return this;\n }\n }, {\n key: \"multiply\",\n value: function multiply(m) {\n return this.multiplyMatrices(this, m);\n }\n }, {\n key: \"multiplied\",\n value: function multiplied(m) {\n return new Matrix4().multiplyMatrices(this, m);\n }\n }, {\n key: \"premultiply\",\n value: function premultiply(m) {\n return this.multiplyMatrices(m, this);\n }\n }, {\n key: \"premultiplied\",\n value: function premultiplied(m) {\n return new Matrix4().multiplyMatrices(m, this);\n }\n }, {\n key: \"multiplyMatrices\",\n value: function multiplyMatrices(a, b) {\n var ae = a.elements;\n var be = b.elements;\n var te = this.elements;\n var a11 = ae[0];\n var a12 = ae[4];\n var a13 = ae[8];\n var a14 = ae[12];\n var a21 = ae[1];\n var a22 = ae[5];\n var a23 = ae[9];\n var a24 = ae[13];\n var a31 = ae[2];\n var a32 = ae[6];\n var a33 = ae[10];\n var a34 = ae[14];\n var a41 = ae[3];\n var a42 = ae[7];\n var a43 = ae[11];\n var a44 = ae[15];\n var b11 = be[0];\n var b12 = be[4];\n var b13 = be[8];\n var b14 = be[12];\n var b21 = be[1];\n var b22 = be[5];\n var b23 = be[9];\n var b24 = be[13];\n var b31 = be[2];\n var b32 = be[6];\n var b33 = be[10];\n var b34 = be[14];\n var b41 = be[3];\n var b42 = be[7];\n var b43 = be[11];\n var b44 = be[15];\n te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;\n te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;\n te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;\n te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;\n te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;\n te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;\n te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;\n te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;\n te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;\n te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;\n te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;\n te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;\n te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;\n te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;\n te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;\n te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;\n return this;\n }\n }, {\n key: \"multiplyScalar\",\n value: function multiplyScalar(s) {\n var te = this.elements;\n te[0] *= s;\n te[4] *= s;\n te[8] *= s;\n te[12] *= s;\n te[1] *= s;\n te[5] *= s;\n te[9] *= s;\n te[13] *= s;\n te[2] *= s;\n te[6] *= s;\n te[10] *= s;\n te[14] *= s;\n te[3] *= s;\n te[7] *= s;\n te[11] *= s;\n te[15] *= s;\n return this;\n }\n }, {\n key: \"determinant\",\n value: function determinant() {\n var te = this.elements;\n var n11 = te[0];\n var n12 = te[4];\n var n13 = te[8];\n var n14 = te[12];\n var n21 = te[1];\n var n22 = te[5];\n var n23 = te[9];\n var n24 = te[13];\n var n31 = te[2];\n var n32 = te[6];\n var n33 = te[10];\n var n34 = te[14];\n var n41 = te[3];\n var n42 = te[7];\n var n43 = te[11];\n var n44 = te[15];\n // TODO: make this more efficient\n // ( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm )\n return n41 * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + n42 * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + n43 * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + n44 * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31);\n }\n }, {\n key: \"transpose\",\n value: function transpose() {\n var te = this.elements;\n var tmp;\n tmp = te[1];\n te[1] = te[4];\n te[4] = tmp;\n tmp = te[2];\n te[2] = te[8];\n te[8] = tmp;\n tmp = te[6];\n te[6] = te[9];\n te[9] = tmp;\n tmp = te[3];\n te[3] = te[12];\n te[12] = tmp;\n tmp = te[7];\n te[7] = te[13];\n te[13] = tmp;\n tmp = te[11];\n te[11] = te[14];\n te[14] = tmp;\n return this;\n }\n }, {\n key: \"setPosition\",\n value: function setPosition() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var te = this.elements;\n te[12] = x;\n te[13] = y;\n te[14] = z;\n return this;\n }\n }, {\n key: \"invert\",\n value: function invert() {\n // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm\n var te = this.elements;\n var n11 = te[0];\n var n21 = te[1];\n var n31 = te[2];\n var n41 = te[3];\n var n12 = te[4];\n var n22 = te[5];\n var n32 = te[6];\n var n42 = te[7];\n var n13 = te[8];\n var n23 = te[9];\n var n33 = te[10];\n var n43 = te[11];\n var n14 = te[12];\n var n24 = te[13];\n var n34 = te[14];\n var n44 = te[15];\n var t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44;\n var t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44;\n var t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44;\n var t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34;\n var det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14;\n if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n var detInv = 1 / det;\n te[0] = t11 * detInv;\n te[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv;\n te[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv;\n te[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv;\n te[4] = t12 * detInv;\n te[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv;\n te[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv;\n te[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv;\n te[8] = t13 * detInv;\n te[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv;\n te[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv;\n te[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv;\n te[12] = t14 * detInv;\n te[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv;\n te[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv;\n te[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv;\n return this;\n }\n }, {\n key: \"inverted\",\n value: function inverted() {\n var te = this.elements;\n var n11 = te[0];\n var n21 = te[1];\n var n31 = te[2];\n var n41 = te[3];\n var n12 = te[4];\n var n22 = te[5];\n var n32 = te[6];\n var n42 = te[7];\n var n13 = te[8];\n var n23 = te[9];\n var n33 = te[10];\n var n43 = te[11];\n var n14 = te[12];\n var n24 = te[13];\n var n34 = te[14];\n var n44 = te[15];\n var t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44;\n var t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44;\n var t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44;\n var t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34;\n var det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14;\n if (det === 0) return new Matrix4();\n var detInv = 1 / det;\n var ne = new Array(16);\n ne[0] = t11 * detInv;\n ne[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv;\n ne[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv;\n ne[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv;\n ne[4] = t12 * detInv;\n ne[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv;\n ne[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv;\n ne[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv;\n ne[8] = t13 * detInv;\n ne[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv;\n ne[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv;\n ne[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv;\n ne[12] = t14 * detInv;\n ne[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv;\n ne[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv;\n ne[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv;\n var result = new Matrix4();\n result.elements = ne;\n return result;\n }\n }, {\n key: \"scale\",\n value: function scale(v) {\n var te = this.elements;\n var x = v.x;\n var y = v.y;\n var z = v.z;\n te[0] *= x;\n te[4] *= y;\n te[8] *= z;\n te[1] *= x;\n te[5] *= y;\n te[9] *= z;\n te[2] *= x;\n te[6] *= y;\n te[10] *= z;\n te[3] *= x;\n te[7] *= y;\n te[11] *= z;\n return this;\n }\n }, {\n key: \"getMaxScaleOnAxis\",\n value: function getMaxScaleOnAxis() {\n var te = this.elements;\n var scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2];\n var scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6];\n var scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10];\n return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq));\n }\n }, {\n key: \"makeTranslation\",\n value: function makeTranslation(x, y, z) {\n this.set(1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"makeRotationX\",\n value: function makeRotationX(theta) {\n var c = Math.cos(theta);\n var s = Math.sin(theta);\n this.set(1, 0, 0, 0, 0, c, -s, 0, 0, s, c, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"makeRotationY\",\n value: function makeRotationY(theta) {\n var c = Math.cos(theta);\n var s = Math.sin(theta);\n this.set(c, 0, s, 0, 0, 1, 0, 0, -s, 0, c, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"makeRotationZ\",\n value: function makeRotationZ(theta) {\n var c = Math.cos(theta);\n var s = Math.sin(theta);\n this.set(c, -s, 0, 0, s, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"makeRotationAxis\",\n value: function makeRotationAxis(axis, angle) {\n // Based on http://www.gamedev.net/reference/articles/article1199.asp\n var c = Math.cos(angle);\n var s = Math.sin(angle);\n var t = 1 - c;\n var x = axis.x;\n var y = axis.y;\n var z = axis.z;\n var tx = t * x;\n var ty = t * y;\n this.set(tx * x + c, tx * y - s * z, tx * z + s * y, 0, tx * y + s * z, ty * y + c, ty * z - s * x, 0, tx * z - s * y, ty * z + s * x, t * z * z + c, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"makeScale\",\n value: function makeScale(x, y, z) {\n this.set(x, 0, 0, 0, 0, y, 0, 0, 0, 0, z, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"makeShear\",\n value: function makeShear(x, y, z) {\n this.set(1, y, z, 0, x, 1, z, 0, x, y, 1, 0, 0, 0, 0, 1);\n return this;\n }\n }, {\n key: \"compose\",\n value: function compose(position, quaternion, scale) {\n var te = this.elements;\n var x = quaternion._x;\n var y = quaternion._y;\n var z = quaternion._z;\n var w = quaternion._w;\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = scale.x;\n var sy = scale.y;\n var sz = scale.z;\n te[0] = (1 - (yy + zz)) * sx;\n te[1] = (xy + wz) * sx;\n te[2] = (xz - wy) * sx;\n te[3] = 0;\n te[4] = (xy - wz) * sy;\n te[5] = (1 - (xx + zz)) * sy;\n te[6] = (yz + wx) * sy;\n te[7] = 0;\n te[8] = (xz + wy) * sz;\n te[9] = (yz - wx) * sz;\n te[10] = (1 - (xx + yy)) * sz;\n te[11] = 0;\n te[12] = position.x;\n te[13] = position.y;\n te[14] = position.z;\n te[15] = 1;\n return this;\n }\n }, {\n key: \"decompose\",\n value: function decompose(position, quaternion, scale) {\n var te = this.elements;\n var sx = _v1.set(te[0], te[1], te[2]).length;\n var sy = _v1.set(te[4], te[5], te[6]).length;\n var sz = _v1.set(te[8], te[9], te[10]).length;\n // if determine is negative, we need to invert one scale\n var det = this.determinant();\n if (det < 0) sx = -sx;\n position.x = te[12];\n position.y = te[13];\n position.z = te[14];\n // scale the rotation part\n _m1.copy(this);\n var invSX = 1 / sx;\n var invSY = 1 / sy;\n var invSZ = 1 / sz;\n _m1.elements[0] *= invSX;\n _m1.elements[1] *= invSX;\n _m1.elements[2] *= invSX;\n _m1.elements[4] *= invSY;\n _m1.elements[5] *= invSY;\n _m1.elements[6] *= invSY;\n _m1.elements[8] *= invSZ;\n _m1.elements[9] *= invSZ;\n _m1.elements[10] *= invSZ;\n quaternion.setFromRotationMatrix(_m1);\n scale.x = sx;\n scale.y = sy;\n scale.z = sz;\n return this;\n }\n }, {\n key: \"makePerspective\",\n value: function makePerspective(left, right, top, bottom, near, far) {\n if (far === undefined) {\n console.warn('THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.');\n }\n var te = this.elements;\n var x = 2 * near / (right - left);\n var y = 2 * near / (top - bottom);\n var a = (right + left) / (right - left);\n var b = (top + bottom) / (top - bottom);\n var c = -(far + near) / (far - near);\n var d = -2 * far * near / (far - near);\n te[0] = x;\n te[4] = 0;\n te[8] = a;\n te[12] = 0;\n te[1] = 0;\n te[5] = y;\n te[9] = b;\n te[13] = 0;\n te[2] = 0;\n te[6] = 0;\n te[10] = c;\n te[14] = d;\n te[3] = 0;\n te[7] = 0;\n te[11] = -1;\n te[15] = 0;\n return this;\n }\n }, {\n key: \"makeOrthographic\",\n value: function makeOrthographic(left, right, top, bottom, near, far) {\n var te = this.elements;\n var w = 1.0 / (right - left);\n var h = 1.0 / (top - bottom);\n var p = 1.0 / (far - near);\n var x = (right + left) * w;\n var y = (top + bottom) * h;\n var z = (far + near) * p;\n te[0] = 2 * w;\n te[4] = 0;\n te[8] = 0;\n te[12] = -x;\n te[1] = 0;\n te[5] = 2 * h;\n te[9] = 0;\n te[13] = -y;\n te[2] = 0;\n te[6] = 0;\n te[10] = -2 * p;\n te[14] = -z;\n te[3] = 0;\n te[7] = 0;\n te[11] = 0;\n te[15] = 1;\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(matrix) {\n var te = this.elements;\n var me = matrix.elements;\n for (var i = 0; i < 16; i++) {\n if (!_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(te[i], me[i])) {\n return false;\n }\n }\n return true;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n for (var i = 0; i < 16; i++) {\n this.elements[i] = array[i + offset];\n }\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var te = this.elements;\n array[offset] = te[0];\n array[offset + 1] = te[1];\n array[offset + 2] = te[2];\n array[offset + 3] = te[3];\n array[offset + 4] = te[4];\n array[offset + 5] = te[5];\n array[offset + 6] = te[6];\n array[offset + 7] = te[7];\n array[offset + 8] = te[8];\n array[offset + 9] = te[9];\n array[offset + 10] = te[10];\n array[offset + 11] = te[11];\n array[offset + 12] = te[12];\n array[offset + 13] = te[13];\n array[offset + 14] = te[14];\n array[offset + 15] = te[15];\n return array;\n }\n }]);\n}();\nvar _m1 = new Matrix4();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Matrix4.js?");
/***/ }),
/***/ "../math/es/base/Quaternion.js":
/*!*************************************!*\
!*** ../math/es/base/Quaternion.js ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Quaternion: () => (/* binding */ Quaternion)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n\n\n\nvar Quaternion = /*#__PURE__*/function () {\n function Quaternion() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var w = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Quaternion);\n this._onChangeCallback = function () {\n //\n };\n this.isQuaternion = true;\n this._x = x;\n this._y = y;\n this._z = z;\n this._w = w;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Quaternion, [{\n key: \"x\",\n get: function get() {\n return this._x;\n },\n set: function set(value) {\n this._x = value;\n this._onChangeCallback();\n }\n }, {\n key: \"y\",\n get: function get() {\n return this._y;\n },\n set: function set(value) {\n this._y = value;\n this._onChangeCallback();\n }\n }, {\n key: \"z\",\n get: function get() {\n return this._z;\n },\n set: function set(value) {\n this._z = value;\n this._onChangeCallback();\n }\n }, {\n key: \"w\",\n get: function get() {\n return this._w;\n },\n set: function set(value) {\n this._w = value;\n this._onChangeCallback();\n }\n }, {\n key: \"set\",\n value: function set(x, y, z, w) {\n this._x = x;\n this._y = y;\n this._z = z;\n this._w = w;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Quaternion(this._x, this._y, this._z, this._w);\n }\n }, {\n key: \"copy\",\n value: function copy(quaternion) {\n this._x = quaternion.x;\n this._y = quaternion.y;\n this._z = quaternion.z;\n this._w = quaternion.w;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"setFromEuler\",\n value: function setFromEuler(euler) {\n var x = euler._x;\n var y = euler._y;\n var z = euler._z;\n var order = euler._order;\n // http://www.mathworks.com/matlabcentral/fileexchange/\n // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/\n // content/SpinCalc.m\n var cos = Math.cos;\n var sin = Math.sin;\n var c1 = cos(x / 2);\n var c2 = cos(y / 2);\n var c3 = cos(z / 2);\n var s1 = sin(x / 2);\n var s2 = sin(y / 2);\n var s3 = sin(z / 2);\n switch (order) {\n case 'XYZ':\n this._x = s1 * c2 * c3 + c1 * s2 * s3;\n this._y = c1 * s2 * c3 - s1 * c2 * s3;\n this._z = c1 * c2 * s3 + s1 * s2 * c3;\n this._w = c1 * c2 * c3 - s1 * s2 * s3;\n break;\n case 'YXZ':\n this._x = s1 * c2 * c3 + c1 * s2 * s3;\n this._y = c1 * s2 * c3 - s1 * c2 * s3;\n this._z = c1 * c2 * s3 - s1 * s2 * c3;\n this._w = c1 * c2 * c3 + s1 * s2 * s3;\n break;\n case 'ZXY':\n this._x = s1 * c2 * c3 - c1 * s2 * s3;\n this._y = c1 * s2 * c3 + s1 * c2 * s3;\n this._z = c1 * c2 * s3 + s1 * s2 * c3;\n this._w = c1 * c2 * c3 - s1 * s2 * s3;\n break;\n case 'ZYX':\n this._x = s1 * c2 * c3 - c1 * s2 * s3;\n this._y = c1 * s2 * c3 + s1 * c2 * s3;\n this._z = c1 * c2 * s3 - s1 * s2 * c3;\n this._w = c1 * c2 * c3 + s1 * s2 * s3;\n break;\n case 'YZX':\n this._x = s1 * c2 * c3 + c1 * s2 * s3;\n this._y = c1 * s2 * c3 + s1 * c2 * s3;\n this._z = c1 * c2 * s3 - s1 * s2 * c3;\n this._w = c1 * c2 * c3 - s1 * s2 * s3;\n break;\n case 'XZY':\n this._x = s1 * c2 * c3 - c1 * s2 * s3;\n this._y = c1 * s2 * c3 - s1 * c2 * s3;\n this._z = c1 * c2 * s3 + s1 * s2 * c3;\n this._w = c1 * c2 * c3 + s1 * s2 * s3;\n break;\n default:\n console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \".concat(order));\n }\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"setFromAxisAngle\",\n value: function setFromAxisAngle(axis, angle) {\n // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm\n // assumes axis is normalized\n var halfAngle = angle / 2;\n var s = Math.sin(halfAngle);\n this._x = axis.x * s;\n this._y = axis.y * s;\n this._z = axis.z * s;\n this._w = Math.cos(halfAngle);\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"setFromRotationMatrix\",\n value: function setFromRotationMatrix(m) {\n // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm\n // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n var te = m.elements;\n var m11 = te[0];\n var m12 = te[4];\n var m13 = te[8];\n var m21 = te[1];\n var m22 = te[5];\n var m23 = te[9];\n var m31 = te[2];\n var m32 = te[6];\n var m33 = te[10];\n var trace = m11 + m22 + m33;\n if (trace > 0) {\n var s = 0.5 / Math.sqrt(trace + 1.0);\n this._w = 0.25 / s;\n this._x = (m32 - m23) * s;\n this._y = (m13 - m31) * s;\n this._z = (m21 - m12) * s;\n } else if (m11 > m22 && m11 > m33) {\n var _s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33);\n this._w = (m32 - m23) / _s;\n this._x = 0.25 * _s;\n this._y = (m12 + m21) / _s;\n this._z = (m13 + m31) / _s;\n } else if (m22 > m33) {\n var _s2 = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33);\n this._w = (m13 - m31) / _s2;\n this._x = (m12 + m21) / _s2;\n this._y = 0.25 * _s2;\n this._z = (m23 + m32) / _s2;\n } else {\n var _s3 = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22);\n this._w = (m21 - m12) / _s3;\n this._x = (m13 + m31) / _s3;\n this._y = (m23 + m32) / _s3;\n this._z = 0.25 * _s3;\n }\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"setFromUnitVectors\",\n value: function setFromUnitVectors(vFrom, vTo) {\n // assumes direction vectors vFrom and vTo are normalized\n var EPS = 0.000001;\n var r = vFrom.dot(vTo) + 1;\n if (r < EPS) {\n r = 0;\n if (Math.abs(vFrom.x) > Math.abs(vFrom.z)) {\n this._x = -vFrom.y;\n this._y = vFrom.x;\n this._z = 0;\n this._w = r;\n } else {\n this._x = 0;\n this._y = -vFrom.z;\n this._z = vFrom.y;\n this._w = r;\n }\n } else {\n // crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3\n this._x = vFrom.y * vTo.z - vFrom.z * vTo.y;\n this._y = vFrom.z * vTo.x - vFrom.x * vTo.z;\n this._z = vFrom.x * vTo.y - vFrom.y * vTo.x;\n this._w = r;\n }\n return this.normalize();\n }\n }, {\n key: \"angleTo\",\n value: function angleTo(q) {\n return 2 * Math.acos(Math.abs(_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.clamp(this.dot(q), -1, 1)));\n }\n }, {\n key: \"rotateTowards\",\n value: function rotateTowards(q, step) {\n var angle = this.angleTo(q);\n if (angle === 0) return this;\n var t = Math.min(1, step / angle);\n this.slerp(q, t);\n return this;\n }\n }, {\n key: \"identity\",\n value: function identity() {\n return this.set(0, 0, 0, 1);\n }\n }, {\n key: \"invert\",\n value: function invert() {\n // quaternion is assumed to have unit length\n return this.conjugate();\n }\n }, {\n key: \"conjugate\",\n value: function conjugate() {\n this._x *= -1;\n this._y *= -1;\n this._z *= -1;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"dot\",\n value: function dot(v) {\n return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w;\n }\n }, {\n key: \"lengthSq\",\n value: function lengthSq() {\n return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;\n }\n }, {\n key: \"length\",\n value: function length() {\n return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w);\n }\n }, {\n key: \"normalize\",\n value: function normalize() {\n var l = this.length();\n if (l === 0) {\n this._x = 0;\n this._y = 0;\n this._z = 0;\n this._w = 1;\n } else {\n l = 1 / l;\n this._x *= l;\n this._y *= l;\n this._z *= l;\n this._w *= l;\n }\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"multiply\",\n value: function multiply(q) {\n return this.multiplyQuaternions(this, q);\n }\n }, {\n key: \"premultiply\",\n value: function premultiply(q) {\n return this.multiplyQuaternions(q, this);\n }\n }, {\n key: \"multiplyQuaternions\",\n value: function multiplyQuaternions(a, b) {\n // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm\n var qax = a._x;\n var qay = a._y;\n var qaz = a._z;\n var qaw = a._w;\n var qbx = b._x;\n var qby = b._y;\n var qbz = b._z;\n var qbw = b._w;\n this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby;\n this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz;\n this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx;\n this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"slerp\",\n value: function slerp(qb, t) {\n if (t === 0) return this;\n if (t === 1) return this.copy(qb);\n var x = this._x;\n var y = this._y;\n var z = this._z;\n var w = this._w;\n // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/\n var cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z;\n if (cosHalfTheta < 0) {\n this._w = -qb._w;\n this._x = -qb._x;\n this._y = -qb._y;\n this._z = -qb._z;\n cosHalfTheta = -cosHalfTheta;\n } else {\n this.copy(qb);\n }\n if (cosHalfTheta >= 1.0) {\n this._w = w;\n this._x = x;\n this._y = y;\n this._z = z;\n return this;\n }\n var sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta;\n if (sqrSinHalfTheta <= Number.EPSILON) {\n var s = 1 - t;\n this._w = s * w + t * this._w;\n this._x = s * x + t * this._x;\n this._y = s * y + t * this._y;\n this._z = s * z + t * this._z;\n this.normalize();\n this._onChangeCallback();\n return this;\n }\n var sinHalfTheta = Math.sqrt(sqrSinHalfTheta);\n var halfTheta = Math.atan2(sinHalfTheta, cosHalfTheta);\n var ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta;\n var ratioB = Math.sin(t * halfTheta) / sinHalfTheta;\n this._w = w * ratioA + this._w * ratioB;\n this._x = x * ratioA + this._x * ratioB;\n this._y = y * ratioA + this._y * ratioB;\n this._z = z * ratioA + this._z * ratioB;\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(quaternion) {\n return quaternion._x === this._x && quaternion._y === this._y && quaternion._z === this._z && quaternion._w === this._w;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this._x = array[offset];\n this._y = array[offset + 1];\n this._z = array[offset + 2];\n this._w = array[offset + 3];\n this._onChangeCallback();\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n array[offset] = this._x;\n array[offset + 1] = this._y;\n array[offset + 2] = this._z;\n array[offset + 3] = this._w;\n return array;\n }\n }, {\n key: \"_onChange\",\n value: function _onChange(callback) {\n this._onChangeCallback = callback;\n return this;\n }\n }], [{\n key: \"slerp\",\n value: function slerp(qa, qb, qm, t) {\n return qm.copy(qa).slerp(qb, t);\n }\n }, {\n key: \"slerpFlat\",\n value: function slerpFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t) {\n // fuzz-free, array-based Quaternion SLERP operation\n var x0 = src0[srcOffset0 + 0];\n var y0 = src0[srcOffset0 + 1];\n var z0 = src0[srcOffset0 + 2];\n var w0 = src0[srcOffset0 + 3];\n var x1 = src1[srcOffset1 + 0];\n var y1 = src1[srcOffset1 + 1];\n var z1 = src1[srcOffset1 + 2];\n var w1 = src1[srcOffset1 + 3];\n if (t === 0) {\n dst[dstOffset + 0] = x0;\n dst[dstOffset + 1] = y0;\n dst[dstOffset + 2] = z0;\n dst[dstOffset + 3] = w0;\n return;\n }\n if (t === 1) {\n dst[dstOffset + 0] = x1;\n dst[dstOffset + 1] = y1;\n dst[dstOffset + 2] = z1;\n dst[dstOffset + 3] = w1;\n return;\n }\n if (w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1) {\n var s = 1 - t;\n var cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1;\n var dir = cos >= 0 ? 1 : -1;\n var sqrSin = 1 - cos * cos;\n // Skip the Slerp for tiny steps to avoid numeric problems:\n if (sqrSin > Number.EPSILON) {\n var sin = Math.sqrt(sqrSin);\n var len = Math.atan2(sin, cos * dir);\n s = Math.sin(s * len) / sin;\n t = Math.sin(t * len) / sin;\n }\n var tDir = t * dir;\n x0 = x0 * s + x1 * tDir;\n y0 = y0 * s + y1 * tDir;\n z0 = z0 * s + z1 * tDir;\n w0 = w0 * s + w1 * tDir;\n // Normalize in case we just did a lerp:\n if (s === 1 - t) {\n var f = 1 / Math.sqrt(x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0);\n x0 *= f;\n y0 *= f;\n z0 *= f;\n w0 *= f;\n }\n }\n dst[dstOffset] = x0;\n dst[dstOffset + 1] = y0;\n dst[dstOffset + 2] = z0;\n dst[dstOffset + 3] = w0;\n }\n }, {\n key: \"multiplyQuaternionsFlat\",\n value: function multiplyQuaternionsFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1) {\n var x0 = src0[srcOffset0];\n var y0 = src0[srcOffset0 + 1];\n var z0 = src0[srcOffset0 + 2];\n var w0 = src0[srcOffset0 + 3];\n var x1 = src1[srcOffset1];\n var y1 = src1[srcOffset1 + 1];\n var z1 = src1[srcOffset1 + 2];\n var w1 = src1[srcOffset1 + 3];\n dst[dstOffset] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1;\n dst[dstOffset + 1] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1;\n dst[dstOffset + 2] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1;\n dst[dstOffset + 3] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1;\n return dst;\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Quaternion.js?");
/***/ }),
/***/ "../math/es/base/Ray.js":
/*!******************************!*\
!*** ../math/es/base/Ray.js ***!
\******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Ray: () => (/* binding */ Ray)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Vector3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Vector3 */ \"../math/es/base/Vector3.js\");\n\n\n\nvar _vector = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar _segCenter = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar _segDir = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar _diff = new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\nvar Ray = /*#__PURE__*/function () {\n function Ray(origin, direction) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Ray);\n this.origin = origin !== undefined ? origin : new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3();\n this.direction = direction !== undefined ? direction : new _Vector3__WEBPACK_IMPORTED_MODULE_2__.Vector3(0, 0, -1);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Ray, [{\n key: \"set\",\n value: function set(origin, direction) {\n this.origin.copy(origin);\n this.direction.copy(direction);\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Ray().copy(this);\n }\n }, {\n key: \"copy\",\n value: function copy(ray) {\n this.origin.copy(ray.origin);\n this.direction.copy(ray.direction);\n return this;\n }\n }, {\n key: \"at\",\n value: function at(t, target) {\n return target.copy(this.direction).multiplyScalar(t).add(this.origin);\n }\n }, {\n key: \"lookAt\",\n value: function lookAt(v) {\n this.direction.copy(v).sub(this.origin).normalize();\n return this;\n }\n }, {\n key: \"recast\",\n value: function recast(t) {\n this.origin.copy(this.at(t, _vector));\n return this;\n }\n }, {\n key: \"closestPointToPoint\",\n value: function closestPointToPoint(point, target) {\n target.subVectors(point, this.origin);\n var directionDistance = target.dot(this.direction);\n if (directionDistance < 0) {\n return target.copy(this.origin);\n }\n return target.copy(this.direction).multiplyScalar(directionDistance).add(this.origin);\n }\n }, {\n key: \"distanceToPoint\",\n value: function distanceToPoint(point) {\n return Math.sqrt(this.distanceSqToPoint(point));\n }\n }, {\n key: \"distanceSqToPoint\",\n value: function distanceSqToPoint(point) {\n var directionDistance = _vector.subVectors(point, this.origin).dot(this.direction);\n // point behind the ray\n if (directionDistance < 0) {\n return this.origin.distanceToSquared(point);\n }\n _vector.copy(this.direction).multiplyScalar(directionDistance).add(this.origin);\n return _vector.distanceToSquared(point);\n }\n }, {\n key: \"distanceSqToSegment\",\n value: function distanceSqToSegment(v0, v1, optionalPointOnRay, optionalPointOnSegment) {\n // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteDistRaySegment.h\n // It returns the min distance between the ray and the segment\n // defined by v0 and v1\n // It can also set two optional targets :\n // - The closest point on the ray\n // - The closest point on the segment\n _segCenter.copy(v0).add(v1).multiplyScalar(0.5);\n _segDir.copy(v1).sub(v0).normalize();\n _diff.copy(this.origin).sub(_segCenter);\n var segExtent = v0.distanceTo(v1) * 0.5;\n var a01 = -this.direction.dot(_segDir);\n var b0 = _diff.dot(this.direction);\n var b1 = -_diff.dot(_segDir);\n var c = _diff.lengthSq;\n var det = Math.abs(1 - a01 * a01);\n var s0;\n var s1;\n var sqrDist;\n var extDet;\n if (det > 0) {\n // The ray and segment are not parallel.\n s0 = a01 * b1 - b0;\n s1 = a01 * b0 - b1;\n extDet = segExtent * det;\n if (s0 >= 0) {\n if (s1 >= -extDet) {\n if (s1 <= extDet) {\n // region 0\n // Minimum at interior points of ray and segment.\n var invDet = 1 / det;\n s0 *= invDet;\n s1 *= invDet;\n sqrDist = s0 * (s0 + a01 * s1 + 2 * b0) + s1 * (a01 * s0 + s1 + 2 * b1) + c;\n } else {\n // region 1\n s1 = segExtent;\n s0 = Math.max(0, -(a01 * s1 + b0));\n sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n }\n } else {\n // region 5\n s1 = -segExtent;\n s0 = Math.max(0, -(a01 * s1 + b0));\n sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n }\n } else if (s1 <= -extDet) {\n // region 4\n s0 = Math.max(0, -(-a01 * segExtent + b0));\n s1 = s0 > 0 ? -segExtent : Math.min(Math.max(-segExtent, -b1), segExtent);\n sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n } else if (s1 <= extDet) {\n // region 3\n s0 = 0;\n s1 = Math.min(Math.max(-segExtent, -b1), segExtent);\n sqrDist = s1 * (s1 + 2 * b1) + c;\n } else {\n // region 2\n s0 = Math.max(0, -(a01 * segExtent + b0));\n s1 = s0 > 0 ? segExtent : Math.min(Math.max(-segExtent, -b1), segExtent);\n sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n }\n } else {\n // Ray and segment are parallel.\n s1 = a01 > 0 ? -segExtent : segExtent;\n s0 = Math.max(0, -(a01 * s1 + b0));\n sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n }\n if (optionalPointOnRay) {\n optionalPointOnRay.copy(this.direction).multiplyScalar(s0).add(this.origin);\n }\n if (optionalPointOnSegment) {\n optionalPointOnSegment.copy(_segDir).multiplyScalar(s1).add(_segCenter);\n }\n return sqrDist;\n }\n }, {\n key: \"intersectBox\",\n value: function intersectBox(box, target) {\n var tmin;\n var tmax;\n var tymin;\n var tymax;\n var tzmin;\n var tzmax;\n var invdirx = 1 / this.direction.x;\n var invdiry = 1 / this.direction.y;\n var invdirz = 1 / this.direction.z;\n var origin = this.origin;\n if (invdirx >= 0) {\n tmin = (box.min.x - origin.x) * invdirx;\n tmax = (box.max.x - origin.x) * invdirx;\n } else {\n tmin = (box.max.x - origin.x) * invdirx;\n tmax = (box.min.x - origin.x) * invdirx;\n }\n if (invdiry >= 0) {\n tymin = (box.min.y - origin.y) * invdiry;\n tymax = (box.max.y - origin.y) * invdiry;\n } else {\n tymin = (box.max.y - origin.y) * invdiry;\n tymax = (box.min.y - origin.y) * invdiry;\n }\n if (tmin > tymax || tymin > tmax) return null;\n // These lines also handle the case where tmin or tmax is NaN\n // (result of 0 * Infinity). x !== x returns true if x is NaN\n // eslint-disable-next-line no-self-compare\n if (tymin > tmin || tmin !== tmin) tmin = tymin;\n // eslint-disable-next-line no-self-compare\n if (tymax < tmax || tmax !== tmax) tmax = tymax;\n if (invdirz >= 0) {\n tzmin = (box.min.z - origin.z) * invdirz;\n tzmax = (box.max.z - origin.z) * invdirz;\n } else {\n tzmin = (box.max.z - origin.z) * invdirz;\n tzmax = (box.min.z - origin.z) * invdirz;\n }\n if (tmin > tzmax || tzmin > tmax) return null;\n // eslint-disable-next-line no-self-compare\n if (tzmin > tmin || tmin !== tmin) tmin = tzmin;\n // eslint-disable-next-line no-self-compare\n if (tzmax < tmax || tmax !== tmax) tmax = tzmax;\n // return point closest to the ray (positive side)\n if (tmax < 0) return null;\n return this.at(tmin >= 0 ? tmin : tmax, target);\n }\n }, {\n key: \"intersectsBox\",\n value: function intersectsBox(box) {\n return this.intersectBox(box, _vector) !== null;\n }\n }, {\n key: \"applyMatrix4\",\n value: function applyMatrix4(matrix4) {\n this.origin.applyMatrix4(matrix4);\n this.direction.transformDirection(matrix4);\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(ray) {\n return ray.origin.equals(this.origin) && ray.direction.equals(this.direction);\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Ray.js?");
/***/ }),
/***/ "../math/es/base/Tolerance.js":
/*!************************************!*\
!*** ../math/es/base/Tolerance.js ***!
\************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TOLERANCE: () => (/* binding */ TOLERANCE),\n/* harmony export */ TOLERANCE_HALF: () => (/* binding */ TOLERANCE_HALF),\n/* harmony export */ TOLERANCE_SAGITTA: () => (/* binding */ TOLERANCE_SAGITTA),\n/* harmony export */ TOLERANCE_SQUARE: () => (/* binding */ TOLERANCE_SQUARE),\n/* harmony export */ Tolerance: () => (/* binding */ Tolerance)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n\n\nvar TOLERANCE = 1E-6;\nvar TOLERANCE_HALF = TOLERANCE * 0.5;\nvar TOLERANCE_SQUARE = TOLERANCE * TOLERANCE;\nvar TOLERANCE_SAGITTA = 1;\nvar Tolerance = /*#__PURE__*/function () {\n function Tolerance(cosTol, distTol, numTol) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Tolerance);\n this.cosTol = cosTol || Tolerance.COS_TOL;\n this.distTol = distTol || Tolerance.DIST_TOL;\n this.numTol = numTol || Tolerance.NUM_TOL;\n }\n /**\n * set cosTol by given angle\n * @param angle\n * @param isRadian true means the angle is radian, false means the angle is degree\n */\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Tolerance, [{\n key: \"setCosTolByAngle\",\n value: function setCosTolByAngle(angle, isRadian) {\n var flag = isRadian ? 1 : Math.PI / 180;\n this.cosTol = 1 - Math.cos(angle * flag);\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Tolerance(this.cosTol, this.distTol, this.numTol);\n }\n }], [{\n key: \"setGlobal\",\n value: function setGlobal(cosTol, distTol, numTol) {\n Tolerance.global = new Tolerance(cosTol, distTol, numTol);\n }\n }]);\n}();\nTolerance.COS_TOL = 1e-6;\nTolerance.DIST_TOL = 1e-6;\nTolerance.NUM_TOL = 1e-6;\nTolerance.global = new Tolerance();\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Tolerance.js?");
/***/ }),
/***/ "../math/es/base/Vector2.js":
/*!**********************************!*\
!*** ../math/es/base/Vector2.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Vector2: () => (/* binding */ Vector2)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n/* harmony import */ var _Tolerance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Tolerance */ \"../math/es/base/Tolerance.js\");\n/* harmony import */ var _Vector3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Vector3 */ \"../math/es/base/Vector3.js\");\n\n\n\n\n\nvar Vector2 = /*#__PURE__*/function () {\n function Vector2() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Vector2);\n this.isVector2 = true;\n this.x = x;\n this.y = y;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Vector2, [{\n key: \"width\",\n get: function get() {\n return this.x;\n },\n set: function set(value) {\n this.x = value;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.y;\n },\n set: function set(value) {\n this.y = value;\n }\n }, {\n key: \"set\",\n value: function set(x, y) {\n this.x = x;\n this.y = y;\n return this;\n }\n }, {\n key: \"setScalar\",\n value: function setScalar(scalar) {\n this.x = scalar;\n this.y = scalar;\n return this;\n }\n }, {\n key: \"setX\",\n value: function setX(x) {\n this.x = x;\n return this;\n }\n }, {\n key: \"setY\",\n value: function setY(y) {\n this.y = y;\n return this;\n }\n }, {\n key: \"setComponent\",\n value: function setComponent(index, value) {\n switch (index) {\n case 0:\n this.x = value;\n break;\n case 1:\n this.y = value;\n break;\n default:\n throw new Error(\"index is out of range: \".concat(index));\n }\n return this;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(index) {\n switch (index) {\n case 0:\n return this.x;\n case 1:\n return this.y;\n default:\n throw new Error(\"index is out of range: \".concat(index));\n }\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Vector2(this.x, this.y);\n }\n }, {\n key: \"copy\",\n value: function copy(v) {\n this.x = v.x;\n this.y = v.y;\n return this;\n }\n }, {\n key: \"add\",\n value: function add(v) {\n this.x += v.x;\n this.y += v.y;\n return this;\n }\n }, {\n key: \"added\",\n value: function added(v) {\n return new Vector2(this.x + v.x, this.y + v.y);\n }\n }, {\n key: \"addScalar\",\n value: function addScalar(s) {\n this.x += s;\n this.y += s;\n return this;\n }\n }, {\n key: \"addVectors\",\n value: function addVectors(a, b) {\n this.x = a.x + b.x;\n this.y = a.y + b.y;\n return this;\n }\n }, {\n key: \"addScaledVector\",\n value: function addScaledVector(v, s) {\n this.x += v.x * s;\n this.y += v.y * s;\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(v) {\n this.x -= v.x;\n this.y -= v.y;\n return this;\n }\n }, {\n key: \"subtracted\",\n value: function subtracted(v) {\n return new Vector2(this.x - v.x, this.y - v.y);\n }\n }, {\n key: \"subScalar\",\n value: function subScalar(s) {\n this.x -= s;\n this.y -= s;\n return this;\n }\n }, {\n key: \"subVectors\",\n value: function subVectors(a, b) {\n this.x = a.x - b.x;\n this.y = a.y - b.y;\n return this;\n }\n }, {\n key: \"reverse\",\n value: function reverse() {\n this.x = -this.x;\n this.y = -this.y;\n return this;\n }\n }, {\n key: \"reversed\",\n value: function reversed() {\n return new Vector2(-this.x, -this.y);\n }\n }, {\n key: \"multiply\",\n value: function multiply(v) {\n this.x *= v.x;\n this.y *= v.y;\n return this;\n }\n /**\n * Return a new vector which is the scaler result of this vector.\n * @param scale\n */\n }, {\n key: \"multiplied\",\n value: function multiplied(scale) {\n return new Vector2(this.x * scale, this.y * scale);\n }\n }, {\n key: \"multiplyScalar\",\n value: function multiplyScalar(scalar) {\n this.x *= scalar;\n this.y *= scalar;\n return this;\n }\n }, {\n key: \"divide\",\n value: function divide(v) {\n this.x /= v.x;\n this.y /= v.y;\n return this;\n }\n }, {\n key: \"divideScalar\",\n value: function divideScalar(scalar) {\n return this.multiplyScalar(1 / scalar);\n }\n }, {\n key: \"applyMatrix3\",\n value: function applyMatrix3(m) {\n var x = this.x;\n var y = this.y;\n var e = m.elements;\n this.x = e[0] * x + e[3] * y + e[6];\n this.y = e[1] * x + e[4] * y + e[7];\n return this;\n }\n }, {\n key: \"min\",\n value: function min(v) {\n this.x = Math.min(this.x, v.x);\n this.y = Math.min(this.y, v.y);\n return this;\n }\n }, {\n key: \"max\",\n value: function max(v) {\n this.x = Math.max(this.x, v.x);\n this.y = Math.max(this.y, v.y);\n return this;\n }\n }, {\n key: \"clamp\",\n value: function clamp(min, max) {\n // assumes min < max, componentwise\n this.x = Math.max(min.x, Math.min(max.x, this.x));\n this.y = Math.max(min.y, Math.min(max.y, this.y));\n return this;\n }\n }, {\n key: \"clampScalar\",\n value: function clampScalar(minVal, maxVal) {\n this.x = Math.max(minVal, Math.min(maxVal, this.x));\n this.y = Math.max(minVal, Math.min(maxVal, this.y));\n return this;\n }\n }, {\n key: \"clampLength\",\n value: function clampLength(min, max) {\n var length = this.length;\n return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length)));\n }\n }, {\n key: \"floor\",\n value: function floor() {\n this.x = Math.floor(this.x);\n this.y = Math.floor(this.y);\n return this;\n }\n }, {\n key: \"ceil\",\n value: function ceil() {\n this.x = Math.ceil(this.x);\n this.y = Math.ceil(this.y);\n return this;\n }\n }, {\n key: \"round\",\n value: function round() {\n this.x = Math.round(this.x);\n this.y = Math.round(this.y);\n return this;\n }\n }, {\n key: \"roundToZero\",\n value: function roundToZero() {\n this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x);\n this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y);\n return this;\n }\n }, {\n key: \"negate\",\n value: function negate() {\n this.x = -this.x;\n this.y = -this.y;\n return this;\n }\n }, {\n key: \"dot\",\n value: function dot(v) {\n return this.x * v.x + this.y * v.y;\n }\n }, {\n key: \"cross\",\n value: function cross(v) {\n return this.x * v.y - this.y * v.x;\n }\n }, {\n key: \"lengthSq\",\n get: function get() {\n return this.x * this.x + this.y * this.y;\n }\n }, {\n key: \"length\",\n get: function get() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n }\n }, {\n key: \"manhattanLength\",\n get: function get() {\n return Math.abs(this.x) + Math.abs(this.y);\n }\n }, {\n key: \"normalize\",\n value: function normalize() {\n return this.divideScalar(this.length || 1);\n }\n /**\n * The angle in [0, PI]\n */\n }, {\n key: \"angle\",\n value: function angle(v) {\n if (!v) {\n return Math.atan2(-this.y, -this.x) + Math.PI;\n }\n return Math.atan2(Math.abs(this.cross(v)), this.dot(v));\n }\n /**\n * The angle in [0, 2PI)\n */\n }, {\n key: \"angleTo\",\n value: function angleTo(v) {\n var crossed = this.cross(v);\n var angle = this.angle(v);\n var pi2 = Math.PI * 2;\n if (crossed < 0.0 && angle < Math.PI && angle > 0) {\n return pi2 - angle;\n }\n return angle;\n }\n /**\n * 返回单位向量\n */\n }, {\n key: \"normalized\",\n value: function normalized() {\n var tol = 1e-16;\n var len = this.lengthSq;\n if (len === 0 || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(len, 1, tol)) {\n return new Vector2(this.x, this.y);\n }\n len = Math.sqrt(len);\n var newX = this.x / len;\n var newY = this.y / len;\n if (!Number.isFinite(newX) || !Number.isFinite(newY)) {\n return new Vector2(this.x, this.y);\n }\n return new Vector2(newX, newY);\n }\n }, {\n key: \"distanceTo\",\n value: function distanceTo(v) {\n return Math.sqrt(this.distanceToSquared(v));\n }\n }, {\n key: \"distanceToSquared\",\n value: function distanceToSquared(v) {\n var dx = this.x - v.x;\n var dy = this.y - v.y;\n return dx * dx + dy * dy;\n }\n }, {\n key: \"manhattanDistanceTo\",\n value: function manhattanDistanceTo(v) {\n return Math.abs(this.x - v.x) + Math.abs(this.y - v.y);\n }\n }, {\n key: \"setLength\",\n value: function setLength(length) {\n return this.normalize().multiplyScalar(length);\n }\n }, {\n key: \"lerp\",\n value: function lerp(v, alpha) {\n this.x += (v.x - this.x) * alpha;\n this.y += (v.y - this.y) * alpha;\n return this;\n }\n }, {\n key: \"lerpVectors\",\n value: function lerpVectors(v1, v2, alpha) {\n this.x = v1.x + (v2.x - v1.x) * alpha;\n this.y = v1.y + (v2.y - v1.y) * alpha;\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(v) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n var cosTol = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.cosTol;\n var sLen0 = this.lengthSq;\n var sLen1 = v.lengthSq;\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(sLen0, distTol * distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(sLen1, distTol * distTol)) {\n return true;\n }\n // 向量距离相等并且方向相同\n return _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(Math.sqrt(sLen0), Math.sqrt(sLen1), distTol) && this.isSameDirection(v, new _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance(cosTol, distTol, _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.numTol), false);\n }\n }, {\n key: \"isZero\",\n value: function isZero() {\n var distTol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n return this.lengthSq < distTol * distTol;\n }\n /**\n * 是否平行\n */\n }, {\n key: \"isParallel\",\n value: function isParallel(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen - Math.abs(this.dot(vec))) <= cosTol * multiLen;\n }\n /**\n * 是否垂直\n */\n }, {\n key: \"isPerpendicular\",\n value: function isPerpendicular(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen - Math.abs(this.cross(vec))) <= cosTol * multiLen;\n }\n }, {\n key: \"isSameDirection\",\n value: function isSameDirection(v, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = v.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen - this.dot(v)) <= cosTol * multiLen;\n }\n }, {\n key: \"isOpposite\",\n value: function isOpposite(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_3__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen + this.dot(vec)) <= cosTol * multiLen;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.x = array[offset];\n this.y = array[offset + 1];\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n array[offset] = this.x;\n array[offset + 1] = this.y;\n return array;\n }\n }, {\n key: \"toVector3\",\n value: function toVector3() {\n return new _Vector3__WEBPACK_IMPORTED_MODULE_4__.Vector3(this.x, this.y, 0);\n }\n }, {\n key: \"rotateAround\",\n value: function rotateAround(center, angle) {\n var c = Math.cos(angle);\n var s = Math.sin(angle);\n var x = this.x - center.x;\n var y = this.y - center.y;\n this.x = x * c - y * s + center.x;\n this.y = x * s + y * c + center.y;\n return this;\n }\n }, {\n key: \"random\",\n value: function random() {\n this.x = Math.random();\n this.y = Math.random();\n return this;\n }\n }], [{\n key: \"fromObject\",\n value: function fromObject(obj) {\n return new Vector2(obj.x, obj.y);\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Vector2.js?");
/***/ }),
/***/ "../math/es/base/Vector3.js":
/*!**********************************!*\
!*** ../math/es/base/Vector3.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Vector3: () => (/* binding */ Vector3)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MathUtils */ \"../math/es/MathUtils.js\");\n/* harmony import */ var _Quaternion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Quaternion */ \"../math/es/base/Quaternion.js\");\n/* harmony import */ var _Tolerance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Tolerance */ \"../math/es/base/Tolerance.js\");\n/* harmony import */ var _Vector2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Vector2 */ \"../math/es/base/Vector2.js\");\n\n\n\n\n\n\nvar _quaternion = new _Quaternion__WEBPACK_IMPORTED_MODULE_3__.Quaternion();\nvar Vector3 = /*#__PURE__*/function () {\n function Vector3() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Vector3);\n this.isVector3 = true;\n this.x = x;\n this.y = y;\n this.z = z;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Vector3, [{\n key: \"set\",\n value: function set(x, y, z) {\n if (z === undefined) z = this.z; // sprite.scale.set(x,y)\n this.x = x;\n this.y = y;\n this.z = z;\n return this;\n }\n }, {\n key: \"setScalar\",\n value: function setScalar(scalar) {\n this.x = scalar;\n this.y = scalar;\n this.z = scalar;\n return this;\n }\n }, {\n key: \"setX\",\n value: function setX(x) {\n this.x = x;\n return this;\n }\n }, {\n key: \"setY\",\n value: function setY(y) {\n this.y = y;\n return this;\n }\n }, {\n key: \"setZ\",\n value: function setZ(z) {\n this.z = z;\n return this;\n }\n }, {\n key: \"setComponent\",\n value: function setComponent(index, value) {\n switch (index) {\n case 0:\n this.x = value;\n break;\n case 1:\n this.y = value;\n break;\n case 2:\n this.z = value;\n break;\n default:\n throw new Error(\"index is out of range: \".concat(index));\n }\n return this;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(index) {\n switch (index) {\n case 0:\n return this.x;\n case 1:\n return this.y;\n case 2:\n return this.z;\n default:\n throw new Error(\"index is out of range: \".concat(index));\n }\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Vector3(this.x, this.y, this.z);\n }\n }, {\n key: \"copy\",\n value: function copy(v) {\n this.x = v.x;\n this.y = v.y;\n this.z = v.z;\n return this;\n }\n }, {\n key: \"add\",\n value: function add(v) {\n this.x += v.x;\n this.y += v.y;\n this.z += v.z;\n return this;\n }\n }, {\n key: \"added\",\n value: function added(v) {\n return new Vector3(this.x + v.x, this.y + v.y, this.z + v.z);\n }\n }, {\n key: \"addScalar\",\n value: function addScalar(s) {\n this.x += s;\n this.y += s;\n this.z += s;\n return this;\n }\n }, {\n key: \"addVectors\",\n value: function addVectors(a, b) {\n this.x = a.x + b.x;\n this.y = a.y + b.y;\n this.z = a.z + b.z;\n return this;\n }\n }, {\n key: \"addScaledVector\",\n value: function addScaledVector(v, s) {\n this.x += v.x * s;\n this.y += v.y * s;\n this.z += v.z * s;\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(v) {\n this.x -= v.x;\n this.y -= v.y;\n this.z -= v.z;\n return this;\n }\n }, {\n key: \"subtracted\",\n value: function subtracted(v) {\n return new Vector3(this.x - v.x, this.y - v.y, this.z - v.z);\n }\n }, {\n key: \"subScalar\",\n value: function subScalar(s) {\n this.x -= s;\n this.y -= s;\n this.z -= s;\n return this;\n }\n }, {\n key: \"subVectors\",\n value: function subVectors(a, b) {\n this.x = a.x - b.x;\n this.y = a.y - b.y;\n this.z = a.z - b.z;\n return this;\n }\n }, {\n key: \"multiply\",\n value: function multiply(v) {\n this.x *= v.x;\n this.y *= v.y;\n this.z *= v.z;\n return this;\n }\n }, {\n key: \"multiplied\",\n value: function multiplied(v) {\n return new Vector3(this.x * v.x, this.y * v.y, this.z * v.z);\n }\n }, {\n key: \"multiplyScalar\",\n value: function multiplyScalar(scalar) {\n this.x *= scalar;\n this.y *= scalar;\n this.z *= scalar;\n return this;\n }\n }, {\n key: \"multiplyVectors\",\n value: function multiplyVectors(a, b) {\n this.x = a.x * b.x;\n this.y = a.y * b.y;\n this.z = a.z * b.z;\n return this;\n }\n }, {\n key: \"applyEuler\",\n value: function applyEuler(euler) {\n return this.applyQuaternion(_quaternion.setFromEuler(euler));\n }\n }, {\n key: \"appliedEuler\",\n value: function appliedEuler(euler) {\n return this.appliedQuaternion(_quaternion.setFromEuler(euler));\n }\n }, {\n key: \"applyAxisAngle\",\n value: function applyAxisAngle(axis, angle) {\n return this.applyQuaternion(_quaternion.setFromAxisAngle(axis, angle));\n }\n }, {\n key: \"applyMatrix3\",\n value: function applyMatrix3(m) {\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var e = m.elements;\n this.x = e[0] * x + e[3] * y + e[6] * z;\n this.y = e[1] * x + e[4] * y + e[7] * z;\n this.z = e[2] * x + e[5] * y + e[8] * z;\n return this;\n }\n }, {\n key: \"applyNormalMatrix\",\n value: function applyNormalMatrix(m) {\n return this.applyMatrix3(m).normalize();\n }\n }, {\n key: \"applyMatrix4\",\n value: function applyMatrix4(m) {\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var e = m.elements;\n var w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]);\n this.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w;\n this.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w;\n this.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w;\n return this;\n }\n }, {\n key: \"appliedMatrix4\",\n value: function appliedMatrix4(m) {\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var e = m.elements;\n var w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]);\n var newX = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w;\n var newY = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w;\n var newZ = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w;\n // NOTE: translation has no effect on vector.\n return new Vector3(newX - e[12] * w, newY - e[13] * w, newZ - e[14] * w);\n }\n }, {\n key: \"applyQuaternion\",\n value: function applyQuaternion(q) {\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var qx = q.x;\n var qy = q.y;\n var qz = q.z;\n var qw = q.w;\n // calculate quat * vector\n var ix = qw * x + qy * z - qz * y;\n var iy = qw * y + qz * x - qx * z;\n var iz = qw * z + qx * y - qy * x;\n var iw = -qx * x - qy * y - qz * z;\n // calculate result * inverse quat\n this.x = ix * qw + iw * -qx + iy * -qz - iz * -qy;\n this.y = iy * qw + iw * -qy + iz * -qx - ix * -qz;\n this.z = iz * qw + iw * -qz + ix * -qy - iy * -qx;\n return this;\n }\n }, {\n key: \"appliedQuaternion\",\n value: function appliedQuaternion(q) {\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var qx = q.x;\n var qy = q.y;\n var qz = q.z;\n var qw = q.w;\n // calculate quat * vector\n var ix = qw * x + qy * z - qz * y;\n var iy = qw * y + qz * x - qx * z;\n var iz = qw * z + qx * y - qy * x;\n var iw = -qx * x - qy * y - qz * z;\n // calculate result * inverse quat\n var newX = ix * qw + iw * -qx + iy * -qz - iz * -qy;\n var newY = iy * qw + iw * -qy + iz * -qx - ix * -qz;\n var newZ = iz * qw + iw * -qz + ix * -qy - iy * -qx;\n return new Vector3(newX, newY, newZ);\n }\n }, {\n key: \"transformDirection\",\n value: function transformDirection(m) {\n // input: THREE.Matrix4 affine matrix\n // vector interpreted as a direction\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var e = m.elements;\n this.x = e[0] * x + e[4] * y + e[8] * z;\n this.y = e[1] * x + e[5] * y + e[9] * z;\n this.z = e[2] * x + e[6] * y + e[10] * z;\n return this.normalize();\n }\n }, {\n key: \"divide\",\n value: function divide(v) {\n this.x /= v.x;\n this.y /= v.y;\n this.z /= v.z;\n return this;\n }\n }, {\n key: \"divideScalar\",\n value: function divideScalar(scalar) {\n return this.multiplyScalar(1 / scalar);\n }\n }, {\n key: \"min\",\n value: function min(v) {\n this.x = Math.min(this.x, v.x);\n this.y = Math.min(this.y, v.y);\n this.z = Math.min(this.z, v.z);\n return this;\n }\n }, {\n key: \"max\",\n value: function max(v) {\n this.x = Math.max(this.x, v.x);\n this.y = Math.max(this.y, v.y);\n this.z = Math.max(this.z, v.z);\n return this;\n }\n }, {\n key: \"clamp\",\n value: function clamp(min, max) {\n // assumes min < max, componentwise\n this.x = Math.max(min.x, Math.min(max.x, this.x));\n this.y = Math.max(min.y, Math.min(max.y, this.y));\n this.z = Math.max(min.z, Math.min(max.z, this.z));\n return this;\n }\n }, {\n key: \"clampScalar\",\n value: function clampScalar(minVal, maxVal) {\n this.x = Math.max(minVal, Math.min(maxVal, this.x));\n this.y = Math.max(minVal, Math.min(maxVal, this.y));\n this.z = Math.max(minVal, Math.min(maxVal, this.z));\n return this;\n }\n }, {\n key: \"clampLength\",\n value: function clampLength(min, max) {\n var length = this.length;\n return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length)));\n }\n }, {\n key: \"floor\",\n value: function floor() {\n this.x = Math.floor(this.x);\n this.y = Math.floor(this.y);\n this.z = Math.floor(this.z);\n return this;\n }\n }, {\n key: \"ceil\",\n value: function ceil() {\n this.x = Math.ceil(this.x);\n this.y = Math.ceil(this.y);\n this.z = Math.ceil(this.z);\n return this;\n }\n }, {\n key: \"round\",\n value: function round() {\n this.x = Math.round(this.x);\n this.y = Math.round(this.y);\n this.z = Math.round(this.z);\n return this;\n }\n }, {\n key: \"roundToZero\",\n value: function roundToZero() {\n this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x);\n this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y);\n this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z);\n return this;\n }\n }, {\n key: \"negate\",\n value: function negate() {\n this.x = -this.x;\n this.y = -this.y;\n this.z = -this.z;\n return this;\n }\n }, {\n key: \"dot\",\n value: function dot(v) {\n return this.x * v.x + this.y * v.y + this.z * v.z;\n }\n // TODO lengthSquared?\n }, {\n key: \"lengthSq\",\n get: function get() {\n return this.x * this.x + this.y * this.y + this.z * this.z;\n }\n }, {\n key: \"length\",\n get: function get() {\n return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);\n }\n }, {\n key: \"manhattanLength\",\n get: function get() {\n return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);\n }\n }, {\n key: \"normalize\",\n value: function normalize() {\n return this.divideScalar(this.length || 1);\n }\n }, {\n key: \"normalized\",\n value: function normalized() {\n var tol = 1e-16;\n var length = this.lengthSq;\n if (length === 0 || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(length, 1, tol)) {\n return new Vector3(this.x, this.y, this.z);\n }\n length = Math.sqrt(length);\n var newX = this.x / length;\n var newY = this.y / length;\n var newZ = this.z / length;\n if (!Number.isFinite(newX) || !Number.isFinite(newY) || !Number.isFinite(newZ)) {\n return new Vector3(this.x, this.y, this.z);\n }\n return new Vector3(newX, newY, newZ);\n }\n }, {\n key: \"reverse\",\n value: function reverse() {\n this.x = -this.x;\n this.y = -this.y;\n this.z = -this.z;\n return this;\n }\n }, {\n key: \"reversed\",\n value: function reversed() {\n return new Vector3(-this.x, -this.y, -this.z);\n }\n }, {\n key: \"setLength\",\n value: function setLength(length) {\n return this.normalize().multiplyScalar(length);\n }\n }, {\n key: \"lerp\",\n value: function lerp(v, alpha) {\n this.x += (v.x - this.x) * alpha;\n this.y += (v.y - this.y) * alpha;\n this.z += (v.z - this.z) * alpha;\n return this;\n }\n }, {\n key: \"lerpVectors\",\n value: function lerpVectors(v1, v2, alpha) {\n this.x = v1.x + (v2.x - v1.x) * alpha;\n this.y = v1.y + (v2.y - v1.y) * alpha;\n this.z = v1.z + (v2.z - v1.z) * alpha;\n return this;\n }\n }, {\n key: \"toVector2\",\n value: function toVector2() {\n return new _Vector2__WEBPACK_IMPORTED_MODULE_5__.Vector2(this.x, this.y);\n }\n }, {\n key: \"cross\",\n value: function cross(v) {\n return this.crossVectors(this, v);\n }\n }, {\n key: \"crossed\",\n value: function crossed(vec) {\n return new Vector3(this.y * vec.z - this.z * vec.y, this.z * vec.x - this.x * vec.z, this.x * vec.y - this.y * vec.x);\n }\n }, {\n key: \"crossVectors\",\n value: function crossVectors(a, b) {\n var ax = a.x;\n var ay = a.y;\n var az = a.z;\n var bx = b.x;\n var by = b.y;\n var bz = b.z;\n this.x = ay * bz - az * by;\n this.y = az * bx - ax * bz;\n this.z = ax * by - ay * bx;\n return this;\n }\n }, {\n key: \"projectOnVector\",\n value: function projectOnVector(v) {\n var denominator = v.lengthSq;\n if (denominator === 0) return this.set(0, 0, 0);\n var scalar = v.dot(this) / denominator;\n return this.copy(v).multiplyScalar(scalar);\n }\n }, {\n key: \"projectOnPlane\",\n value: function projectOnPlane(planeNormal) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n _vector.copy(this).projectOnVector(planeNormal);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return this.sub(_vector);\n }\n }, {\n key: \"reflect\",\n value: function reflect(normal) {\n // reflect incident vector off plane orthogonal to normal\n // normal is assumed to have unit length\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return this.sub(_vector.copy(normal).multiplyScalar(2 * this.dot(normal)));\n }\n /**\n * The angle in [0, PI]\n */\n }, {\n key: \"angle\",\n value: function angle(v) {\n return Math.atan2(this.crossed(v).length, this.dot(v));\n }\n /**\n * The angle in [0, 2PI)\n */\n }, {\n key: \"angleTo\",\n value: function angleTo(v, vecRef) {\n var crossed = this.crossed(v);\n var angle = this.angle(v);\n var pi2 = Math.PI * 2;\n if (crossed.dot(vecRef) < 0.0 && angle < Math.PI && angle > 0) {\n return pi2 - angle;\n }\n return angle;\n }\n }, {\n key: \"distanceTo\",\n value: function distanceTo(v) {\n return Math.sqrt(this.distanceToSquared(v));\n }\n }, {\n key: \"distanceToSquared\",\n value: function distanceToSquared(v) {\n var dx = this.x - v.x;\n var dy = this.y - v.y;\n var dz = this.z - v.z;\n return dx * dx + dy * dy + dz * dz;\n }\n }, {\n key: \"manhattanDistanceTo\",\n value: function manhattanDistanceTo(v) {\n return Math.abs(this.x - v.x) + Math.abs(this.y - v.y) + Math.abs(this.z - v.z);\n }\n }, {\n key: \"setFromMatrixPosition\",\n value: function setFromMatrixPosition(m) {\n var e = m.elements;\n this.x = e[12];\n this.y = e[13];\n this.z = e[14];\n return this;\n }\n }, {\n key: \"setFromMatrixScale\",\n value: function setFromMatrixScale(m) {\n var sx = this.setFromMatrixColumn(m, 0).length;\n var sy = this.setFromMatrixColumn(m, 1).length;\n var sz = this.setFromMatrixColumn(m, 2).length;\n this.x = sx;\n this.y = sy;\n this.z = sz;\n return this;\n }\n }, {\n key: \"setFromMatrixColumn\",\n value: function setFromMatrixColumn(m, index) {\n return this.fromArray(m.elements, index * 4);\n }\n }, {\n key: \"setFromMatrix3Column\",\n value: function setFromMatrix3Column(m, index) {\n return this.fromArray(m.elements, index * 3);\n }\n }, {\n key: \"equals\",\n value: function equals(v) {\n var distTol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.distTol;\n var cosTol = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.cosTol;\n var sLen0 = this.lengthSq;\n var sLen1 = v.lengthSq;\n if (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(sLen0, distTol * distTol) && _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(sLen1, distTol * distTol)) {\n return true;\n }\n // 向量距离相等并且方向相同\n return _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isEqual(Math.sqrt(sLen0), Math.sqrt(sLen1), distTol) && this.isSameDirection(v, new _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance(cosTol, distTol, _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.numTol), false);\n }\n }, {\n key: \"isPerpendicular\",\n value: function isPerpendicular(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return this.cross(vec).lengthSq >= Math.pow(multiLen - cosTol * multiLen, 2);\n }\n }, {\n key: \"isParallel\",\n value: function isParallel(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen - Math.abs(this.dot(vec))) <= cosTol * multiLen;\n }\n }, {\n key: \"isSameDirection\",\n value: function isSameDirection(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen - this.dot(vec)) <= cosTol * multiLen;\n }\n }, {\n key: \"isOpposite\",\n value: function isOpposite(vec, tol) {\n var checkZeroVec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var cosTol = tol ? tol.cosTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.cosTol;\n var distTol = tol ? tol.distTol : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.distTol;\n var len1 = this.length;\n var len2 = vec.length;\n if (len1 === 0 || len2 === 0 || checkZeroVec && (_MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len1, distTol) || _MathUtils__WEBPACK_IMPORTED_MODULE_2__.MathUtils.isZero(len2, distTol))) {\n return false;\n }\n var multiLen = len1 * len2;\n return Math.abs(multiLen + this.dot(vec)) <= cosTol * multiLen;\n }\n }, {\n key: \"isZero\",\n value: function isZero() {\n var distTol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Tolerance__WEBPACK_IMPORTED_MODULE_4__.Tolerance.global.distTol;\n return this.lengthSq < distTol * distTol;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.x = array[offset];\n this.y = array[offset + 1];\n this.z = array[offset + 2];\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n array[offset] = this.x;\n array[offset + 1] = this.y;\n array[offset + 2] = this.z;\n return array;\n }\n }, {\n key: \"random\",\n value: function random() {\n this.x = Math.random();\n this.y = Math.random();\n this.z = Math.random();\n return this;\n }\n }], [{\n key: \"fromObject\",\n value: function fromObject(obj) {\n return new Vector3(obj.x, obj.y, obj.z);\n }\n }]);\n}();\nvar _vector = new Vector3();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Vector3.js?");
/***/ }),
/***/ "../math/es/base/Vector4.js":
/*!**********************************!*\
!*** ../math/es/base/Vector4.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Vector4: () => (/* binding */ Vector4)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n\n\nvar Vector4 = /*#__PURE__*/function () {\n function Vector4() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var w = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Vector4);\n this.isVector4 = true;\n this.x = x;\n this.y = y;\n this.z = z;\n this.w = w;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Vector4, [{\n key: \"width\",\n get: function get() {\n return this.z;\n },\n set: function set(value) {\n this.z = value;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.w;\n },\n set: function set(value) {\n this.w = value;\n }\n }, {\n key: \"set\",\n value: function set(x, y, z, w) {\n this.x = x;\n this.y = y;\n this.z = z;\n this.w = w;\n return this;\n }\n }, {\n key: \"setScalar\",\n value: function setScalar(scalar) {\n this.x = scalar;\n this.y = scalar;\n this.z = scalar;\n this.w = scalar;\n return this;\n }\n }, {\n key: \"setX\",\n value: function setX(x) {\n this.x = x;\n return this;\n }\n }, {\n key: \"setY\",\n value: function setY(y) {\n this.y = y;\n return this;\n }\n }, {\n key: \"setZ\",\n value: function setZ(z) {\n this.z = z;\n return this;\n }\n }, {\n key: \"setW\",\n value: function setW(w) {\n this.w = w;\n return this;\n }\n }, {\n key: \"setComponent\",\n value: function setComponent(index, value) {\n switch (index) {\n case 0:\n this.x = value;\n break;\n case 1:\n this.y = value;\n break;\n case 2:\n this.z = value;\n break;\n case 3:\n this.w = value;\n break;\n default:\n throw new Error(\"index is out of range: \".concat(index));\n }\n return this;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(index) {\n switch (index) {\n case 0:\n return this.x;\n case 1:\n return this.y;\n case 2:\n return this.z;\n case 3:\n return this.w;\n default:\n throw new Error(\"index is out of range: \".concat(index));\n }\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Vector4(this.x, this.y, this.z, this.w);\n }\n }, {\n key: \"copy\",\n value: function copy(v) {\n this.x = v.x;\n this.y = v.y;\n this.z = v.z;\n this.w = v.w !== undefined ? v.w : 1;\n return this;\n }\n }, {\n key: \"add\",\n value: function add(v) {\n this.x += v.x;\n this.y += v.y;\n this.z += v.z;\n this.w += v.w;\n return this;\n }\n }, {\n key: \"addScalar\",\n value: function addScalar(s) {\n this.x += s;\n this.y += s;\n this.z += s;\n this.w += s;\n return this;\n }\n }, {\n key: \"addVectors\",\n value: function addVectors(a, b) {\n this.x = a.x + b.x;\n this.y = a.y + b.y;\n this.z = a.z + b.z;\n this.w = a.w + b.w;\n return this;\n }\n }, {\n key: \"addScaledVector\",\n value: function addScaledVector(v, s) {\n this.x += v.x * s;\n this.y += v.y * s;\n this.z += v.z * s;\n this.w += v.w * s;\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(v) {\n this.x -= v.x;\n this.y -= v.y;\n this.z -= v.z;\n this.w -= v.w;\n return this;\n }\n }, {\n key: \"subScalar\",\n value: function subScalar(s) {\n this.x -= s;\n this.y -= s;\n this.z -= s;\n this.w -= s;\n return this;\n }\n }, {\n key: \"subVectors\",\n value: function subVectors(a, b) {\n this.x = a.x - b.x;\n this.y = a.y - b.y;\n this.z = a.z - b.z;\n this.w = a.w - b.w;\n return this;\n }\n }, {\n key: \"multiply\",\n value: function multiply(v) {\n this.x *= v.x;\n this.y *= v.y;\n this.z *= v.z;\n this.w *= v.w;\n return this;\n }\n }, {\n key: \"multiplyScalar\",\n value: function multiplyScalar(scalar) {\n this.x *= scalar;\n this.y *= scalar;\n this.z *= scalar;\n this.w *= scalar;\n return this;\n }\n }, {\n key: \"applyMatrix4\",\n value: function applyMatrix4(m) {\n var x = this.x;\n var y = this.y;\n var z = this.z;\n var w = this.w;\n var e = m.elements;\n this.x = e[0] * x + e[4] * y + e[8] * z + e[12] * w;\n this.y = e[1] * x + e[5] * y + e[9] * z + e[13] * w;\n this.z = e[2] * x + e[6] * y + e[10] * z + e[14] * w;\n this.w = e[3] * x + e[7] * y + e[11] * z + e[15] * w;\n return this;\n }\n }, {\n key: \"divideScalar\",\n value: function divideScalar(scalar) {\n return this.multiplyScalar(1 / scalar);\n }\n }, {\n key: \"setAxisAngleFromQuaternion\",\n value: function setAxisAngleFromQuaternion(q) {\n // http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm\n // q is assumed to be normalized\n this.w = 2 * Math.acos(q.w);\n var s = Math.sqrt(1 - q.w * q.w);\n if (s < 0.0001) {\n this.x = 1;\n this.y = 0;\n this.z = 0;\n } else {\n this.x = q.x / s;\n this.y = q.y / s;\n this.z = q.z / s;\n }\n return this;\n }\n }, {\n key: \"setAxisAngleFromRotationMatrix\",\n value: function setAxisAngleFromRotationMatrix(m) {\n // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm\n // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n var angle;\n var x;\n var y;\n var z; // variables for result\n var epsilon = 0.01; // margin to allow for rounding errors\n var epsilon2 = 0.1; // margin to distinguish between 0 and 180 degrees\n var te = m.elements;\n var m11 = te[0];\n var m12 = te[4];\n var m13 = te[8];\n var m21 = te[1];\n var m22 = te[5];\n var m23 = te[9];\n var m31 = te[2];\n var m32 = te[6];\n var m33 = te[10];\n if (Math.abs(m12 - m21) < epsilon && Math.abs(m13 - m31) < epsilon && Math.abs(m23 - m32) < epsilon) {\n // singularity found\n // first check for identity matrix which must have +1 for all terms\n // in leading diagonal and zero in other terms\n if (Math.abs(m12 + m21) < epsilon2 && Math.abs(m13 + m31) < epsilon2 && Math.abs(m23 + m32) < epsilon2 && Math.abs(m11 + m22 + m33 - 3) < epsilon2) {\n // this singularity is identity matrix so angle = 0\n this.set(1, 0, 0, 0);\n return this; // zero angle, arbitrary axis\n }\n // otherwise this singularity is angle = 180\n angle = Math.PI;\n var xx = (m11 + 1) / 2;\n var yy = (m22 + 1) / 2;\n var zz = (m33 + 1) / 2;\n var xy = (m12 + m21) / 4;\n var xz = (m13 + m31) / 4;\n var yz = (m23 + m32) / 4;\n if (xx > yy && xx > zz) {\n // m11 is the largest diagonal term\n if (xx < epsilon) {\n x = 0;\n y = 0.707106781;\n z = 0.707106781;\n } else {\n x = Math.sqrt(xx);\n y = xy / x;\n z = xz / x;\n }\n } else if (yy > zz) {\n // m22 is the largest diagonal term\n if (yy < epsilon) {\n x = 0.707106781;\n y = 0;\n z = 0.707106781;\n } else {\n y = Math.sqrt(yy);\n x = xy / y;\n z = yz / y;\n }\n } else {\n // m33 is the largest diagonal term so base result on this\n // eslint-disable-next-line no-lonely-if\n if (zz < epsilon) {\n x = 0.707106781;\n y = 0.707106781;\n z = 0;\n } else {\n z = Math.sqrt(zz);\n x = xz / z;\n y = yz / z;\n }\n }\n this.set(x, y, z, angle);\n return this; // return 180 deg rotation\n }\n // as we have reached here there are no singularities so we can handle normally\n var s = Math.sqrt((m32 - m23) * (m32 - m23) + (m13 - m31) * (m13 - m31) + (m21 - m12) * (m21 - m12)); // used to normalize\n if (Math.abs(s) < 0.001) s = 1;\n // prevent divide by zero, should not happen if matrix is orthogonal and should be\n // caught by singularity test above, but I've left it in just in case\n this.x = (m32 - m23) / s;\n this.y = (m13 - m31) / s;\n this.z = (m21 - m12) / s;\n this.w = Math.acos((m11 + m22 + m33 - 1) / 2);\n return this;\n }\n }, {\n key: \"min\",\n value: function min(v) {\n this.x = Math.min(this.x, v.x);\n this.y = Math.min(this.y, v.y);\n this.z = Math.min(this.z, v.z);\n this.w = Math.min(this.w, v.w);\n return this;\n }\n }, {\n key: \"max\",\n value: function max(v) {\n this.x = Math.max(this.x, v.x);\n this.y = Math.max(this.y, v.y);\n this.z = Math.max(this.z, v.z);\n this.w = Math.max(this.w, v.w);\n return this;\n }\n }, {\n key: \"clamp\",\n value: function clamp(min, max) {\n // assumes min < max, componentwise\n this.x = Math.max(min.x, Math.min(max.x, this.x));\n this.y = Math.max(min.y, Math.min(max.y, this.y));\n this.z = Math.max(min.z, Math.min(max.z, this.z));\n this.w = Math.max(min.w, Math.min(max.w, this.w));\n return this;\n }\n }, {\n key: \"clampScalar\",\n value: function clampScalar(minVal, maxVal) {\n this.x = Math.max(minVal, Math.min(maxVal, this.x));\n this.y = Math.max(minVal, Math.min(maxVal, this.y));\n this.z = Math.max(minVal, Math.min(maxVal, this.z));\n this.w = Math.max(minVal, Math.min(maxVal, this.w));\n return this;\n }\n }, {\n key: \"clampLength\",\n value: function clampLength(min, max) {\n var length = this.length;\n return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length)));\n }\n }, {\n key: \"floor\",\n value: function floor() {\n this.x = Math.floor(this.x);\n this.y = Math.floor(this.y);\n this.z = Math.floor(this.z);\n this.w = Math.floor(this.w);\n return this;\n }\n }, {\n key: \"ceil\",\n value: function ceil() {\n this.x = Math.ceil(this.x);\n this.y = Math.ceil(this.y);\n this.z = Math.ceil(this.z);\n this.w = Math.ceil(this.w);\n return this;\n }\n }, {\n key: \"round\",\n value: function round() {\n this.x = Math.round(this.x);\n this.y = Math.round(this.y);\n this.z = Math.round(this.z);\n this.w = Math.round(this.w);\n return this;\n }\n }, {\n key: \"roundToZero\",\n value: function roundToZero() {\n this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x);\n this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y);\n this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z);\n this.w = this.w < 0 ? Math.ceil(this.w) : Math.floor(this.w);\n return this;\n }\n }, {\n key: \"negate\",\n value: function negate() {\n this.x = -this.x;\n this.y = -this.y;\n this.z = -this.z;\n this.w = -this.w;\n return this;\n }\n }, {\n key: \"dot\",\n value: function dot(v) {\n return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w;\n }\n }, {\n key: \"lengthSq\",\n get: function get() {\n return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;\n }\n }, {\n key: \"length\",\n get: function get() {\n return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);\n }\n }, {\n key: \"manhattanLength\",\n get: function get() {\n return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);\n }\n }, {\n key: \"normalize\",\n value: function normalize() {\n return this.divideScalar(this.length || 1);\n }\n }, {\n key: \"setLength\",\n value: function setLength(length) {\n return this.normalize().multiplyScalar(length);\n }\n }, {\n key: \"lerp\",\n value: function lerp(v, alpha) {\n this.x += (v.x - this.x) * alpha;\n this.y += (v.y - this.y) * alpha;\n this.z += (v.z - this.z) * alpha;\n this.w += (v.w - this.w) * alpha;\n return this;\n }\n }, {\n key: \"lerpVectors\",\n value: function lerpVectors(v1, v2, alpha) {\n this.x = v1.x + (v2.x - v1.x) * alpha;\n this.y = v1.y + (v2.y - v1.y) * alpha;\n this.z = v1.z + (v2.z - v1.z) * alpha;\n this.w = v1.w + (v2.w - v1.w) * alpha;\n return this;\n }\n }, {\n key: \"equals\",\n value: function equals(v) {\n return v.x === this.x && v.y === this.y && v.z === this.z && v.w === this.w;\n }\n }, {\n key: \"fromArray\",\n value: function fromArray(array) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.x = array[offset];\n this.y = array[offset + 1];\n this.z = array[offset + 2];\n this.w = array[offset + 3];\n return this;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n array[offset] = this.x;\n array[offset + 1] = this.y;\n array[offset + 2] = this.z;\n array[offset + 3] = this.w;\n return array;\n }\n }, {\n key: \"random\",\n value: function random() {\n this.x = Math.random();\n this.y = Math.random();\n this.z = Math.random();\n this.w = Math.random();\n return this;\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../math/es/base/Vector4.js?");
/***/ }),
/***/ "../math/es/index.js":
/*!***************************!*\
!*** ../math/es/index.js ***!
\***************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Box2: () => (/* reexport safe */ _base_Box2__WEBPACK_IMPORTED_MODULE_0__.Box2),\n/* harmony export */ Box3: () => (/* reexport safe */ _base_Box3__WEBPACK_IMPORTED_MODULE_1__.Box3),\n/* harmony export */ Euler: () => (/* reexport safe */ _base_Euler__WEBPACK_IMPORTED_MODULE_2__.Euler),\n/* harmony export */ Interval: () => (/* reexport safe */ _base_Interval__WEBPACK_IMPORTED_MODULE_3__.Interval),\n/* harmony export */ Line3: () => (/* reexport safe */ _base_Line3__WEBPACK_IMPORTED_MODULE_4__.Line3),\n/* harmony export */ MathUtils: () => (/* reexport safe */ _MathUtils__WEBPACK_IMPORTED_MODULE_5__.MathUtils),\n/* harmony export */ Matrix3: () => (/* reexport safe */ _base_Matrix3__WEBPACK_IMPORTED_MODULE_6__.Matrix3),\n/* harmony export */ Matrix4: () => (/* reexport safe */ _base_Matrix4__WEBPACK_IMPORTED_MODULE_7__.Matrix4),\n/* harmony export */ Quaternion: () => (/* reexport safe */ _base_Quaternion__WEBPACK_IMPORTED_MODULE_8__.Quaternion),\n/* harmony export */ Ray: () => (/* reexport safe */ _base_Ray__WEBPACK_IMPORTED_MODULE_9__.Ray),\n/* harmony export */ Tolerance: () => (/* reexport safe */ _base_Tolerance__WEBPACK_IMPORTED_MODULE_10__.Tolerance),\n/* harmony export */ Vector2: () => (/* reexport safe */ _base_Vector2__WEBPACK_IMPORTED_MODULE_11__.Vector2),\n/* harmony export */ Vector3: () => (/* reexport safe */ _base_Vector3__WEBPACK_IMPORTED_MODULE_12__.Vector3),\n/* harmony export */ Vector4: () => (/* reexport safe */ _base_Vector4__WEBPACK_IMPORTED_MODULE_13__.Vector4)\n/* harmony export */ });\n/* harmony import */ var _base_Box2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base/Box2 */ \"../math/es/base/Box2.js\");\n/* harmony import */ var _base_Box3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base/Box3 */ \"../math/es/base/Box3.js\");\n/* harmony import */ var _base_Euler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base/Euler */ \"../math/es/base/Euler.js\");\n/* harmony import */ var _base_Interval__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base/Interval */ \"../math/es/base/Interval.js\");\n/* harmony import */ var _base_Line3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base/Line3 */ \"../math/es/base/Line3.js\");\n/* harmony import */ var _MathUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MathUtils */ \"../math/es/MathUtils.js\");\n/* harmony import */ var _base_Matrix3__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./base/Matrix3 */ \"../math/es/base/Matrix3.js\");\n/* harmony import */ var _base_Matrix4__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./base/Matrix4 */ \"../math/es/base/Matrix4.js\");\n/* harmony import */ var _base_Quaternion__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./base/Quaternion */ \"../math/es/base/Quaternion.js\");\n/* harmony import */ var _base_Ray__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./base/Ray */ \"../math/es/base/Ray.js\");\n/* harmony import */ var _base_Tolerance__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./base/Tolerance */ \"../math/es/base/Tolerance.js\");\n/* harmony import */ var _base_Vector2__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./base/Vector2 */ \"../math/es/base/Vector2.js\");\n/* harmony import */ var _base_Vector3__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./base/Vector3 */ \"../math/es/base/Vector3.js\");\n/* harmony import */ var _base_Vector4__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./base/Vector4 */ \"../math/es/base/Vector4.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://CommandManager/../math/es/index.js?");
/***/ }),
/***/ "../shared/es/common.js":
/*!******************************!*\
!*** ../shared/es/common.js ***!
\******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ batchRemove: () => (/* binding */ batchRemove),\n/* harmony export */ batchRemoveFromSet: () => (/* binding */ batchRemoveFromSet),\n/* harmony export */ bind: () => (/* binding */ bind),\n/* harmony export */ convert2UniqueString: () => (/* binding */ convert2UniqueString),\n/* harmony export */ deduplicate: () => (/* binding */ deduplicate),\n/* harmony export */ dummy: () => (/* binding */ dummy),\n/* harmony export */ getContextEnv: () => (/* binding */ getContextEnv),\n/* harmony export */ getContextParam: () => (/* binding */ getContextParam),\n/* harmony export */ hasOwn: () => (/* binding */ hasOwn),\n/* harmony export */ includes: () => (/* binding */ includes),\n/* harmony export */ is: () => (/* binding */ is),\n/* harmony export */ isObject: () => (/* binding */ isObject),\n/* harmony export */ isPlainObject: () => (/* binding */ isPlainObject),\n/* harmony export */ isPrimitive: () => (/* binding */ isPrimitive),\n/* harmony export */ isPromise: () => (/* binding */ isPromise),\n/* harmony export */ loadJSON: () => (/* binding */ loadJSON),\n/* harmony export */ nextTick: () => (/* binding */ nextTick),\n/* harmony export */ remove: () => (/* binding */ remove),\n/* harmony export */ shallowEqual: () => (/* binding */ shallowEqual),\n/* harmony export */ sortBy: () => (/* binding */ sortBy),\n/* harmony export */ updateQueryStringParameter: () => (/* binding */ updateQueryStringParameter)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _lang__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lang */ \"../shared/es/lang.js\");\n/* harmony import */ var _uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uuid */ \"../shared/es/uuid.js\");\n\n\n\nfunction isObject(value) {\n return value !== null && (0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) === 'object';\n}\nfunction isPromise(value) {\n return value && typeof value.then === 'function';\n}\n// {}\nfunction isPlainObject(value) {\n if (value === null || (0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) !== 'object') return false;\n var proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n}\n/**\n * 对数组从小到大排序\n */\nfunction sortBy(arr, func) {\n var length = arr.length;\n for (var i = 0; i < length; i++) {\n for (var j = i + 1; j < length; j++) {\n var itemI = arr[i];\n var itemJ = arr[j];\n var indicatorI = func ? func(itemI) : itemI;\n var indicatorJ = func ? func(itemJ) : itemJ;\n if (indicatorJ < indicatorI) {\n arr[i] = itemJ;\n arr[j] = itemI;\n }\n }\n }\n return arr;\n}\nfunction includes(array, item) {\n return array.indexOf(item) > -1;\n}\nfunction remove(array, item) {\n var index = array.indexOf(item);\n if (index > -1) {\n array.splice(index, 1);\n }\n}\nfunction batchRemove(array, items) {\n items.forEach(function (item) {\n var index = array.indexOf(item);\n if (index > -1) {\n array.splice(index, 1);\n }\n });\n}\nfunction batchRemoveFromSet(set, items) {\n items.forEach(function (item) {\n set[\"delete\"](item);\n });\n}\n// boolean, string, number, undefined, null\nfunction isPrimitive(value) {\n return value === null || (0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) !== 'object' && typeof value !== 'function';\n}\nfunction convert2UniqueString(key) {\n if (!(0,_lang__WEBPACK_IMPORTED_MODULE_1__.isSymbol)(key)) {\n return key.toString();\n }\n return key.toString() + (0,_uuid__WEBPACK_IMPORTED_MODULE_2__.generateUUID)();\n}\nvar deduplicate = function deduplicate(array) {\n return Array.from(new Set(array));\n};\nvar promise = Promise.resolve();\n/**\n * nextTick would flush promise micro task\n */\nfunction nextTick(fn) {\n return fn ? promise.then(fn) : promise;\n}\nvar hasOwn = function hasOwn(val, key) {\n return Object.prototype.hasOwnProperty.call(val, key);\n};\n// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n }\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n}\nfunction bind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n // eslint-disable-next-line no-nested-ternary\n return l ? l > 1\n // eslint-disable-next-line prefer-rest-params\n ? fn.apply(ctx, arguments) : fn.call(ctx, a) : fn.call(ctx);\n }\n return boundFn;\n}\n// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n if ((0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objA) !== 'object' || objA === null || (0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objB) !== 'object' || objB === null) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n for (var i = 0; i < keysA.length; i++) {\n if (!objB.hasOwnProperty(keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nvar dummy = function dummy() {\n //\n};\nfunction loadJSON(url) {\n return new Promise(function (resolve) {\n var xhr = new XMLHttpRequest();\n xhr.overrideMimeType('application/json');\n xhr.open('GET', url, true);\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n resolve(JSON.parse(xhr.responseText || '{}'));\n }\n };\n xhr.send(null);\n });\n}\nfunction updateQueryStringParameter(url, key, value) {\n if (!value) {\n return url;\n }\n var re = new RegExp(\"([?&])\".concat(key, \"=.*?(&|$)\"), 'i');\n var separator = url.indexOf('?') !== -1 ? '&' : '?';\n if (url.match(re)) {\n return url.replace(re, \"$1\".concat(key, \"=\").concat(value, \"$2\"));\n }\n return \"\".concat(url).concat(separator).concat(key, \"=\").concat(value);\n}\nfunction getContextEnv() {\n return typeof window !== 'undefined' ? 'browser' : 'vm';\n}\nfunction getContextParam(key) {\n var value;\n var env = getContextEnv();\n if (env === 'browser') {\n value = window[key];\n }\n if (env === 'vm') {\n value = __webpack_require__.g[key];\n }\n return value;\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/common.js?");
/***/ }),
/***/ "../shared/es/compose.js":
/*!*******************************!*\
!*** ../shared/es/compose.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compose: () => (/* binding */ compose)\n/* harmony export */ });\n/**\n * from redux compose\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/compose.js?");
/***/ }),
/***/ "../shared/es/debounce.js":
/*!********************************!*\
!*** ../shared/es/debounce.js ***!
\********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ debounce: () => (/* binding */ debounce)\n/* harmony export */ });\nvar now = Date.now;\nfunction debounce(func) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;\n var lastArgs;\n var lastThis;\n var maxWait;\n var result;\n var timerId;\n var lastCallTime;\n var lastInvokeTime = 0;\n var leading = false;\n var maxing = false;\n var trailing = true;\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n function invokeFunc(time) {\n var args = lastArgs;\n var thisArg = lastThis;\n // eslint-disable-next-line no-multi-assign\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime;\n var timeSinceLastInvoke = time - lastInvokeTime;\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime;\n var timeSinceLastInvoke = time - lastInvokeTime;\n var timeWaiting = wait - timeSinceLastCall;\n return maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n function trailingEdge(time) {\n timerId = undefined;\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n // eslint-disable-next-line no-multi-assign\n lastArgs = lastThis = undefined;\n return result;\n }\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n // eslint-disable-next-line no-multi-assign\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n function debounced() {\n var time = now();\n var isInvoking = shouldInvoke(time);\n // eslint-disable-next-line prefer-rest-params\n lastArgs = arguments;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n lastThis = this;\n lastCallTime = time;\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/debounce.js?");
/***/ }),
/***/ "../shared/es/decorator.js":
/*!*********************************!*\
!*** ../shared/es/decorator.js ***!
\*********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ canObserve: () => (/* binding */ canObserve),\n/* harmony export */ quacksLikeADecorator: () => (/* binding */ quacksLikeADecorator)\n/* harmony export */ });\n/* harmony import */ var _lang__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lang */ \"../shared/es/lang.js\");\n\nfunction quacksLikeADecorator(args) {\n return (args.length === 2 || args.length === 3) && typeof args[1] === 'string';\n}\n// prop could be decorated by @reactor\nvar canObserve = function canObserve(value) {\n return _lang__WEBPACK_IMPORTED_MODULE_0__.stateDecoRegExp.test((0,_lang__WEBPACK_IMPORTED_MODULE_0__.toObjectTypeString)(value));\n};\n\n//# sourceURL=webpack://CommandManager/../shared/es/decorator.js?");
/***/ }),
/***/ "../shared/es/deep-merge.js":
/*!**********************************!*\
!*** ../shared/es/deep-merge.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ deepMerge: () => (/* binding */ deepMerge)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\nfunction isMergeableObject(val) {\n var nonNullObject = val && (0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(val) === 'object';\n return nonNullObject && Object.prototype.toString.call(val) !== '[object RegExp]' && Object.prototype.toString.call(val) !== '[object Date]';\n}\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n}\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return clone && isMergeableObject(value) ? deepMerge(emptyTarget(value), value, optionsArgument) : value;\n}\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function (e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepMerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination;\n}\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepMerge(target[key], source[key], optionsArgument);\n }\n });\n return destination;\n}\nfunction deepMerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || {\n arrayMerge: defaultArrayMerge\n };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument);\n }\n return mergeObject(target, source, optionsArgument);\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/deep-merge.js?");
/***/ }),
/***/ "../shared/es/error.js":
/*!*****************************!*\
!*** ../shared/es/error.js ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OBFUSCATED_ERROR: () => (/* binding */ OBFUSCATED_ERROR),\n/* harmony export */ fail: () => (/* binding */ fail),\n/* harmony export */ invariant: () => (/* binding */ invariant),\n/* harmony export */ warn: () => (/* binding */ warn)\n/* harmony export */ });\nvar OBFUSCATED_ERROR = 'An invariant failed, however the error is obfuscated because this is an production build.';\nfunction invariant(check, message) {\n if (!check) throw new Error(\"[turbox]: \".concat(message || OBFUSCATED_ERROR));\n}\nfunction fail(message) {\n invariant(false, message);\n // eslint-disable-next-line no-throw-literal\n throw 'X';\n}\nfunction warn(message) {\n console.warn(\"[turbox]: \".concat(message));\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/error.js?");
/***/ }),
/***/ "../shared/es/event.js":
/*!*****************************!*\
!*** ../shared/es/event.js ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ emitter: () => (/* binding */ emitter)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n\n\nvar Emitter = /*#__PURE__*/function () {\n function Emitter() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Emitter);\n this.listeners = {};\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Emitter, [{\n key: \"on\",\n value: function on(eventName, callback) {\n var listeners = this.listeners[eventName] || [];\n listeners.push(callback);\n this.listeners[eventName] = listeners;\n }\n }, {\n key: \"emit\",\n value: function emit(eventName) {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n var listeners = this.listeners[eventName];\n if (!Array.isArray(listeners)) return;\n listeners.forEach(function (callback) {\n try {\n callback.apply(_this, args);\n } catch (e) {\n console.error(e);\n }\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName) {\n if (!this.listeners[eventName]) {\n return;\n }\n this.listeners[eventName] = [];\n }\n }]);\n}();\nvar emitter = new Emitter();\n\n//# sourceURL=webpack://CommandManager/../shared/es/event.js?");
/***/ }),
/***/ "../shared/es/graphic.js":
/*!*******************************!*\
!*** ../shared/es/graphic.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getRelativePositionFromEvent: () => (/* binding */ getRelativePositionFromEvent),\n/* harmony export */ pointInRect: () => (/* binding */ pointInRect)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n\n/** 判断点是否在矩形内 */\nfunction pointInRect(p, rect) {\n var _rect = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(rect, 2),\n r1 = _rect[0],\n r2 = _rect[1];\n var c1 = (p.x - r1.x) * (p.x - r2.x);\n var c2 = (p.y - r1.y) * (p.y - r2.y);\n return c1 <= 0 && c2 <= 0;\n}\n/**\n * 获得点击位置相对于 canvas 的坐标\n * 如果输入参数不合法,或点击位置超出 canvas 的 clientRect 则返回 undefined\n * @param vec 事件坐标\n * @param canvas 要接受的 canvas 对象\n */\nfunction getRelativePositionFromEvent(vec, rect) {\n var point = {\n x: vec.x - rect.x,\n y: vec.y - rect.y\n };\n if (point.x <= 0 || point.y <= 0 || point.x > rect.width || point.y > rect.height) {\n return undefined;\n }\n return point;\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/graphic.js?");
/***/ }),
/***/ "../shared/es/index.js":
/*!*****************************!*\
!*** ../shared/es/index.js ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OBFUSCATED_ERROR: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_7__.OBFUSCATED_ERROR),\n/* harmony export */ Task: () => (/* reexport safe */ _task__WEBPACK_IMPORTED_MODULE_2__.Task),\n/* harmony export */ TaskPriority: () => (/* reexport safe */ _rafTask__WEBPACK_IMPORTED_MODULE_3__.TaskPriority),\n/* harmony export */ batchRemove: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.batchRemove),\n/* harmony export */ batchRemoveFromSet: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.batchRemoveFromSet),\n/* harmony export */ bind: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.bind),\n/* harmony export */ canObserve: () => (/* reexport safe */ _decorator__WEBPACK_IMPORTED_MODULE_9__.canObserve),\n/* harmony export */ compose: () => (/* reexport safe */ _compose__WEBPACK_IMPORTED_MODULE_11__.compose),\n/* harmony export */ convert2UniqueString: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.convert2UniqueString),\n/* harmony export */ debounce: () => (/* reexport safe */ _debounce__WEBPACK_IMPORTED_MODULE_10__.debounce),\n/* harmony export */ deduplicate: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.deduplicate),\n/* harmony export */ deepMerge: () => (/* reexport safe */ _deep_merge__WEBPACK_IMPORTED_MODULE_8__.deepMerge),\n/* harmony export */ dummy: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.dummy),\n/* harmony export */ emitter: () => (/* reexport safe */ _event__WEBPACK_IMPORTED_MODULE_6__.emitter),\n/* harmony export */ fail: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_7__.fail),\n/* harmony export */ generateUUID: () => (/* reexport safe */ _uuid__WEBPACK_IMPORTED_MODULE_0__.generateUUID),\n/* harmony export */ getContextEnv: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.getContextEnv),\n/* harmony export */ getContextParam: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.getContextParam),\n/* harmony export */ getRelativePositionFromEvent: () => (/* reexport safe */ _graphic__WEBPACK_IMPORTED_MODULE_5__.getRelativePositionFromEvent),\n/* harmony export */ getValue: () => (/* reexport safe */ _type__WEBPACK_IMPORTED_MODULE_1__.getValue),\n/* harmony export */ hasOwn: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.hasOwn),\n/* harmony export */ includes: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.includes),\n/* harmony export */ invariant: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_7__.invariant),\n/* harmony export */ is: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.is),\n/* harmony export */ isObject: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.isObject),\n/* harmony export */ isPlainObject: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.isPlainObject),\n/* harmony export */ isPrimitive: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.isPrimitive),\n/* harmony export */ isPromise: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.isPromise),\n/* harmony export */ isReserved: () => (/* reexport safe */ _lang__WEBPACK_IMPORTED_MODULE_4__.isReserved),\n/* harmony export */ isSupportProxy: () => (/* reexport safe */ _lang__WEBPACK_IMPORTED_MODULE_4__.isSupportProxy),\n/* harmony export */ isSupportSymbol: () => (/* reexport safe */ _lang__WEBPACK_IMPORTED_MODULE_4__.isSupportSymbol),\n/* harmony export */ isSymbol: () => (/* reexport safe */ _lang__WEBPACK_IMPORTED_MODULE_4__.isSymbol),\n/* harmony export */ loadJSON: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.loadJSON),\n/* harmony export */ nextTick: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.nextTick),\n/* harmony export */ pointInRect: () => (/* reexport safe */ _graphic__WEBPACK_IMPORTED_MODULE_5__.pointInRect),\n/* harmony export */ quacksLikeADecorator: () => (/* reexport safe */ _decorator__WEBPACK_IMPORTED_MODULE_9__.quacksLikeADecorator),\n/* harmony export */ remove: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.remove),\n/* harmony export */ shallowEqual: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.shallowEqual),\n/* harmony export */ sortBy: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.sortBy),\n/* harmony export */ stateDecoRegExp: () => (/* reexport safe */ _lang__WEBPACK_IMPORTED_MODULE_4__.stateDecoRegExp),\n/* harmony export */ throttleInAFrame: () => (/* reexport safe */ _rafTask__WEBPACK_IMPORTED_MODULE_3__.throttleInAFrame),\n/* harmony export */ toObjectTypeString: () => (/* reexport safe */ _lang__WEBPACK_IMPORTED_MODULE_4__.toObjectTypeString),\n/* harmony export */ updateQueryStringParameter: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_12__.updateQueryStringParameter),\n/* harmony export */ warn: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_7__.warn)\n/* harmony export */ });\n/* harmony import */ var _uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uuid */ \"../shared/es/uuid.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./type */ \"../shared/es/type.js\");\n/* harmony import */ var _task__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./task */ \"../shared/es/task.js\");\n/* harmony import */ var _rafTask__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rafTask */ \"../shared/es/rafTask.js\");\n/* harmony import */ var _lang__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lang */ \"../shared/es/lang.js\");\n/* harmony import */ var _graphic__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./graphic */ \"../shared/es/graphic.js\");\n/* harmony import */ var _event__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./event */ \"../shared/es/event.js\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./error */ \"../shared/es/error.js\");\n/* harmony import */ var _deep_merge__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./deep-merge */ \"../shared/es/deep-merge.js\");\n/* harmony import */ var _decorator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./decorator */ \"../shared/es/decorator.js\");\n/* harmony import */ var _debounce__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./debounce */ \"../shared/es/debounce.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./compose */ \"../shared/es/compose.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./common */ \"../shared/es/common.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://CommandManager/../shared/es/index.js?");
/***/ }),
/***/ "../shared/es/lang.js":
/*!****************************!*\
!*** ../shared/es/lang.js ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isReserved: () => (/* binding */ isReserved),\n/* harmony export */ isSupportProxy: () => (/* binding */ isSupportProxy),\n/* harmony export */ isSupportSymbol: () => (/* binding */ isSupportSymbol),\n/* harmony export */ isSymbol: () => (/* binding */ isSymbol),\n/* harmony export */ stateDecoRegExp: () => (/* binding */ stateDecoRegExp),\n/* harmony export */ toObjectTypeString: () => (/* binding */ toObjectTypeString)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = \"\".concat(str).charCodeAt(0);\n return c === 0x24 || c === 0x5F;\n}\nfunction isSupportProxy() {\n return typeof Proxy !== 'undefined';\n}\nfunction isSymbol(symbol) {\n return (0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(symbol) === 'symbol';\n}\nfunction isSupportSymbol() {\n return typeof Symbol !== 'undefined';\n}\nvar toObjectTypeString = function toObjectTypeString(value) {\n return Object.prototype.toString.call(value);\n};\nvar stateDecoRegExp = /^\\[object (?:Object|Array|Map|Set|WeakMap|WeakSet)\\]$/;\n\n//# sourceURL=webpack://CommandManager/../shared/es/lang.js?");
/***/ }),
/***/ "../shared/es/rafTask.js":
/*!*******************************!*\
!*** ../shared/es/rafTask.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TaskPriority: () => (/* binding */ TaskPriority),\n/* harmony export */ throttleInAFrame: () => (/* binding */ throttleInAFrame)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _task__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./task */ \"../shared/es/task.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./common */ \"../shared/es/common.js\");\n\n\n\n/**\n * 任务优先级。数据越小,优先级越高\n */\nvar TaskPriority;\n(function (TaskPriority) {\n /**\n * 用户行为(比如:各种交互行为)\n */\n TaskPriority[TaskPriority[\"UserAction\"] = 0] = \"UserAction\";\n /**\n * 更新领域数据\n */\n TaskPriority[TaskPriority[\"UpdateState\"] = 1] = \"UpdateState\";\n /**\n * 更新 React 组件\n */\n TaskPriority[TaskPriority[\"RenderReact\"] = 2] = \"RenderReact\";\n /**\n * 更新场景视图\n *\n * 暂定高优先级,因为基于之后场景组件化的机制,这一帧绘制的应该是上一帧的结果\n */\n TaskPriority[TaskPriority[\"RenderScene\"] = -1] = \"RenderScene\";\n})(TaskPriority || (TaskPriority = {}));\n/**\n * TODO:\n * 1. 收集这里的任务排队执行情况\n * 2. 根据搜集数据+行业中的任务切片方案来优化这边的任务执行\n */\n// 存储的任务队列\nvar tasks = [];\n// 是否注册了任务待执行\nvar readyToExecute = false;\n/**\n * 节流函数\n */\nfunction throttleByFrames(func, maxFPS) {\n var frameInterval = 1000 / maxFPS; // 计算每帧的时间间隔(毫秒)\n var lastTime = 0;\n return function () {\n var now = Date.now();\n if (now - lastTime >= frameInterval) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n func.apply(this, args);\n lastTime = now;\n }\n };\n}\n/**\n * 执行任务队列\n */\nfunction executeTask() {\n // 得到排序后的当前任务队列\n var currentTasks = (0,_common__WEBPACK_IMPORTED_MODULE_2__.sortBy)(tasks, function (task) {\n return task.priority;\n });\n // 清空存储的数据\n tasks = [];\n // 按顺序执行当前任务队列\n currentTasks.forEach(function (task) {\n var fn = task.fn;\n fn();\n });\n readyToExecute = false;\n}\n/**\n * throttle 函数执行为每帧一次\n * @param func 要执行的函数\n * @param priority 优先级\n */\nfunction throttleInAFrame(func) {\n var priority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TaskPriority.UserAction;\n var maxFPS = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 60;\n var cacheArgs;\n var isPending = false;\n function execute() {\n isPending = false;\n func.apply(void 0, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cacheArgs));\n }\n var f = throttleByFrames(function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n cacheArgs = args;\n if (!isPending) {\n isPending = true;\n tasks.push(_task__WEBPACK_IMPORTED_MODULE_1__.Task.createTask(execute, priority));\n if (!readyToExecute) {\n readyToExecute = true;\n (0,_common__WEBPACK_IMPORTED_MODULE_2__.nextTick)(executeTask);\n }\n }\n }, maxFPS);\n return f;\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/rafTask.js?");
/***/ }),
/***/ "../shared/es/task.js":
/*!****************************!*\
!*** ../shared/es/task.js ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Task: () => (/* binding */ Task)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n\n\nvar Task = /*#__PURE__*/function () {\n function Task(fn, priority) {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Task);\n this.fn = fn;\n this.priority = priority;\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Task, null, [{\n key: \"createTask\",\n value: function createTask(fn, priority) {\n return new Task(fn, priority);\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/../shared/es/task.js?");
/***/ }),
/***/ "../shared/es/type.js":
/*!****************************!*\
!*** ../shared/es/type.js ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getValue: () => (/* binding */ getValue)\n/* harmony export */ });\nfunction getValue(obj, key) {\n return obj[key];\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/type.js?");
/***/ }),
/***/ "../shared/es/uuid.js":
/*!****************************!*\
!*** ../shared/es/uuid.js ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateUUID: () => (/* binding */ generateUUID)\n/* harmony export */ });\nvar chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\nvar uuid = new Array(36);\n/**\n * Generates uuid\n */\nfunction generateUUID() {\n var rnd = 0;\n for (var i = 0; i < 36; i++) {\n if (i === 8 || i === 13 || i === 18 || i === 23) {\n uuid[i] = '-';\n } else if (i === 14) {\n uuid[i] = '7';\n } else {\n if (rnd <= 0x02) {\n rnd = 0x2000000 + Math.random() * 0x1000000 | 0;\n }\n var r = rnd & 0xf;\n rnd >>= 4;\n uuid[i] = chars[i === 19 ? r & 0x3 | 0x8 : r];\n }\n }\n return uuid.join('');\n}\n\n//# sourceURL=webpack://CommandManager/../shared/es/uuid.js?");
/***/ }),
/***/ "./es/Command.js":
/*!***********************!*\
!*** ./es/Command.js ***!
\***********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Command: () => (/* binding */ Command)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _Interaction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Interaction */ \"./es/Interaction.js\");\n\n\n\n\n\n\nfunction _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(o), (0,_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n\nvar Command = /*#__PURE__*/function (_Interaction) {\n function Command(holder, parent) {\n var _this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, Command);\n _this = _callSuper(this, Command);\n _this.holder = holder;\n _this.parent = parent;\n _this.$children = {};\n _this.activeChildren = [];\n var activeFunc = _this.active.bind(_this);\n var disposeFunc = _this.dispose.bind(_this);\n _this.active = function () {\n if (_this.parent && !_this.holder.isCommandActive(_this)) {\n // 仅作为激活的子 Command 记录在父 Command 上\n _this.parent.onChildActive(_this);\n }\n // 先执行自定义的 active 的相关工作\n activeFunc.apply(void 0, arguments);\n };\n _this.dispose = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var _a;\n // 如果自身是应用在 Mgr 上的 Command,则要清理掉\n if (_this.holder.isCommandActive(_this)) {\n _this.holder.clearCommand();\n } else {\n // 将自己改为注销状态\n (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.onChildDispose(_this);\n }\n // 便利激活的子节点,置为注销状态\n (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this.activeChildren).forEach(function (child) {\n return child.dispose.apply(child, args);\n });\n // 处理自定义工作\n disposeFunc.apply(void 0, args);\n };\n return _this;\n }\n /**\n * 应用当前 Command 及其子级,该方法不仅会强制激活当前 Command 及其子级,还会使它们的交互事件生效\n * 同时只能有一个 Command 节点处于应用状态(兄弟节点的交互事件是互斥的)\n * 永远不用重写该方法,相关初始化逻辑请在 active 接口中编码\n */\n (0,_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Command, _Interaction);\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Command, [{\n key: \"apply\",\n value: function apply() {\n this.holder.toggleCommand(this);\n this.active.apply(this, arguments);\n }\n /**\n * 激活当前 Command 及其子级,为即将到来的交互事件做好准备\n */\n }, {\n key: \"active\",\n value: function active() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n // 将子 command 也激活\n Object.values(this.$children).forEach(function (command) {\n return command.active.apply(command, args);\n });\n }\n /**\n * 注销当前 Command 及其子级,同时将停止响应该指令及子级的交互事件\n */\n }, {\n key: \"dispose\",\n value: function dispose() {\n //\n }\n }, {\n key: \"distributeEvent\",\n value: function distributeEvent(eventType, ev, event, tools) {\n // step 1 先让子 Commands 处理事件\n // Object.values(this.$children).forEach(command => command.distributeEvent(eventType, ev, event));\n this.activeChildren.forEach(function (command) {\n return command.distributeEvent(eventType, ev, event, tools);\n });\n // step2 自身处理事件\n this.distributeToSelf(eventType, ev, event, tools);\n }\n }, {\n key: \"onChildActive\",\n value: function onChildActive(command) {\n if (this.activeChildren.indexOf(command) === -1) {\n this.activeChildren.push(command);\n }\n }\n }, {\n key: \"onChildDispose\",\n value: function onChildDispose(command) {\n var index = this.activeChildren.indexOf(command);\n if (index !== -1) {\n this.activeChildren.splice(index, 1);\n }\n }\n }]);\n}(_Interaction__WEBPACK_IMPORTED_MODULE_6__.Interaction);\n\n//# sourceURL=webpack://CommandManager/./es/Command.js?");
/***/ }),
/***/ "./es/CommandManager.js":
/*!******************************!*\
!*** ./es/CommandManager.js ***!
\******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CommandManager: () => (/* binding */ CommandManager)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _create__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create */ \"./es/create.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./compose */ \"./es/compose.js\");\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./manager */ \"./es/manager.js\");\n/* harmony import */ var _install__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./install */ \"./es/install.js\");\n\n\n\n\n\n\nvar CommandManager = /*#__PURE__*/function () {\n function CommandManager() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, CommandManager);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(CommandManager, [{\n key: \"installed\",\n value: function installed() {\n //\n }\n }, {\n key: \"toggleCommand\",\n value: function toggleCommand(command) {\n this.activeCommand = command;\n }\n }, {\n key: \"clearCommand\",\n value: function clearCommand() {\n this.activeCommand = undefined;\n }\n /**\n * 判断当前激活的 Command 是否为入参 command\n * @param command\n */\n }, {\n key: \"isCommandActive\",\n value: function isCommandActive(command) {\n return this.activeCommand === command;\n }\n }, {\n key: \"distributeEvent\",\n value: function distributeEvent(eventType, ev, event, tools) {\n if (this.activeCommand) {\n this.activeCommand.distributeEvent(eventType, ev, event, tools);\n }\n }\n }]);\n}();\n/**\n * 构建一个 Command 基类\n *\n * 范型类型为激活时的函数参数\n */\nCommandManager.create = _create__WEBPACK_IMPORTED_MODULE_2__.create;\n/**\n * 构建一个组合了其他 Command 的结构(本质依然是一个 Command)\n */\nCommandManager.compose = _compose__WEBPACK_IMPORTED_MODULE_3__.compose;\n/**\n * 构建一个 CommandManager 基类\n */\nCommandManager.manager = _manager__WEBPACK_IMPORTED_MODULE_4__.manager;\n/**\n * 安装声明一系列指令集\n */\nCommandManager.install = _install__WEBPACK_IMPORTED_MODULE_5__.install;\n\n//# sourceURL=webpack://CommandManager/./es/CommandManager.js?");
/***/ }),
/***/ "./es/Interaction.js":
/*!***************************!*\
!*** ./es/Interaction.js ***!
\***************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Interaction: () => (/* binding */ Interaction)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @turbox3d/event-manager */ \"../event-manager/es/index.js\");\n\n\n\nvar Interaction = /*#__PURE__*/function () {\n function Interaction() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Interaction);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Interaction, [{\n key: \"onClick\",\n value: function onClick(entity, event, tools) {\n //\n }\n }, {\n key: \"onDBClick\",\n value: function onDBClick(entity, event, tools) {\n //\n }\n }, {\n key: \"onRightClick\",\n value: function onRightClick(entity, event, tools) {\n //\n }\n }, {\n key: \"onDragStart\",\n value: function onDragStart(entity, event, tools) {\n //\n }\n }, {\n key: \"onDragMove\",\n value: function onDragMove(entity, event, tools) {\n //\n }\n }, {\n key: \"onDragEnd\",\n value: function onDragEnd(entity, event, tools) {\n //\n }\n }, {\n key: \"onPinchStart\",\n value: function onPinchStart(entity, event, tools) {\n //\n }\n }, {\n key: \"onPinch\",\n value: function onPinch(entity, event, tools) {\n //\n }\n }, {\n key: \"onPinchEnd\",\n value: function onPinchEnd(entity, event, tools) {\n //\n }\n }, {\n key: \"onRotateStart\",\n value: function onRotateStart(entity, event, tools) {\n //\n }\n }, {\n key: \"onRotate\",\n value: function onRotate(entity, event, tools) {\n //\n }\n }, {\n key: \"onRotateEnd\",\n value: function onRotateEnd(entity, event, tools) {\n //\n }\n }, {\n key: \"onPress\",\n value: function onPress(entity, event, tools) {\n //\n }\n }, {\n key: \"onPressUp\",\n value: function onPressUp(entity, event, tools) {\n //\n }\n }, {\n key: \"onHoverIn\",\n value: function onHoverIn(entity, event, tools) {\n //\n }\n }, {\n key: \"onHoverOut\",\n value: function onHoverOut(entity, event, tools) {\n //\n }\n }, {\n key: \"onCarriageMove\",\n value: function onCarriageMove(entity, event, tools) {\n //\n }\n }, {\n key: \"onCarriageEnd\",\n value: function onCarriageEnd(entity, event, tools) {\n //\n }\n /**\n * 画布的缩放事件\n */\n }, {\n key: \"onWheel\",\n value: function onWheel(entity, event, tools) {\n //\n }\n /**\n * 将交互事件分发给自身的回调函数处理\n */\n }, {\n key: \"distributeToSelf\",\n value: function distributeToSelf(eventType, ev, event, tools) {\n switch (eventType) {\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onClick:\n this.onClick(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onDBClick:\n this.onDBClick(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onRightClick:\n this.onRightClick(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onDragStart:\n this.onDragStart(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onDragMove:\n this.onDragMove(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onDragEnd:\n this.onDragEnd(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onPinchStart:\n this.onPinchStart(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onPinch:\n this.onPinch(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onPinchEnd:\n this.onPinchEnd(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onRotateStart:\n this.onRotateStart(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onRotate:\n this.onRotate(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onRotateEnd:\n this.onRotateEnd(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onPress:\n this.onPress(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onPressUp:\n this.onPressUp(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onHoverIn:\n this.onHoverIn(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onHoverOut:\n this.onHoverOut(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onCarriageMove:\n this.onCarriageMove(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onCarriageEnd:\n this.onCarriageEnd(ev, event, tools);\n break;\n case _turbox3d_event_manager__WEBPACK_IMPORTED_MODULE_2__.EventType.onWheel:\n this.onWheel(ev, event, tools);\n break;\n default:\n break;\n }\n }\n }]);\n}();\n\n\n//# sourceURL=webpack://CommandManager/./es/Interaction.js?");
/***/ }),
/***/ "./es/compose.js":
/*!***********************!*\
!*** ./es/compose.js ***!
\***********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compose: () => (/* binding */ compose)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _Command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Command */ \"./es/Command.js\");\n\n\n\n\n\nfunction _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(o), (0,_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n\n/**\n * 构建一个组合了其他 Command 的结构(本质依然是一个 Command)\n */\nfunction compose(declaredMap) {\n return /*#__PURE__*/function (_Command) {\n function _class(holer, parent) {\n var _this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, _class);\n _this = _callSuper(this, _class, [holer, parent]);\n // 构建 $children\n Object.keys(declaredMap).forEach(function (key) {\n var command = new declaredMap[key](_this.holder, _this);\n _this[key] = command;\n _this.$children[key] = command;\n });\n return _this;\n }\n (0,_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_class, _Command);\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_class);\n }(_Command__WEBPACK_IMPORTED_MODULE_5__.Command);\n}\n\n\n//# sourceURL=webpack://CommandManager/./es/compose.js?");
/***/ }),
/***/ "./es/create.js":
/*!**********************!*\
!*** ./es/create.js ***!
\**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ create: () => (/* binding */ create)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Command__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Command */ \"./es/Command.js\");\n\n\n\n// 仅作为类型标示无参数的 Command 生命周期函数\nvar INoParamCommand = /*#__PURE__*/function () {\n function INoParamCommand() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, INoParamCommand);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(INoParamCommand, [{\n key: \"apply\",\n value: function apply() {\n //\n }\n }, {\n key: \"active\",\n value: function active() {\n //\n }\n }]);\n}(); // 仅作为类型标示有参数的 Command 生命周期函数\nvar IParamCommand = /*#__PURE__*/function () {\n function IParamCommand() {\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, IParamCommand);\n }\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(IParamCommand, [{\n key: \"apply\",\n value: function apply(param) {\n //\n }\n }, {\n key: \"active\",\n value: function active(param) {\n //\n }\n }]);\n}(); // type E = keyof Command;\n// type P = Pick<Command, 'dispose' | 'distributeEvent' | '$children'>;\n/**\n * 构建一个 Command 基类\n *\n * 范型类型为激活时的函数参数\n */\nfunction create() {\n return _Command__WEBPACK_IMPORTED_MODULE_2__.Command;\n}\n\n\n//# sourceURL=webpack://CommandManager/./es/create.js?");
/***/ }),
/***/ "./es/index.js":
/*!*********************!*\
!*** ./es/index.js ***!
\*********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Command: () => (/* reexport safe */ _Command__WEBPACK_IMPORTED_MODULE_0__.Command),\n/* harmony export */ CommandManager: () => (/* reexport safe */ _CommandManager__WEBPACK_IMPORTED_MODULE_1__.CommandManager),\n/* harmony export */ isCommandManager: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_2__.isCommandManager)\n/* harmony export */ });\n/* harmony import */ var _Command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Command */ \"./es/Command.js\");\n/* harmony import */ var _CommandManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CommandManager */ \"./es/CommandManager.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"./es/util.js\");\n\n\n\n\n\n//# sourceURL=webpack://CommandManager/./es/index.js?");
/***/ }),
/***/ "./es/install.js":
/*!***********************!*\
!*** ./es/install.js ***!
\***********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ install: () => (/* binding */ install)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _CommandManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CommandManager */ \"./es/CommandManager.js\");\n\n\n\n\n\nfunction _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(o), (0,_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n\nfunction install(declaredMap) {\n return /*#__PURE__*/function (_CommandManager) {\n function _class() {\n var _this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, _class);\n _this = _callSuper(this, _class);\n Object.keys(declaredMap).forEach(function (key) {\n var command = new declaredMap[key](_this);\n _this[key] = command;\n });\n _this.installed();\n return _this;\n }\n (0,_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_class, _CommandManager);\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_class);\n }(_CommandManager__WEBPACK_IMPORTED_MODULE_5__.CommandManager);\n}\n\n\n//# sourceURL=webpack://CommandManager/./es/install.js?");
/***/ }),
/***/ "./es/manager.js":
/*!***********************!*\
!*** ./es/manager.js ***!
\***********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ manager: () => (/* binding */ manager)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ \"../../node_modules/.pnpm/@babel+runtime@7.26.10/node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _CommandManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CommandManager */ \"./es/CommandManager.js\");\n\n\n\n\n\nfunction _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(o), (0,_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n\n/**\n * 构建一个 CommandManager 基类\n */\nfunction manager(declaredMap) {\n return /*#__PURE__*/function (_CommandManager) {\n function _class() {\n var _this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, _class);\n _this = _callSuper(this, _class);\n Object.keys(declaredMap).forEach(function (key) {\n var command = new declaredMap[key](_this);\n _this[key] = command;\n });\n return _this;\n }\n (0,_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_class, _CommandManager);\n return (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_class);\n }(_CommandManager__WEBPACK_IMPORTED_MODULE_5__.CommandManager);\n}\n\n\n//# sourceURL=webpack://CommandManager/./es/manager.js?");
/***/ }),
/***/ "./es/util.js":
/*!********************!*\
!*** ./es/util.js ***!
\********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isCommandManager: () => (/* binding */ isCommandManager)\n/* harmony export */ });\n/* harmony import */ var _CommandManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CommandManager */ \"./es/CommandManager.js\");\n\nfunction isCommandManager(mgr) {\n return mgr instanceof _CommandManager__WEBPACK_IMPORTED_MODULE_0__.CommandManager;\n}\n\n//# sourceURL=webpack://CommandManager/./es/util.js?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ var __webpack_exports__ = __webpack_require__("./es/index.js");
/******/
/******/ return __webpack_exports__;
/******/ })()
;
});