@chocozhang/three-model-render 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +609 -0
  3. package/dist/camera/index.d.ts +133 -0
  4. package/dist/camera/index.js +291 -0
  5. package/dist/camera/index.js.map +1 -0
  6. package/dist/camera/index.mjs +265 -0
  7. package/dist/camera/index.mjs.map +1 -0
  8. package/dist/core/index.d.ts +102 -0
  9. package/dist/core/index.js +455 -0
  10. package/dist/core/index.js.map +1 -0
  11. package/dist/core/index.mjs +432 -0
  12. package/dist/core/index.mjs.map +1 -0
  13. package/dist/effect/index.d.ts +214 -0
  14. package/dist/effect/index.js +749 -0
  15. package/dist/effect/index.js.map +1 -0
  16. package/dist/effect/index.mjs +728 -0
  17. package/dist/effect/index.mjs.map +1 -0
  18. package/dist/index.d.ts +852 -0
  19. package/dist/index.js +3268 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/index.mjs +3223 -0
  22. package/dist/index.mjs.map +1 -0
  23. package/dist/interaction/index.d.ts +160 -0
  24. package/dist/interaction/index.js +661 -0
  25. package/dist/interaction/index.js.map +1 -0
  26. package/dist/interaction/index.mjs +637 -0
  27. package/dist/interaction/index.mjs.map +1 -0
  28. package/dist/loader/index.d.ts +175 -0
  29. package/dist/loader/index.js +786 -0
  30. package/dist/loader/index.js.map +1 -0
  31. package/dist/loader/index.mjs +758 -0
  32. package/dist/loader/index.mjs.map +1 -0
  33. package/dist/setup/index.d.ts +47 -0
  34. package/dist/setup/index.js +199 -0
  35. package/dist/setup/index.js.map +1 -0
  36. package/dist/setup/index.mjs +178 -0
  37. package/dist/setup/index.mjs.map +1 -0
  38. package/dist/ui/index.d.ts +36 -0
  39. package/dist/ui/index.js +292 -0
  40. package/dist/ui/index.js.map +1 -0
  41. package/dist/ui/index.mjs +271 -0
  42. package/dist/ui/index.mjs.map +1 -0
  43. package/package.json +98 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../node_modules/.pnpm/@rollup+plugin-typescript@1_632e2e97a9817b21497092e65925dfbd/node_modules/tslib/tslib.es6.js","../../src/loader/modelLoader.ts","../../src/loader/skyboxLoader.ts","../../src/loader/blueSkyManager.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,null,null],"names":["DEFAULT_OPTIONS"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkGA;AACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;AAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,IAAI,CAAC,CAAC,CAAC;AACP,CAAC;AA6MD;AACuB,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;AACvH,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AACrF;;ACpTA,MAAMA,iBAAe,GAAuF;AAC1G,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,WAAW,EAAE,IAAI;CAClB;AAED;AACA,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAiB,EAAA;AACtD,IAAA,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE;AACtD,IAAA,MAAM,MAAM,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAqBA,iBAAe,CAAA,EAAK,IAAI,CAAE;IAE3D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE;;AAEnC,QAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;AAAE,YAAA,MAAM,CAAC,gBAAgB,GAAG,SAAS;AAC9E,QAAA,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;AAAE,YAAA,MAAM,CAAC,OAAO,GAAG,IAAI;AACvD,QAAA,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS;AAAE,YAAA,MAAM,CAAC,kBAAkB,GAAG,SAAS;IACpF;SAAO;;AAEL,QAAA,MAAM,CAAC,gBAAgB,GAAG,IAAI;AAC9B,QAAA,MAAM,CAAC,kBAAkB,GAAG,IAAI;AAChC,QAAA,MAAM,CAAC,OAAO,GAAG,KAAK;IACxB;AAEA,IAAA,OAAO,MAAM;AACf;SAEsB,cAAc,CAAA,KAAA,EAAA;yDAClC,GAAW,EACX,UAAuB,EAAE,EAAA;;AAEzB,QAAA,IAAI,CAAC,GAAG;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC;AAEzC,QAAA,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE;QACtD,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC;AAC3C,QAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,KAAK,CAAC,cAAc,EAAE;AAE1D,QAAA,IAAI,MAAkB;QACtB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE;YACnC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,0CAA0C,CAAC;AAC/E,YAAA,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;AAE1C,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,2CAA2C,CAAC;AACjF,gBAAA,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE;AAC/B,gBAAA,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAC3C,gBAAA,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC;YAClC;YAEA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,0CAA0C,CAAC;AAC/E,gBAAA,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACzE,gBAAA,UAAkB,CAAC,YAAY,GAAG,UAAU;YACnD;YAEA,MAAM,GAAG,UAAiB;QAC5B;AAAO,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,yCAAyC,CAAC;AAC7E,YAAA,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC;QAEjC;AAAO,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,yCAAyC,CAAC;AAC7E,YAAA,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC;QACjC;AAAO,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,yCAAyC,CAAC;AAC7E,YAAA,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC;QACjC;AAAO,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,yCAAyC,CAAC;AAC7E,YAAA,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC;QACjC;aAAO;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAA,CAAE,CAAC;QACzD;QAEA,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,KAAI;YACnE,MAAM,CAAC,IAAI,CACT,GAAG,EACH,CAAC,GAAQ,KAAI;;gBACX,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE;AACnC,oBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG;;;AAIhC,oBAAA,QAAgB,CAAC,QAAQ,GAAG,CAAC,QAAgB,KAAA,IAAA,IAAhB,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAU,QAAQ,KAAI,EAAE;oBAC7D,QAAgB,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,GAAG,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;oBAC5D,OAAO,CAAC,QAA0B,CAAC;gBACrC;qBACK;oBACH,OAAO,CAAC,GAAqB,CAAC;gBAChC;AACF,YAAA,CAAC,EACD,SAAS,EACT,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CACrB;AACH,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAI;;YACxB,MAAM,IAAI,GAAG,KAAmB;AAChC,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAE,IAAI,CAAC,QAAgB,CAAC,gBAAgB,EAAE;AAC5E,gBAAA,IAAI;oBACF,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,IAAI,KAAK,CAAC,cAAc,EAAE,EAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,IAAI,CAAC,QAAe,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,QAAQ;gBAClG;gBAAE,OAAA,EAAA,EAAM,EAAE;YACZ;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC;AAAE,YAAA,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC;AAC1G,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAI;AACxB,gBAAA,MAAM,CAAC,GAAI,KAAa,CAAC,QAAQ;AACjC,gBAAA,IAAI,CAAC,CAAC;oBAAE;AACR,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAAG,oBAAA,KAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC;;AACpF,oBAAA,KAAa,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC;AACpD,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI;AACF,gBAAA,MAAM,kBAAkB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,EAAE,CAAC;YAC7E;YAAE,OAAO,CAAC,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;YAC3C;QACF;AAEA,QAAA,OAAO,MAAM;IACf,CAAC,CAAA;AAAA;AAED;AACA,SAAS,yBAAyB,CAAC,GAAmB,EAAE,OAAe,EAAA;AACrE,IAAA,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAI;QAClB,IAAI,CAAE,EAAU,CAAC,MAAM;YAAE;QACzB,MAAM,IAAI,GAAG,EAAgB;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAe;AAChC,QAAA,IAAI,CAAC,GAAG;YAAE;AACV,QAAA,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC;AACtG,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAClB,YAAA,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAA8B;AAC/C,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE;AACxB,YAAA,MAAM,KAAK,GAAQ,GAAG,CAAC,KAAK;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE;YACnC,MAAM,GAAG,GAAG,OAAO;YACnB,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;gBAAE;;AAE/C,YAAA,IAAI;AACF,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,gBAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9C,gBAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;gBAChD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,GAAG,EAAE;AACP,oBAAA,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACvD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;AACxC,oBAAA,MAAM,CAAC,WAAW,GAAG,IAAI;;AAEzB,oBAAA,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ;AAC9B,oBAAA,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM;gBACjB;YACF;YAAE,OAAO,CAAC,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;YAC7C;AACF,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC,CAAC;AACJ;AAEA;;;;;AAKG;AACH,SAAe,kBAAkB,CAAC,IAAoB,EAAE,IAA8B,EAAA;;;AAEpF,QAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuE;AAC7F,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAI;;YACnB,IAAI,CAAE,EAAU,CAAC,MAAM;gBAAE;YACzB,MAAM,IAAI,GAAG,EAAgB;AAC7B,YAAA,IAAI,IAAI,CAAC,WAAW,IAAK,IAAY,CAAC,aAAa;gBAAE;AACrD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAe;;YAEhC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;gBAAE;AAC9C,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW;gBAAE;YAC5B,MAAM,IAAI,GAAI,IAAI,CAAC,QAAiC,CAAC,KAAK,EAAE;AAC5D,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;YAEnC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;AAC1C,YAAA,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,QAAQ,EAAE,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAH,GAAG,GAAI,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAClG,YAAA,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;;AAEvB,YAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI;AACzC,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE;;AAGvB,QAAA,MAAM,WAAW,GAAQ,MAAM,OAAO,iDAAiD,CAAC;;AAExF,QAAA,MAAM,OAAO,GACX,WAAW,CAAC,qBAAqB;AACjC,YAAA,WAAW,CAAC,eAAe;YAC3B,WAAW,CAAC,qBAAqB;YACjC,WAAW,CAAC,eAAe;AAE7B,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;;AAG/E,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,MAAM,EAAE;AAC/C,YAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;;gBAErB;YACF;;YAEA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,CAAC;gBAClD;YACF;;YAEA,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnD,YAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACtB;;QAGA,MAAM,QAAQ,GAAqB,EAAE;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAI;;AACnB,YAAA,IAAI,CAAA,EAAA,GAAC,EAAU,CAAC,QAAQ,0CAAE,kBAAkB;AAAE,gBAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACjE,QAAA,CAAC,CAAC;AACF,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACrB,IAAI,CAAC,CAAC,MAAM;AAAE,gBAAA,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;;AAEhC,YAAA,IAAK,CAAS,CAAC,MAAM,EAAE;gBACrB,MAAM,EAAE,GAAG,CAAe;AAC1B,gBAAA,IAAI;AAAE,oBAAA,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAAC;gBAAE,OAAA,EAAA,EAAM,EAAE;;YAExC;AACF,QAAA,CAAC,CAAC;IACJ,CAAC,CAAA;AAAA;AAED;;AAE2B;AAE3B;AACM,SAAU,aAAa,CAAC,GAA0B,EAAA;AACtD,IAAA,IAAI,CAAC,GAAG;QAAE;AACV,IAAA,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAI;AAClB,QAAA,IAAK,EAAU,CAAC,MAAM,EAAE;YACtB,MAAM,CAAC,GAAG,EAAgB;AAC1B,YAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;AACd,gBAAA,IAAI;AAAE,oBAAA,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAAC;gBAAE,OAAA,EAAA,EAAM,EAAE;YACvC;AACA,YAAA,MAAM,GAAG,GAAG,CAAC,CAAC,QAAe;YAC7B,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAAE,oBAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;;oBACzD,eAAe,CAAC,GAAG,CAAC;YAC3B;QACF;AACF,IAAA,CAAC,CAAC;AACJ;AAEA;AACM,SAAU,eAAe,CAAC,GAAQ,EAAA;AACtC,IAAA,IAAI,CAAC,GAAG;QAAE;IACV,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,CAAC;AAC7J,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACrB,QAAA,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE;AAClD,YAAA,IAAI;AAAE,gBAAA,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAAC;YAAE,OAAA,EAAA,EAAM,EAAE;QACnC;AACF,IAAA,CAAC,CAAC;AACF,IAAA,IAAI;AAAE,QAAA,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;YAAE,GAAG,CAAC,OAAO,EAAE;IAAC;IAAE,OAAA,EAAA,EAAM,EAAE;AACvE;;ACjQA;AACA,MAAM,eAAe,GAAoD;AACvE,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,KAAK,EAAE;CACR;AAED;AACA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsD;AAC/E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsD;AAEnF;;AAEiD;AAEjD;;;;;;AAMG;SACmB,cAAc,CAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA;AAClC,IAAA,OAAA,SAAA,CAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,QAA6B,EAC7B,KAAkB,EAClB,KAAe,EACf,OAAsB,EAAE,EAAA;;AAExB,QAAA,MAAM,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,eAAe,CAAA,EAAK,IAAI,CAAE;AAC/C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;QAEtG,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;QAG3B,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACvC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE;AAC/B,YAAA,GAAG,CAAC,QAAQ,IAAI,CAAC;;YAEjB,IAAI,OAAO,CAAC,eAAe;gBAAE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB;YAC5E,IAAI,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe;gBAAE,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO;YAClH,OAAO,GAAG,CAAC,MAAM;QACnB;;AAGA,QAAA,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,KAAI;YACvE,MAAM,CAAC,IAAI,CACT,KAAK,EACL,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EACT,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CACrB;AACH,QAAA,CAAC,CAAC;;QAGF,IAAI,OAAO,CAAC,eAAe;AAAE,YAAA,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY;AAClE,QAAA,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,qBAAqB;;QAG7C,IAAI,OAAO,CAAC,eAAe;AAAE,YAAA,KAAK,CAAC,UAAU,GAAG,OAAO;;AAGvD,QAAA,IAAI,cAAc,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AACjF,QAAA,CAAA,EAAA,GAAA,cAAc,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,cAAA,CAAkB;;QAGrD,IAAI,eAAe,GAAmC,IAAI;AAC1D,QAAA,IAAK,cAAsB,CAAC,WAAW,EAAE;AACvC,YAAA,eAAe,GAAI,cAAsB,CAAC,WAAW,CAAC,OAAO,CAA4B;QAC3F;aAAO;;;YAGL,eAAe,GAAG,IAAI;QACxB;AAEA,QAAA,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC5B,IAAI,eAAe,EAAE;AACnB,gBAAA,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO;YAC7C;iBAAO;;AAEL,gBAAA,KAAK,CAAC,WAAW,GAAG,OAAO;YAC7B;QACF;AAEA,QAAA,MAAM,MAAM,GAAiB;YAC3B,GAAG;YACH,iBAAiB,EAAE,OAAO,CAAC,eAAe,GAAG,OAAO,GAAG,IAAI;AAC3D,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,GAAG,cAAc;AAC9D,YAAA,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe;AAC1C,YAAA,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB;YAC5C,OAAO,GAAA;;gBAEL,IAAI,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO;AAAE,oBAAA,KAAK,CAAC,UAAU,GAAG,IAAI;gBACpF,IAAI,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,EAAE;;oBAEjD,IAAI,eAAe,IAAI,KAAK,CAAC,WAAW,KAAK,eAAe,CAAC,OAAO;AAAE,wBAAA,KAAK,CAAC,WAAW,GAAG,IAAI;AACzF,yBAAA,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;AAAE,wBAAA,KAAK,CAAC,WAAW,GAAG,IAAI;gBAClE;;gBAGA,IAAI,eAAe,EAAE;AACnB,oBAAA,IAAI;wBAAE,eAAe,CAAC,OAAO,EAAE;oBAAC;oBAAE,OAAA,EAAA,EAAM,EAAC;gBAC3C;AACA,gBAAA,IAAI;oBAAE,OAAO,CAAC,OAAO,EAAE;gBAAC;gBAAE,OAAA,EAAA,EAAM,EAAC;;AAGjC,gBAAA,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,cAAc,EAAE;AAC7C,oBAAA,IAAI;wBAAE,cAAc,CAAC,OAAO,EAAE;oBAAC;oBAAE,OAAA,EAAA,EAAM,EAAC;gBAC1C;YACF;SACD;QAED,IAAI,OAAO,CAAC,KAAK;AAAE,YAAA,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAC9D,QAAA,OAAO,MAAM;IACf,CAAC,CAAA;AAAA;AAED;;;;;;AAMG;SACmB,kBAAkB,CAAA,UAAA,EAAA,OAAA,EAAA,KAAA,EAAA;AACtC,IAAA,OAAA,SAAA,CAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,QAA6B,EAC7B,KAAkB,EAClB,GAAW,EACX,OAAsB,EAAE,EAAA;;AAExB,QAAA,MAAM,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,eAAe,CAAA,EAAK,IAAI,CAAE;QAC/C,MAAM,GAAG,GAAG,GAAG;QAEf,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAE;AACnC,YAAA,GAAG,CAAC,QAAQ,IAAI,CAAC;YACjB,IAAI,OAAO,CAAC,eAAe;gBAAE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB;YAC5E,IAAI,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe;gBAAE,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO;YAClH,OAAO,GAAG,CAAC,MAAM;QACnB;;QAGA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,QAAA,IAAI,UAAyB;QAE7B,IAAI,KAAK,EAAE;YACT,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,0CAA0C,CAAC;YAC/E,UAAU,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,KAAI;AAChE,gBAAA,IAAI,UAAU,EAAE,CAAC,IAAI,CACnB,GAAG,EACH,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EACT,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CACrB;AACH,YAAA,CAAC,CAAC;;AAEF,YAAA,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc;QAC5C;aAAO;;AAEL,YAAA,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;YACxC,UAAU,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,KAAI;gBAChE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;AACtE,YAAA,CAAC,CAAC;YACF,IAAI,OAAO,CAAC,eAAe;AAAE,gBAAA,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY;QACvE;;AAGA,QAAA,MAAM,cAAc,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AACnF,QAAA,CAAA,EAAA,GAAA,cAAc,CAAC,4BAA4B,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,cAAA,CAAI;QAE/C,MAAM,eAAe,GAAG,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC;;AAEtE,QAAA,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO;;AAG1C,QAAA,IAAI,OAAO,CAAC,eAAe,EAAE;;;AAG3B,YAAA,KAAK,CAAC,UAAU,GAAG,UAAU;QAC/B;AACA,QAAA,IAAI,OAAO,CAAC,gBAAgB,EAAE;AAC5B,YAAA,KAAK,CAAC,WAAW,GAAG,UAAU;QAChC;;AAGA,QAAA,IAAI;YAAE,UAAU,CAAC,OAAO,EAAE;QAAC;QAAE,OAAA,EAAA,EAAM,EAAC;AAEpC,QAAA,MAAM,MAAM,GAAiB;YAC3B,GAAG;YACH,iBAAiB,EAAE,OAAO,CAAC,eAAe,GAAG,UAAU,GAAG,IAAI;YAC9D,eAAe;YACf,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,GAAG,cAAc;AAC9D,YAAA,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe;AAC1C,YAAA,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB;YAC5C,OAAO,GAAA;gBACL,IAAI,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU;AAAE,oBAAA,KAAK,CAAC,UAAU,GAAG,IAAI;gBACvF,IAAI,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU;AAAE,oBAAA,KAAK,CAAC,WAAW,GAAG,IAAI;AAE1F,gBAAA,IAAI;oBAAE,eAAe,CAAC,OAAO,EAAE;gBAAC;gBAAE,OAAA,EAAA,EAAM,EAAC;AACzC,gBAAA,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,cAAc,EAAE;AAC7C,oBAAA,IAAI;wBAAE,cAAc,CAAC,OAAO,EAAE;oBAAC;oBAAE,OAAA,EAAA,EAAM,EAAC;gBAC1C;YACF;SACD;QAED,IAAI,OAAO,CAAC,KAAK;AAAE,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAClE,QAAA,OAAO,MAAM;IACf,CAAC,CAAA;AAAA;SAUqB,UAAU,CAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA;AAC9B,IAAA,OAAA,SAAA,CAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,QAA6B,EAC7B,KAAkB,EAClB,MAAwB,EACxB,OAAsB,EAAE,EAAA;AAExB,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;AAAE,YAAA,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;AACtF,QAAA,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;IAC9D,CAAC,CAAA;AAAA;AAED;;AAE+B;AAE/B;AACM,SAAU,aAAa,CAAC,MAAoB,EAAA;;IAEhD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE;AACtC,QAAA,GAAG,CAAC,QAAQ,IAAI,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;AACrB,YAAA,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;AACpB,YAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAC9B;QACA;IACF;IACA,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACjC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE;AAC1C,QAAA,GAAG,CAAC,QAAQ,IAAI,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;AACrB,YAAA,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;AACpB,YAAA,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC;QACA;IACF;;;AAGF;;ACpSA;AAmBA;;;;;;;;;;;AAWG;AACH,MAAM,cAAc,CAAA;AAApB,IAAA,WAAA,GAAA;;QAWU,IAAA,CAAA,KAAK,GAAmC,IAAI;;QAG5C,IAAA,CAAA,aAAa,GAAG,KAAK;;QAGrB,IAAA,CAAA,aAAa,GAAqB,IAAI;;QAGtC,IAAA,CAAA,YAAY,GAA4C,MAAM;IAiLxE;AA/KE;;;;;;;AAOG;AACH,IAAA,IAAI,CAAC,QAA6B,EAAE,KAAkB,EAAE,QAAQ,GAAG,GAAG,EAAA;AACpE,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC;YAC7C;QACF;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;QAGlB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB;AACvD,QAAA,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,QAAQ;;QAG5C,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE;AAE5C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA;;;;;;AAMG;AACH,IAAA,SAAS,CAAC,OAAe,EAAE,OAAA,GAA0B,EAAE,EAAA;AACrD,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrE;;QAGA,IAAI,CAAC,UAAU,EAAE;AAEjB,QAAA,MAAM,EACJ,UAAU,GAAG,IAAI,EACjB,UAAU,EACV,UAAU,EACV,OAAO,EACR,GAAG,OAAO;AAEX,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,SAAS,EAAE;QAEpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,IAAI,CAAC,aAAc,CAAC,IAAI,CACtB,OAAO;;YAEP,CAAC,OAAO,KAAI;AACV,gBAAA,IAAI;;AAEF,oBAAA,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,gCAAgC;;oBAGxD,IAAI,CAAC,OAAO,EAAE;;oBAGd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC;;oBAGvD,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO;AAC3C,oBAAA,IAAI,UAAU;wBAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO;;oBAG1D,OAAO,CAAC,OAAO,EAAE;AAEjB,oBAAA,IAAI,CAAC,YAAY,GAAG,QAAQ;AAC5B,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,oBAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC;AAE9C,oBAAA,IAAI,UAAU;AAAE,wBAAA,UAAU,EAAE;AAC5B,oBAAA,OAAO,EAAE;gBACX;gBAAE,OAAO,KAAK,EAAE;AACd,oBAAA,IAAI,CAAC,YAAY,GAAG,OAAO;AAC3B,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,oBAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC;AACpD,oBAAA,IAAI,OAAO;wBAAE,OAAO,CAAC,KAAK,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC;gBACf;YACF,CAAC;;YAED,CAAC,GAAG,KAAI;AACN,gBAAA,IAAI,UAAU,IAAI,GAAG,CAAC,gBAAgB,EAAE;oBACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK;oBACvC,UAAU,CAAC,QAAQ,CAAC;gBACtB;YACF,CAAC;;YAED,CAAC,GAAG,KAAI;AACN,gBAAA,IAAI,CAAC,YAAY,GAAG,OAAO;AAC3B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,gBAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC;AAC/C,gBAAA,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC;AACb,YAAA,CAAC,CACF;AACH,QAAA,CAAC,CAAC;IACJ;AAEA;;;;;AAKG;AACH,IAAA,IAAI,CAAC,OAAe,EAAE,UAAU,GAAG,IAAI,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AACtD,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC;AACpD,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;;AAEtB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM;QAC5B;IACF;AAEA;;AAEG;IACH,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS;IACxC;AAEA;;;;;AAKG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;QACA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI;QACrE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI;IACzE;AAEA;;;;;AAKG;IACH,OAAO,GAAA;;QACL,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,OAAO,EAAE;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAAE;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;IAC5B;AACD;AAED;;;;;AAKG;AACI,MAAM,OAAO,GAAG,IAAI,cAAc;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,47 @@
1
+ import * as THREE from 'three';
2
+
3
+ interface AutoSetupOptions {
4
+ /** 相机在包围球基础上的额外填充倍数(>1 扩大可视范围) */
5
+ padding?: number;
6
+ /** 相机仰角偏移(弧度),默认小俯视(0.2 rad ≈ 11°) */
7
+ elevation?: number;
8
+ /** 是否启用阴影(shadow) - 性能开销大,默认 false */
9
+ enableShadows?: boolean;
10
+ /** 阴影贴图尺寸,越高越清晰越耗性能,默认 1024 */
11
+ shadowMapSize?: number;
12
+ /** DirectionalLights 的数量(均匀分布在四面) */
13
+ directionalCount?: number;
14
+ /** 是否自动把 mesh.castShadow / mesh.receiveShadow 设置为 true(默认 true) */
15
+ setMeshShadowProps?: boolean;
16
+ /** 如果传入 renderer,则工具会自动启用 renderer.shadowMap(如果 enableShadows 为 true) */
17
+ renderer?: THREE.WebGLRenderer | null;
18
+ }
19
+ /**
20
+ * 返回值句柄,包含 created lights group、computed center/radius、以及 dispose 方法
21
+ */
22
+ type AutoSetupHandle = {
23
+ lightsGroup: THREE.Group;
24
+ center: THREE.Vector3;
25
+ radius: number;
26
+ dispose: () => void;
27
+ updateLightIntensity: (factor: number) => void;
28
+ };
29
+ /**
30
+ * 自动设置相机与基础灯光 - 优化版
31
+ *
32
+ * ✨ 优化内容:
33
+ * - 添加灯光强度调整方法
34
+ * - 完善错误处理
35
+ * - 优化dispose逻辑
36
+ *
37
+ * - camera: THREE.PerspectiveCamera(会被移动并指向模型中心)
38
+ * - scene: THREE.Scene(会把新创建的 light group 加入 scene)
39
+ * - model: THREE.Object3D 已加载的模型(任意 transform/坐标)
40
+ * - options: 可选配置(见 AutoSetupOptions)
41
+ *
42
+ * 返回 AutoSetupHandle,调用方在组件卸载/切换时请调用 handle.dispose()
43
+ */
44
+ declare function autoSetupCameraAndLight(camera: THREE.PerspectiveCamera, scene: THREE.Scene, model: THREE.Object3D, options?: AutoSetupOptions): AutoSetupHandle;
45
+
46
+ export { autoSetupCameraAndLight };
47
+ export type { AutoSetupHandle, AutoSetupOptions };
@@ -0,0 +1,199 @@
1
+ 'use strict';
2
+
3
+ var THREE = require('three');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var THREE__namespace = /*#__PURE__*/_interopNamespaceDefault(THREE);
23
+
24
+ /**
25
+ * 自动设置相机与基础灯光 - 优化版
26
+ *
27
+ * ✨ 优化内容:
28
+ * - 添加灯光强度调整方法
29
+ * - 完善错误处理
30
+ * - 优化dispose逻辑
31
+ *
32
+ * - camera: THREE.PerspectiveCamera(会被移动并指向模型中心)
33
+ * - scene: THREE.Scene(会把新创建的 light group 加入 scene)
34
+ * - model: THREE.Object3D 已加载的模型(任意 transform/坐标)
35
+ * - options: 可选配置(见 AutoSetupOptions)
36
+ *
37
+ * 返回 AutoSetupHandle,调用方在组件卸载/切换时请调用 handle.dispose()
38
+ */
39
+ function autoSetupCameraAndLight(camera, scene, model, options = {}) {
40
+ var _a, _b, _c, _d, _e, _f, _g;
41
+ // ✨ 边界检查
42
+ if (!camera || !scene || !model) {
43
+ throw new Error('autoSetupCameraAndLight: camera, scene, model are required');
44
+ }
45
+ const opts = {
46
+ padding: (_a = options.padding) !== null && _a !== void 0 ? _a : 1.2,
47
+ elevation: (_b = options.elevation) !== null && _b !== void 0 ? _b : 0.2,
48
+ enableShadows: (_c = options.enableShadows) !== null && _c !== void 0 ? _c : false,
49
+ shadowMapSize: (_d = options.shadowMapSize) !== null && _d !== void 0 ? _d : 1024,
50
+ directionalCount: (_e = options.directionalCount) !== null && _e !== void 0 ? _e : 4,
51
+ setMeshShadowProps: (_f = options.setMeshShadowProps) !== null && _f !== void 0 ? _f : true,
52
+ renderer: (_g = options.renderer) !== null && _g !== void 0 ? _g : null,
53
+ };
54
+ try {
55
+ // --- 1) 计算包围数据
56
+ const box = new THREE__namespace.Box3().setFromObject(model);
57
+ // ✨ 检查包围盒有效性
58
+ if (!isFinite(box.min.x)) {
59
+ throw new Error('autoSetupCameraAndLight: Invalid bounding box');
60
+ }
61
+ const sphere = new THREE__namespace.Sphere();
62
+ box.getBoundingSphere(sphere);
63
+ const center = sphere.center.clone();
64
+ const radius = Math.max(0.001, sphere.radius);
65
+ // --- 2) 计算相机位置
66
+ const fov = (camera.fov * Math.PI) / 180;
67
+ const halfFov = fov / 2;
68
+ const sinHalfFov = Math.max(Math.sin(halfFov), 0.001);
69
+ const distance = (radius * opts.padding) / sinHalfFov;
70
+ const dir = new THREE__namespace.Vector3(0, Math.sin(opts.elevation), Math.cos(opts.elevation)).normalize();
71
+ const desiredPos = center.clone().add(dir.multiplyScalar(distance));
72
+ camera.position.copy(desiredPos);
73
+ camera.lookAt(center);
74
+ camera.near = Math.max(0.001, radius / 1000);
75
+ camera.far = Math.max(1000, radius * 50);
76
+ camera.updateProjectionMatrix();
77
+ // --- 3) 启用阴影
78
+ if (opts.renderer && opts.enableShadows) {
79
+ opts.renderer.shadowMap.enabled = true;
80
+ opts.renderer.shadowMap.type = THREE__namespace.PCFSoftShadowMap;
81
+ }
82
+ // --- 4) 创建灯光组
83
+ const lightsGroup = new THREE__namespace.Group();
84
+ lightsGroup.name = 'autoSetupLightsGroup';
85
+ lightsGroup.position.copy(center);
86
+ scene.add(lightsGroup);
87
+ // 4.1 基础光
88
+ const hemi = new THREE__namespace.HemisphereLight(0xffffff, 0x444444, 0.6);
89
+ hemi.name = 'auto_hemi';
90
+ hemi.position.set(0, radius * 2.0, 0);
91
+ lightsGroup.add(hemi);
92
+ const ambient = new THREE__namespace.AmbientLight(0xffffff, 0.25);
93
+ ambient.name = 'auto_ambient';
94
+ lightsGroup.add(ambient);
95
+ // 4.2 方向光
96
+ const dirCount = Math.max(1, Math.floor(opts.directionalCount));
97
+ const directionalLights = [];
98
+ const dirs = [];
99
+ dirs.push(new THREE__namespace.Vector3(0, 1, 0));
100
+ for (let i = 0; i < Math.max(1, dirCount); i++) {
101
+ const angle = (i / Math.max(1, dirCount)) * Math.PI * 2;
102
+ const v = new THREE__namespace.Vector3(Math.cos(angle), 0.3, Math.sin(angle)).normalize();
103
+ dirs.push(v);
104
+ }
105
+ const shadowCamSize = Math.max(1, radius * 1.5);
106
+ for (let i = 0; i < dirs.length; i++) {
107
+ const d = dirs[i];
108
+ const light = new THREE__namespace.DirectionalLight(0xffffff, i === 0 ? 1.5 : 1.2);
109
+ light.position.copy(d.clone().multiplyScalar(radius * 2.5));
110
+ light.target.position.copy(center);
111
+ light.name = `auto_dir_${i}`;
112
+ lightsGroup.add(light);
113
+ lightsGroup.add(light.target);
114
+ if (opts.enableShadows) {
115
+ light.castShadow = true;
116
+ light.shadow.mapSize.width = opts.shadowMapSize;
117
+ light.shadow.mapSize.height = opts.shadowMapSize;
118
+ const cam = light.shadow.camera;
119
+ const s = shadowCamSize;
120
+ cam.left = -s;
121
+ cam.right = s;
122
+ cam.top = s;
123
+ cam.bottom = -s;
124
+ cam.near = 0.1;
125
+ cam.far = radius * 10 + 50;
126
+ light.shadow.bias = -0.0005;
127
+ }
128
+ directionalLights.push(light);
129
+ }
130
+ // 4.3 点光补光
131
+ const fill1 = new THREE__namespace.PointLight(0xffffff, 0.5, radius * 4);
132
+ fill1.position.copy(center).add(new THREE__namespace.Vector3(radius * 0.5, 0.2 * radius, 0));
133
+ fill1.name = 'auto_fill1';
134
+ lightsGroup.add(fill1);
135
+ const fill2 = new THREE__namespace.PointLight(0xffffff, 0.3, radius * 3);
136
+ fill2.position.copy(center).add(new THREE__namespace.Vector3(-radius * 0.5, -0.2 * radius, 0));
137
+ fill2.name = 'auto_fill2';
138
+ lightsGroup.add(fill2);
139
+ // --- 5) 设置 Mesh 阴影属性
140
+ if (opts.setMeshShadowProps) {
141
+ model.traverse((ch) => {
142
+ if (ch.isMesh) {
143
+ const mesh = ch;
144
+ const isSkinned = mesh.isSkinnedMesh;
145
+ mesh.castShadow = opts.enableShadows && !isSkinned ? true : mesh.castShadow;
146
+ mesh.receiveShadow = opts.enableShadows ? true : mesh.receiveShadow;
147
+ }
148
+ });
149
+ }
150
+ // --- 6) 返回 handle ---
151
+ const handle = {
152
+ lightsGroup,
153
+ center,
154
+ radius,
155
+ // ✨ 新增灯光强度调整
156
+ updateLightIntensity(factor) {
157
+ lightsGroup.traverse((node) => {
158
+ if (node.isLight) {
159
+ const light = node;
160
+ const originalIntensity = parseFloat(light.name.split('_').pop() || '1');
161
+ light.intensity = originalIntensity * Math.max(0, factor);
162
+ }
163
+ });
164
+ },
165
+ dispose: () => {
166
+ try {
167
+ // 移除灯光组
168
+ if (lightsGroup.parent)
169
+ lightsGroup.parent.remove(lightsGroup);
170
+ // 清理阴影资源
171
+ lightsGroup.traverse((node) => {
172
+ if (node.isLight) {
173
+ const l = node;
174
+ if (l.shadow && l.shadow.map) {
175
+ try {
176
+ l.shadow.map.dispose();
177
+ }
178
+ catch (err) {
179
+ console.warn('Failed to dispose shadow map:', err);
180
+ }
181
+ }
182
+ }
183
+ });
184
+ }
185
+ catch (error) {
186
+ console.error('autoSetupCameraAndLight: dispose failed', error);
187
+ }
188
+ }
189
+ };
190
+ return handle;
191
+ }
192
+ catch (error) {
193
+ console.error('autoSetupCameraAndLight: setup failed', error);
194
+ throw error;
195
+ }
196
+ }
197
+
198
+ exports.autoSetupCameraAndLight = autoSetupCameraAndLight;
199
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/setup/autoSetup.ts"],"sourcesContent":[null],"names":["THREE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8BA;;;;;;;;;;;;;;AAcG;AACG,SAAU,uBAAuB,CACrC,MAA+B,EAC/B,KAAkB,EAClB,KAAqB,EACrB,OAAA,GAA4B,EAAE,EAAA;;;IAG9B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AAC/B,QAAA,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC;IAC/E;AAEA,IAAA,MAAM,IAAI,GAA+B;AACvC,QAAA,OAAO,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,mCAAI,GAAG;AAC/B,QAAA,SAAS,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,SAAS,mCAAI,GAAG;AACnC,QAAA,aAAa,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,aAAa,mCAAI,KAAK;AAC7C,QAAA,aAAa,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,aAAa,mCAAI,IAAI;AAC5C,QAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,gBAAgB,mCAAI,CAAC;AAC/C,QAAA,kBAAkB,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,kBAAkB,mCAAI,IAAI;AACtD,QAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI;KACnC;AAED,IAAA,IAAI;;AAEF,QAAA,MAAM,GAAG,GAAG,IAAIA,gBAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;;QAGjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;AAEA,QAAA,MAAM,MAAM,GAAG,IAAIA,gBAAK,CAAC,MAAM,EAAE;AACjC,QAAA,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACpC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;;AAG7C,QAAA,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG;AACxC,QAAA,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC;AACvB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QACrD,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU;AAErD,QAAA,MAAM,GAAG,GAAG,IAAIA,gBAAK,CAAC,OAAO,CAC3B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CACzB,CAAC,SAAS,EAAE;AAEb,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAEnE,QAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,QAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AACrB,QAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAC5C,QAAA,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;QACxC,MAAM,CAAC,sBAAsB,EAAE;;QAG/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI;YACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAGA,gBAAK,CAAC,gBAAgB;QACvD;;AAGA,QAAA,MAAM,WAAW,GAAG,IAAIA,gBAAK,CAAC,KAAK,EAAE;AACrC,QAAA,WAAW,CAAC,IAAI,GAAG,sBAAsB;AACzC,QAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AACjC,QAAA,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;;AAGtB,QAAA,MAAM,IAAI,GAAG,IAAIA,gBAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC;AAC/D,QAAA,IAAI,CAAC,IAAI,GAAG,WAAW;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;AACrC,QAAA,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAErB,MAAM,OAAO,GAAG,IAAIA,gBAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC;AACtD,QAAA,OAAO,CAAC,IAAI,GAAG,cAAc;AAC7B,QAAA,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;;AAGxB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAA6B,EAAE;QACtD,MAAM,IAAI,GAAoB,EAAE;AAEhC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAIA,gBAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAErC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;YACvD,MAAM,CAAC,GAAG,IAAIA,gBAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;AAC9E,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACd;AAEA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;AAC/C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,IAAIA,gBAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACvE,YAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAClC,YAAA,KAAK,CAAC,IAAI,GAAG,CAAA,SAAA,EAAY,CAAC,EAAE;AAC5B,YAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,YAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AAE7B,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,KAAK,CAAC,UAAU,GAAG,IAAI;gBACvB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa;gBAC/C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa;AAEhD,gBAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAkC;gBAC3D,MAAM,CAAC,GAAG,aAAa;AACvB,gBAAA,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACb,gBAAA,GAAG,CAAC,KAAK,GAAG,CAAC;AACb,gBAAA,GAAG,CAAC,GAAG,GAAG,CAAC;AACX,gBAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACf,gBAAA,GAAG,CAAC,IAAI,GAAG,GAAG;gBACd,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE;AAC1B,gBAAA,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM;YAC7B;AACA,YAAA,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B;;AAGA,QAAA,MAAM,KAAK,GAAG,IAAIA,gBAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;QAC7D,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAIA,gBAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACjF,QAAA,KAAK,CAAC,IAAI,GAAG,YAAY;AACzB,QAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AAEtB,QAAA,MAAM,KAAK,GAAG,IAAIA,gBAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;AAC7D,QAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAIA,gBAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACnF,QAAA,KAAK,CAAC,IAAI,GAAG,YAAY;AACzB,QAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGtB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAI;AACpB,gBAAA,IAAK,EAAU,CAAC,MAAM,EAAE;oBACtB,MAAM,IAAI,GAAG,EAAgB;AAC7B,oBAAA,MAAM,SAAS,GAAI,IAAY,CAAC,aAAa;AAC7C,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU;AAC3E,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa;gBACrE;AACF,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,MAAM,MAAM,GAAoB;YAC9B,WAAW;YACX,MAAM;YACN,MAAM;;AAEN,YAAA,oBAAoB,CAAC,MAAc,EAAA;AACjC,gBAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAI;AAC5B,oBAAA,IAAK,IAAY,CAAC,OAAO,EAAE;wBACzB,MAAM,KAAK,GAAG,IAAmB;AACjC,wBAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;AACxE,wBAAA,KAAK,CAAC,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;oBAC3D;AACF,gBAAA,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI;;oBAEF,IAAI,WAAW,CAAC,MAAM;AAAE,wBAAA,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;;AAG9D,oBAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAI;AAC5B,wBAAA,IAAK,IAAY,CAAC,OAAO,EAAE;4BACzB,MAAM,CAAC,GAAG,IAAsC;4BAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;AAC5B,gCAAA,IAAI;AAAE,oCAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;gCAAC;gCAAE,OAAO,GAAG,EAAE;AACzC,oCAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,CAAC;gCACpD;4BACF;wBACF;AACF,oBAAA,CAAC,CAAC;gBACJ;gBAAE,OAAO,KAAK,EAAE;AACd,oBAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC;gBACjE;YACF;SACD;AAED,QAAA,OAAO,MAAM;IACf;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC;AAC7D,QAAA,MAAM,KAAK;IACb;AACF;;;;"}
@@ -0,0 +1,178 @@
1
+ import * as THREE from 'three';
2
+
3
+ /**
4
+ * 自动设置相机与基础灯光 - 优化版
5
+ *
6
+ * ✨ 优化内容:
7
+ * - 添加灯光强度调整方法
8
+ * - 完善错误处理
9
+ * - 优化dispose逻辑
10
+ *
11
+ * - camera: THREE.PerspectiveCamera(会被移动并指向模型中心)
12
+ * - scene: THREE.Scene(会把新创建的 light group 加入 scene)
13
+ * - model: THREE.Object3D 已加载的模型(任意 transform/坐标)
14
+ * - options: 可选配置(见 AutoSetupOptions)
15
+ *
16
+ * 返回 AutoSetupHandle,调用方在组件卸载/切换时请调用 handle.dispose()
17
+ */
18
+ function autoSetupCameraAndLight(camera, scene, model, options = {}) {
19
+ var _a, _b, _c, _d, _e, _f, _g;
20
+ // ✨ 边界检查
21
+ if (!camera || !scene || !model) {
22
+ throw new Error('autoSetupCameraAndLight: camera, scene, model are required');
23
+ }
24
+ const opts = {
25
+ padding: (_a = options.padding) !== null && _a !== void 0 ? _a : 1.2,
26
+ elevation: (_b = options.elevation) !== null && _b !== void 0 ? _b : 0.2,
27
+ enableShadows: (_c = options.enableShadows) !== null && _c !== void 0 ? _c : false,
28
+ shadowMapSize: (_d = options.shadowMapSize) !== null && _d !== void 0 ? _d : 1024,
29
+ directionalCount: (_e = options.directionalCount) !== null && _e !== void 0 ? _e : 4,
30
+ setMeshShadowProps: (_f = options.setMeshShadowProps) !== null && _f !== void 0 ? _f : true,
31
+ renderer: (_g = options.renderer) !== null && _g !== void 0 ? _g : null,
32
+ };
33
+ try {
34
+ // --- 1) 计算包围数据
35
+ const box = new THREE.Box3().setFromObject(model);
36
+ // ✨ 检查包围盒有效性
37
+ if (!isFinite(box.min.x)) {
38
+ throw new Error('autoSetupCameraAndLight: Invalid bounding box');
39
+ }
40
+ const sphere = new THREE.Sphere();
41
+ box.getBoundingSphere(sphere);
42
+ const center = sphere.center.clone();
43
+ const radius = Math.max(0.001, sphere.radius);
44
+ // --- 2) 计算相机位置
45
+ const fov = (camera.fov * Math.PI) / 180;
46
+ const halfFov = fov / 2;
47
+ const sinHalfFov = Math.max(Math.sin(halfFov), 0.001);
48
+ const distance = (radius * opts.padding) / sinHalfFov;
49
+ const dir = new THREE.Vector3(0, Math.sin(opts.elevation), Math.cos(opts.elevation)).normalize();
50
+ const desiredPos = center.clone().add(dir.multiplyScalar(distance));
51
+ camera.position.copy(desiredPos);
52
+ camera.lookAt(center);
53
+ camera.near = Math.max(0.001, radius / 1000);
54
+ camera.far = Math.max(1000, radius * 50);
55
+ camera.updateProjectionMatrix();
56
+ // --- 3) 启用阴影
57
+ if (opts.renderer && opts.enableShadows) {
58
+ opts.renderer.shadowMap.enabled = true;
59
+ opts.renderer.shadowMap.type = THREE.PCFSoftShadowMap;
60
+ }
61
+ // --- 4) 创建灯光组
62
+ const lightsGroup = new THREE.Group();
63
+ lightsGroup.name = 'autoSetupLightsGroup';
64
+ lightsGroup.position.copy(center);
65
+ scene.add(lightsGroup);
66
+ // 4.1 基础光
67
+ const hemi = new THREE.HemisphereLight(0xffffff, 0x444444, 0.6);
68
+ hemi.name = 'auto_hemi';
69
+ hemi.position.set(0, radius * 2.0, 0);
70
+ lightsGroup.add(hemi);
71
+ const ambient = new THREE.AmbientLight(0xffffff, 0.25);
72
+ ambient.name = 'auto_ambient';
73
+ lightsGroup.add(ambient);
74
+ // 4.2 方向光
75
+ const dirCount = Math.max(1, Math.floor(opts.directionalCount));
76
+ const directionalLights = [];
77
+ const dirs = [];
78
+ dirs.push(new THREE.Vector3(0, 1, 0));
79
+ for (let i = 0; i < Math.max(1, dirCount); i++) {
80
+ const angle = (i / Math.max(1, dirCount)) * Math.PI * 2;
81
+ const v = new THREE.Vector3(Math.cos(angle), 0.3, Math.sin(angle)).normalize();
82
+ dirs.push(v);
83
+ }
84
+ const shadowCamSize = Math.max(1, radius * 1.5);
85
+ for (let i = 0; i < dirs.length; i++) {
86
+ const d = dirs[i];
87
+ const light = new THREE.DirectionalLight(0xffffff, i === 0 ? 1.5 : 1.2);
88
+ light.position.copy(d.clone().multiplyScalar(radius * 2.5));
89
+ light.target.position.copy(center);
90
+ light.name = `auto_dir_${i}`;
91
+ lightsGroup.add(light);
92
+ lightsGroup.add(light.target);
93
+ if (opts.enableShadows) {
94
+ light.castShadow = true;
95
+ light.shadow.mapSize.width = opts.shadowMapSize;
96
+ light.shadow.mapSize.height = opts.shadowMapSize;
97
+ const cam = light.shadow.camera;
98
+ const s = shadowCamSize;
99
+ cam.left = -s;
100
+ cam.right = s;
101
+ cam.top = s;
102
+ cam.bottom = -s;
103
+ cam.near = 0.1;
104
+ cam.far = radius * 10 + 50;
105
+ light.shadow.bias = -0.0005;
106
+ }
107
+ directionalLights.push(light);
108
+ }
109
+ // 4.3 点光补光
110
+ const fill1 = new THREE.PointLight(0xffffff, 0.5, radius * 4);
111
+ fill1.position.copy(center).add(new THREE.Vector3(radius * 0.5, 0.2 * radius, 0));
112
+ fill1.name = 'auto_fill1';
113
+ lightsGroup.add(fill1);
114
+ const fill2 = new THREE.PointLight(0xffffff, 0.3, radius * 3);
115
+ fill2.position.copy(center).add(new THREE.Vector3(-radius * 0.5, -0.2 * radius, 0));
116
+ fill2.name = 'auto_fill2';
117
+ lightsGroup.add(fill2);
118
+ // --- 5) 设置 Mesh 阴影属性
119
+ if (opts.setMeshShadowProps) {
120
+ model.traverse((ch) => {
121
+ if (ch.isMesh) {
122
+ const mesh = ch;
123
+ const isSkinned = mesh.isSkinnedMesh;
124
+ mesh.castShadow = opts.enableShadows && !isSkinned ? true : mesh.castShadow;
125
+ mesh.receiveShadow = opts.enableShadows ? true : mesh.receiveShadow;
126
+ }
127
+ });
128
+ }
129
+ // --- 6) 返回 handle ---
130
+ const handle = {
131
+ lightsGroup,
132
+ center,
133
+ radius,
134
+ // ✨ 新增灯光强度调整
135
+ updateLightIntensity(factor) {
136
+ lightsGroup.traverse((node) => {
137
+ if (node.isLight) {
138
+ const light = node;
139
+ const originalIntensity = parseFloat(light.name.split('_').pop() || '1');
140
+ light.intensity = originalIntensity * Math.max(0, factor);
141
+ }
142
+ });
143
+ },
144
+ dispose: () => {
145
+ try {
146
+ // 移除灯光组
147
+ if (lightsGroup.parent)
148
+ lightsGroup.parent.remove(lightsGroup);
149
+ // 清理阴影资源
150
+ lightsGroup.traverse((node) => {
151
+ if (node.isLight) {
152
+ const l = node;
153
+ if (l.shadow && l.shadow.map) {
154
+ try {
155
+ l.shadow.map.dispose();
156
+ }
157
+ catch (err) {
158
+ console.warn('Failed to dispose shadow map:', err);
159
+ }
160
+ }
161
+ }
162
+ });
163
+ }
164
+ catch (error) {
165
+ console.error('autoSetupCameraAndLight: dispose failed', error);
166
+ }
167
+ }
168
+ };
169
+ return handle;
170
+ }
171
+ catch (error) {
172
+ console.error('autoSetupCameraAndLight: setup failed', error);
173
+ throw error;
174
+ }
175
+ }
176
+
177
+ export { autoSetupCameraAndLight };
178
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/setup/autoSetup.ts"],"sourcesContent":[null],"names":[],"mappings":";;AA8BA;;;;;;;;;;;;;;AAcG;AACG,SAAU,uBAAuB,CACrC,MAA+B,EAC/B,KAAkB,EAClB,KAAqB,EACrB,OAAA,GAA4B,EAAE,EAAA;;;IAG9B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AAC/B,QAAA,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC;IAC/E;AAEA,IAAA,MAAM,IAAI,GAA+B;AACvC,QAAA,OAAO,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,mCAAI,GAAG;AAC/B,QAAA,SAAS,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,SAAS,mCAAI,GAAG;AACnC,QAAA,aAAa,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,aAAa,mCAAI,KAAK;AAC7C,QAAA,aAAa,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,aAAa,mCAAI,IAAI;AAC5C,QAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,gBAAgB,mCAAI,CAAC;AAC/C,QAAA,kBAAkB,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,kBAAkB,mCAAI,IAAI;AACtD,QAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI;KACnC;AAED,IAAA,IAAI;;AAEF,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;;QAGjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;AACjC,QAAA,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACpC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;;AAG7C,QAAA,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG;AACxC,QAAA,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC;AACvB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QACrD,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU;AAErD,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAC3B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CACzB,CAAC,SAAS,EAAE;AAEb,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAEnE,QAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,QAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AACrB,QAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;AAC5C,QAAA,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;QACxC,MAAM,CAAC,sBAAsB,EAAE;;QAG/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI;YACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,gBAAgB;QACvD;;AAGA,QAAA,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;AACrC,QAAA,WAAW,CAAC,IAAI,GAAG,sBAAsB;AACzC,QAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AACjC,QAAA,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;;AAGtB,QAAA,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC;AAC/D,QAAA,IAAI,CAAC,IAAI,GAAG,WAAW;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;AACrC,QAAA,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAErB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC;AACtD,QAAA,OAAO,CAAC,IAAI,GAAG,cAAc;AAC7B,QAAA,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;;AAGxB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAA6B,EAAE;QACtD,MAAM,IAAI,GAAoB,EAAE;AAEhC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAErC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;YACvD,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;AAC9E,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACd;AAEA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;AAC/C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACvE,YAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAClC,YAAA,KAAK,CAAC,IAAI,GAAG,CAAA,SAAA,EAAY,CAAC,EAAE;AAC5B,YAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,YAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AAE7B,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,KAAK,CAAC,UAAU,GAAG,IAAI;gBACvB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa;gBAC/C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa;AAEhD,gBAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAkC;gBAC3D,MAAM,CAAC,GAAG,aAAa;AACvB,gBAAA,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACb,gBAAA,GAAG,CAAC,KAAK,GAAG,CAAC;AACb,gBAAA,GAAG,CAAC,GAAG,GAAG,CAAC;AACX,gBAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACf,gBAAA,GAAG,CAAC,IAAI,GAAG,GAAG;gBACd,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE;AAC1B,gBAAA,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM;YAC7B;AACA,YAAA,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B;;AAGA,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;QAC7D,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACjF,QAAA,KAAK,CAAC,IAAI,GAAG,YAAY;AACzB,QAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AAEtB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;AAC7D,QAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACnF,QAAA,KAAK,CAAC,IAAI,GAAG,YAAY;AACzB,QAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGtB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAI;AACpB,gBAAA,IAAK,EAAU,CAAC,MAAM,EAAE;oBACtB,MAAM,IAAI,GAAG,EAAgB;AAC7B,oBAAA,MAAM,SAAS,GAAI,IAAY,CAAC,aAAa;AAC7C,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU;AAC3E,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa;gBACrE;AACF,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,MAAM,MAAM,GAAoB;YAC9B,WAAW;YACX,MAAM;YACN,MAAM;;AAEN,YAAA,oBAAoB,CAAC,MAAc,EAAA;AACjC,gBAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAI;AAC5B,oBAAA,IAAK,IAAY,CAAC,OAAO,EAAE;wBACzB,MAAM,KAAK,GAAG,IAAmB;AACjC,wBAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;AACxE,wBAAA,KAAK,CAAC,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;oBAC3D;AACF,gBAAA,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI;;oBAEF,IAAI,WAAW,CAAC,MAAM;AAAE,wBAAA,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;;AAG9D,oBAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAI;AAC5B,wBAAA,IAAK,IAAY,CAAC,OAAO,EAAE;4BACzB,MAAM,CAAC,GAAG,IAAsC;4BAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;AAC5B,gCAAA,IAAI;AAAE,oCAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;gCAAC;gCAAE,OAAO,GAAG,EAAE;AACzC,oCAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,CAAC;gCACpD;4BACF;wBACF;AACF,oBAAA,CAAC,CAAC;gBACJ;gBAAE,OAAO,KAAK,EAAE;AACd,oBAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC;gBACjE;YACF;SACD;AAED,QAAA,OAAO,MAAM;IACf;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC;AAC7D,QAAA,MAAM,KAAK;IACb;AACF;;;;"}
@@ -0,0 +1,36 @@
1
+ import * as THREE from 'three';
2
+
3
+ interface LabelOptions {
4
+ fontSize?: string;
5
+ color?: string;
6
+ background?: string;
7
+ padding?: string;
8
+ borderRadius?: string;
9
+ lift?: number;
10
+ dotSize?: number;
11
+ dotSpacing?: number;
12
+ lineColor?: string;
13
+ lineWidth?: number;
14
+ updateInterval?: number;
15
+ fadeInDuration?: number;
16
+ }
17
+ interface LabelManager {
18
+ updateModel: (model: THREE.Object3D) => void;
19
+ updateLabelsMap: (map: Record<string, string>) => void;
20
+ pause: () => void;
21
+ resume: () => void;
22
+ dispose: () => void;
23
+ }
24
+ /**
25
+ * 创建模型标签(带连线和脉冲圆点)- 优化版
26
+ *
27
+ * ✨ 优化内容:
28
+ * - 支持暂停/恢复更新
29
+ * - 可配置更新间隔
30
+ * - 淡入淡出效果
31
+ * - 缓存包围盒计算
32
+ * - RAF 管理优化
33
+ */
34
+ declare function createModelsLabel(camera: THREE.Camera, renderer: THREE.WebGLRenderer, parentModel: THREE.Object3D, modelLabelsMap: Record<string, string>, options?: LabelOptions): LabelManager;
35
+
36
+ export { createModelsLabel };