@anov/3d-ability 0.0.100 → 0.0.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/business/Base/ObjectLayer.d.ts +1 -1
- package/dist/business/Base/ObjectLayer.js +3 -1
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Flyline/index.js +2 -3
- package/dist/business/Flyline/index.js.map +1 -1
- package/dist/business/HeatMap/core.d.ts +2 -2
- package/dist/business/HeatMap/core.js +1 -1
- package/dist/business/HeatMap/core.js.map +1 -1
- package/dist/business/Mark/KeyframeAnimation.d.ts +62 -0
- package/dist/business/Mark/KeyframeAnimation.js +219 -0
- package/dist/business/Mark/KeyframeAnimation.js.map +1 -0
- package/dist/business/Mark/index.d.ts +15 -8
- package/dist/business/Mark/index.js +134 -74
- package/dist/business/Mark/index.js.map +1 -1
- package/dist/business/{Poi/shader/circle copy 2.d.ts → Mark/shader/tanhao.d.ts} +2 -5
- package/dist/business/Mark/shader/tanhao.js +12 -0
- package/dist/business/Mark/shader/tanhao.js.map +1 -0
- package/dist/business/Mark/type.d.ts +2 -12
- package/dist/business/Mark/type.js +0 -7
- package/dist/business/Mark/type.js.map +1 -1
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.d.ts +68 -63
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +278 -160
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
- package/dist/business/MaterialSwitch/inject.d.ts +46 -1
- package/dist/business/MaterialSwitch/inject.js +78 -8
- package/dist/business/MaterialSwitch/inject.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/finalFade.d.ts +2 -0
- package/dist/business/MaterialSwitch/shader/finalFade.js +3 -0
- package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -0
- package/dist/business/MaterialSwitch/shader/ground.d.ts +81 -0
- package/dist/business/MaterialSwitch/shader/ground.js +68 -0
- package/dist/business/MaterialSwitch/shader/ground.js.map +1 -0
- package/dist/business/MaterialSwitch/{realFade.d.ts → shader/realFade.d.ts} +2 -2
- package/dist/business/MaterialSwitch/{realFade.js → shader/realFade.js} +2 -2
- package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -0
- package/dist/business/Poi/link/Pyramid.js +1 -1
- package/dist/business/Poi/link/Pyramid.js.map +1 -1
- package/dist/business/Poi/particle/DoubleCircle.d.ts +1 -0
- package/dist/business/Poi/particle/DoubleCircle.js +14 -1
- package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
- package/dist/business/Poi/particle/SingleCircle.js +4 -1
- package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
- package/dist/business/Poi/particle/index.d.ts +3 -3
- package/dist/business/Poi/particle/index.js.map +1 -1
- package/dist/business/Poi/shader/doubleCircle.js +1 -1
- package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
- package/dist/business/Poi/title/index.d.ts +1 -1
- package/dist/business/SplitBuilding/index.d.ts +86 -0
- package/dist/business/SplitBuilding/index.js +593 -0
- package/dist/business/SplitBuilding/index.js.map +1 -0
- package/dist/business/SplitBuilding/type.d.ts +34 -0
- package/dist/business/SplitBuilding/type.js +25 -0
- package/dist/business/SplitBuilding/type.js.map +1 -0
- package/dist/business/Utils/constant.d.ts +1 -1
- package/dist/business/Utils/constant.js +1 -1
- package/dist/business/Utils/constant.js.map +1 -1
- package/dist/business/index.d.ts +1 -0
- package/dist/business/index.js +1 -0
- package/dist/business/index.js.map +1 -1
- package/dist/core/Material/SurfaceMaterial/index.js +7 -7
- package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/business/MaterialSwitch/finalFade.d.ts +0 -2
- package/dist/business/MaterialSwitch/finalFade.js +0 -3
- package/dist/business/MaterialSwitch/finalFade.js.map +0 -1
- package/dist/business/MaterialSwitch/realFade.js.map +0 -1
- package/dist/business/Poi/shader/circle copy 2.js +0 -15
- package/dist/business/Poi/shader/circle copy 2.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Vector3","ObjectLayer","EBuildingSplitType","EDirection","BuildingSplit","_ObjectLayer","_inherits","_super","_createSuper","building","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","Map","timer","_building","init","_createClass","key","get","value","floorGroups","sortedFloorLevels","aboveGroundFloorCount","undergroundFloorCount","hasRoof","parseFloors","Array","from","values","map","group","level","sort","a","b","_this2","traverse","object","type","name","startsWith","addToFloorGroup","mesh","originalPosition","position","clone","originalVisibility","visible","prefix","isUnderground","length","floorNum","parseInt","substring","isNaN","concat","Math","max","component","_this$floorGroups$get","arguments","undefined","has","set","isRoof","components","push","split","options","floor","animation","animOption","Move","duration","currentAnimation","window","clearTimeout","resetBuilding","success","message","abs","Hide","hideAboveFloors","moveAboveFloorsDirection","Solo","showSoloFloor","targetFloor","_iterator","_createForOfIteratorHelper","_step","s","n","done","floorGroup","floorLevel","_iterator2","_step2","copy","err","e","f","shouldBeVisible","_iterator3","_step3","moveAboveFloorsUp","distance","_iterator4","_step4","_iterator6","_step6","startPositions","targetPositions","_iterator5","_step5","_iterator7","_step7","targetPos","y","animatePositions","_ref","rule","_ref$direction","direction","_iterator8","_step8","_iterator10","_step10","_iterator9","_step9","_iterator11","_step11","add","fromArray","getDirectionVector","vector","coefficient","Right","Left","Front","Back","Right_Front","Left_Front","Right_Back","Left_Back","_iterator12","_step12","_iterator13","_step13","_iterator14","_step14","_this3","startTime","performance","now","animate","currentTime","elapsed","progress","min","forEach","startPos","lerpVectors","requestAnimationFrame","setTimeout","_iterator15","_step15","_iterator16","_step16","getFloorCounts","aboveGround","underground"],"sources":["../../../src/business/SplitBuilding/index.ts"],"sourcesContent":["import { Group, Mesh, Vector3 } from '@anov/3d-core'\nimport type { Object3D } from '@anov/3d-core'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type { AnimationOption, Option } from './type'\nimport { EBuildingSplitType, EDirection } from './type'\n\ntype FloorComponent = {\n mesh: Object3D\n originalPosition: Vector3\n originalVisibility: boolean\n}\n\ntype FloorGroup = {\n level: number\n isUnderground: boolean\n isRoof: boolean\n components: FloorComponent[]\n}\n\nclass BuildingSplit extends ObjectLayer {\n private floorGroups: Map<string, FloorGroup> = new Map()\n private sortedFloorLevels: number[] = []\n private aboveGroundFloorCount = 0\n private undergroundFloorCount = 0\n private hasRoof = false\n private currentAnimation: { timer: number | null } = { timer: null }\n\n private _building: Object3D\n\n constructor(building: Object3D) {\n super()\n this._building = building\n this.init()\n }\n\n public get building() {\n return this._building\n }\n\n /**\n * 初始化建筑拆分器\n * @param building 建筑模型\n */\n public init(): void {\n this.floorGroups = new Map()\n this.sortedFloorLevels = []\n this.aboveGroundFloorCount = 0\n this.undergroundFloorCount = 0\n this.hasRoof = false\n\n // 解析所有楼层\n this.parseFloors()\n\n // 排序楼层编号从低到高\n this.sortedFloorLevels = Array.from(this.floorGroups.values())\n .map(group => group.level)\n .sort((a, b) => a - b)\n }\n\n /**\n * 解析建筑模型中的楼层\n */\n private parseFloors(): void {\n this.building.traverse((object) => {\n if (object.type === 'Mesh' || object.type === 'Group') {\n const name = object.name\n // 检查是否为屋顶\n if (name.startsWith('Roof')) {\n this.addToFloorGroup('Roof', {\n mesh: object,\n originalPosition: object.position.clone(),\n originalVisibility: object.visible,\n })\n this.hasRoof = true\n return\n }\n\n // 提取楼层前缀\n let prefix: string | null = null\n let level = 0\n let isUnderground = false\n\n if (name.startsWith('F') && name.length >= 3) {\n // 地上楼层\n const floorNum = parseInt(name.substring(1, 3))\n if (!isNaN(floorNum)) {\n prefix = `F${name.substring(1, 3)}`\n level = floorNum\n isUnderground = false\n this.aboveGroundFloorCount = Math.max(this.aboveGroundFloorCount, floorNum)\n }\n }\n else if (name.startsWith('B') && name.length >= 3) {\n // 地下楼层\n const floorNum = parseInt(name.substring(1, 3))\n if (!isNaN(floorNum)) {\n prefix = `B${name.substring(1, 3)}`\n level = -floorNum\n isUnderground = true\n this.undergroundFloorCount = Math.max(this.undergroundFloorCount, floorNum)\n }\n }\n\n if (prefix) {\n this.addToFloorGroup(prefix, {\n mesh: object,\n originalPosition: object.position.clone(),\n originalVisibility: object.visible,\n }, level, isUnderground)\n }\n }\n })\n }\n\n /**\n * 将组件添加到对应楼层分组\n */\n private addToFloorGroup(\n prefix: string,\n component: FloorComponent,\n level: number = this.aboveGroundFloorCount + 1,\n isUnderground = false,\n ): void {\n if (!this.floorGroups.has(prefix)) {\n this.floorGroups.set(prefix, {\n level,\n isUnderground,\n isRoof: prefix === 'Roof',\n components: [],\n })\n }\n\n this.floorGroups.get(prefix)?.components.push(component)\n }\n\n /**\n * 拆分楼层\n * @param options 拆分选项\n * @returns 成功或错误信息\n */\n public split(options): { success: boolean; message?: string } {\n const { floor, animation } = options\n const animOption: AnimationOption = animation || {\n type: EBuildingSplitType.Move,\n duration: 1000,\n }\n\n // 取消当前动画\n if (this.currentAnimation.timer !== null) {\n window.clearTimeout(this.currentAnimation.timer)\n this.currentAnimation.timer = null\n }\n\n // 处理 floor = 0 的情况:恢复完整状态\n if (floor === 0) {\n this.resetBuilding()\n return { success: true }\n }\n\n // 验证楼层参数\n if (floor > 0 && floor > this.aboveGroundFloorCount) {\n return {\n success: false,\n message: `地上楼层数超出范围,最大楼层为 ${this.aboveGroundFloorCount}`,\n }\n }\n\n if (floor < 0 && Math.abs(floor) > this.undergroundFloorCount) {\n return {\n success: false,\n message: `地下楼层数超出范围,最大地下楼层为 ${this.undergroundFloorCount}`,\n }\n }\n\n // 执行拆分操作\n switch (animOption.type) {\n case EBuildingSplitType.Hide:\n this.hideAboveFloors(floor)\n break\n case EBuildingSplitType.Move:\n this.moveAboveFloorsDirection(floor, animOption)\n break\n case EBuildingSplitType.Solo:\n this.showSoloFloor(floor)\n break\n }\n\n return { success: true }\n }\n\n /**\n * 隐藏指定楼层以上的楼层\n * @param targetFloor 目标楼层\n */\n private hideAboveFloors(targetFloor: number): void {\n for (const floorGroup of this.floorGroups.values()) {\n const floorLevel = floorGroup.level\n\n // 重置所有楼层组件位置\n for (const component of floorGroup.components)\n component.mesh.position.copy(component.originalPosition)\n\n // 设置可见性\n const shouldBeVisible = floorLevel <= targetFloor\n for (const component of floorGroup.components)\n component.mesh.visible = shouldBeVisible\n }\n }\n\n /**\n * 将指定楼层以上的楼层整体上移\n * @param targetFloor 目标楼层\n * @param animation 动画选项\n */\n private moveAboveFloorsUp(targetFloor: number, animation: AnimationOption): void {\n const distance = 10\n const duration = animation.duration\n\n // 重置所有楼层可见性\n for (const floorGroup of this.floorGroups.values()) {\n for (const component of floorGroup.components)\n component.mesh.visible = true\n }\n\n // 计算起始位置和目标位置\n const startPositions = new Map<Object3D, Vector3>()\n const targetPositions = new Map<Object3D, Vector3>()\n\n for (const floorGroup of this.floorGroups.values()) {\n const floorLevel = floorGroup.level\n\n for (const component of floorGroup.components) {\n startPositions.set(component.mesh, component.mesh.position.clone())\n\n if (floorLevel > targetFloor) {\n // 上方楼层需要上移\n const targetPos = component.originalPosition.clone()\n targetPos.y += distance\n targetPositions.set(component.mesh, targetPos)\n }\n else {\n // 其他楼层保持原位\n targetPositions.set(component.mesh, component.originalPosition.clone())\n }\n }\n }\n\n // 执行动画\n this.animatePositions(startPositions, targetPositions, duration)\n }\n\n /**\n * 将指定楼层以上的楼层向指定方向移动\n * @param targetFloor 目标楼层\n * @param animation 动画选项\n */\n private moveAboveFloorsDirection(targetFloor: number, animation: AnimationOption): void {\n const { direction = [10, 10, 0] } = animation.rule || {}\n const duration = animation.duration\n\n // 重置所有楼层可见性\n for (const floorGroup of this.floorGroups.values()) {\n for (const component of floorGroup.components)\n component.mesh.visible = true\n }\n\n // 计算起始位置和目标位置\n const startPositions = new Map<Object3D, Vector3>()\n const targetPositions = new Map<Object3D, Vector3>()\n\n for (const floorGroup of this.floorGroups.values()) {\n const floorLevel = floorGroup.level\n\n for (const component of floorGroup.components) {\n startPositions.set(component.mesh, component.mesh.position.clone())\n\n if (floorLevel > targetFloor) {\n // 上方楼层需要移动\n const targetPos = component.originalPosition.clone().add(new Vector3().fromArray(direction))\n targetPositions.set(component.mesh, targetPos)\n }\n else {\n // 其他楼层保持原位\n targetPositions.set(component.mesh, component.originalPosition.clone())\n }\n }\n }\n\n // 执行动画\n this.animatePositions(startPositions, targetPositions, duration)\n }\n\n /**\n * 计算方向向量\n * 规则:往右方(X)、前方(Z)是正、往左方(X)、后方(Z)是负数\n * @param direction 方向枚举\n * @param distance 移动距离\n * @returns Vector3 方向向量\n */\n private getDirectionVector(direction: EDirection, distance: number): Vector3 {\n const vector = new Vector3(0, 0, 0)\n const coefficient = 0.7071 // cos(45°) ≈ 0.7071\n switch (direction) {\n case EDirection.Right:\n vector.set(distance, 0, 0)\n break\n case EDirection.Left:\n vector.set(-distance, 0, 0)\n break\n case EDirection.Front:\n vector.set(0, 0, distance)\n break\n case EDirection.Back:\n vector.set(0, 0, -distance)\n break\n case EDirection.Right_Front:\n vector.set(distance * coefficient, distance * coefficient, distance * coefficient)\n break\n case EDirection.Left_Front:\n vector.set(-distance * coefficient, distance * coefficient, distance * coefficient)\n break\n case EDirection.Right_Back:\n vector.set(distance * coefficient, distance * coefficient, -distance * coefficient)\n break\n case EDirection.Left_Back:\n vector.set(-distance * coefficient, distance * coefficient, -distance * coefficient)\n break\n default:\n // 默认向右移动\n vector.set(distance, 0, 0)\n }\n\n return vector\n }\n\n /**\n * 只显示指定楼层\n * @param targetFloor 目标楼层\n */\n private showSoloFloor(targetFloor: number): void {\n for (const floorGroup of this.floorGroups.values()) {\n const floorLevel = floorGroup.level\n\n // 重置所有楼层组件位置\n for (const component of floorGroup.components)\n component.mesh.position.copy(component.originalPosition)\n\n // 设置可见性\n const shouldBeVisible = floorLevel === targetFloor\n for (const component of floorGroup.components)\n component.mesh.visible = shouldBeVisible\n }\n }\n\n /**\n * 执行位置动画\n * @param startPositions 起始位置\n * @param targetPositions 目标位置\n * @param duration 动画时长\n */\n private animatePositions(\n startPositions: Map<Object3D, Vector3>,\n targetPositions: Map<Object3D, Vector3>,\n duration: number,\n ): void {\n const startTime = performance.now()\n\n const animate = () => {\n const currentTime = performance.now()\n const elapsed = currentTime - startTime\n const progress = Math.min(elapsed / duration, 1)\n\n targetPositions.forEach((targetPos, mesh) => {\n const startPos = startPositions.get(mesh)\n if (startPos) {\n // 线性插值计算当前位置\n mesh.position.lerpVectors(startPos, targetPos, progress)\n }\n })\n\n if (progress < 1) {\n requestAnimationFrame(animate)\n }\n else {\n // 动画结束\n this.currentAnimation.timer = null\n }\n }\n\n animate()\n\n // 设置超时以确保动画完成\n this.currentAnimation.timer = window.setTimeout(() => {\n this.currentAnimation.timer = null\n }, duration + 100)\n }\n\n /**\n * 重置建筑到初始状态\n */\n private resetBuilding(): void {\n for (const floorGroup of this.floorGroups.values()) {\n for (const component of floorGroup.components) {\n // 恢复原始位置\n component.mesh.position.copy(component.originalPosition)\n\n // 恢复原始可见性\n component.mesh.visible = component.originalVisibility\n }\n }\n }\n\n /**\n * 获取楼层总数信息\n */\n public getFloorCounts(): { aboveGround: number; underground: number; hasRoof: boolean } {\n return {\n aboveGround: this.aboveGroundFloorCount,\n underground: this.undergroundFloorCount,\n hasRoof: this.hasRoof,\n }\n }\n}\n\nexport { BuildingSplit, EBuildingSplitType }"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAsBA,OAAO,QAAQ,eAAe;AAEpD,OAAOC,WAAW;AAElB,SAASC,kBAAkB,EAAEC,UAAU;AAAgB,IAejDC,aAAa,0BAAAC,YAAA;EAAAC,SAAA,CAAAF,aAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,aAAA;EAUjB,SAAAA,cAAYK,QAAkB,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,aAAA;IAC9BM,KAAA,GAAAH,MAAA,CAAAK,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,kBAVsC,IAAIK,GAAG,CAAC,CAAC;IAAAF,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,wBAClB,EAAE;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,4BACR,CAAC;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,4BACD,CAAC;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,cACf,KAAK;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,uBAC8B;MAAEM,KAAK,EAAE;IAAK,CAAC;IAAAH,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAMlEA,KAAA,CAAKO,SAAS,GAAGR,QAAQ;IACzBC,KAAA,CAAKQ,IAAI,CAAC,CAAC;IAAA,OAAAR,KAAA;EACb;EAACS,YAAA,CAAAf,aAAA;IAAAgB,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAsB;MACpB,OAAO,IAAI,CAACJ,SAAS;IACvB;;IAEA;AACF;AACA;AACA;EAHE;IAAAG,GAAA;IAAAE,KAAA,EAIA,SAAAJ,KAAA,EAAoB;MAClB,IAAI,CAACK,WAAW,GAAG,IAAIR,GAAG,CAAC,CAAC;MAC5B,IAAI,CAACS,iBAAiB,GAAG,EAAE;MAC3B,IAAI,CAACC,qBAAqB,GAAG,CAAC;MAC9B,IAAI,CAACC,qBAAqB,GAAG,CAAC;MAC9B,IAAI,CAACC,OAAO,GAAG,KAAK;;MAEpB;MACA,IAAI,CAACC,WAAW,CAAC,CAAC;;MAElB;MACA,IAAI,CAACJ,iBAAiB,GAAGK,KAAK,CAACC,IAAI,CAAC,IAAI,CAACP,WAAW,CAACQ,MAAM,CAAC,CAAC,CAAC,CAC3DC,GAAG,CAAC,UAAAC,KAAK;QAAA,OAAIA,KAAK,CAACC,KAAK;MAAA,EAAC,CACzBC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;QAAA,OAAKD,CAAC,GAAGC,CAAC;MAAA,EAAC;IAC1B;;IAEA;AACF;AACA;EAFE;IAAAjB,GAAA;IAAAE,KAAA,EAGA,SAAAM,YAAA,EAA4B;MAAA,IAAAU,MAAA;MAC1B,IAAI,CAAC7B,QAAQ,CAAC8B,QAAQ,CAAC,UAACC,MAAM,EAAK;QACjC,IAAIA,MAAM,CAACC,IAAI,KAAK,MAAM,IAAID,MAAM,CAACC,IAAI,KAAK,OAAO,EAAE;UACrD,IAAMC,IAAI,GAAGF,MAAM,CAACE,IAAI;UACxB;UACA,IAAIA,IAAI,CAACC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC3BL,MAAI,CAACM,eAAe,CAAC,MAAM,EAAE;cAC3BC,IAAI,EAAEL,MAAM;cACZM,gBAAgB,EAAEN,MAAM,CAACO,QAAQ,CAACC,KAAK,CAAC,CAAC;cACzCC,kBAAkB,EAAET,MAAM,CAACU;YAC7B,CAAC,CAAC;YACFZ,MAAI,CAACX,OAAO,GAAG,IAAI;YACnB;UACF;;UAEA;UACA,IAAIwB,MAAqB,GAAG,IAAI;UAChC,IAAIjB,KAAK,GAAG,CAAC;UACb,IAAIkB,aAAa,GAAG,KAAK;UAEzB,IAAIV,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,IAAID,IAAI,CAACW,MAAM,IAAI,CAAC,EAAE;YAC5C;YACA,IAAMC,QAAQ,GAAGC,QAAQ,CAACb,IAAI,CAACc,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC,EAAE;cACpBH,MAAM,OAAAO,MAAA,CAAOhB,IAAI,CAACc,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE;cACnCtB,KAAK,GAAGoB,QAAQ;cAChBF,aAAa,GAAG,KAAK;cACrBd,MAAI,CAACb,qBAAqB,GAAGkC,IAAI,CAACC,GAAG,CAACtB,MAAI,CAACb,qBAAqB,EAAE6B,QAAQ,CAAC;YAC7E;UACF,CAAC,MACI,IAAIZ,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,IAAID,IAAI,CAACW,MAAM,IAAI,CAAC,EAAE;YACjD;YACA,IAAMC,SAAQ,GAAGC,QAAQ,CAACb,IAAI,CAACc,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAACC,KAAK,CAACH,SAAQ,CAAC,EAAE;cACpBH,MAAM,OAAAO,MAAA,CAAOhB,IAAI,CAACc,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE;cACnCtB,KAAK,GAAG,CAACoB,SAAQ;cACjBF,aAAa,GAAG,IAAI;cACpBd,MAAI,CAACZ,qBAAqB,GAAGiC,IAAI,CAACC,GAAG,CAACtB,MAAI,CAACZ,qBAAqB,EAAE4B,SAAQ,CAAC;YAC7E;UACF;UAEA,IAAIH,MAAM,EAAE;YACVb,MAAI,CAACM,eAAe,CAACO,MAAM,EAAE;cAC3BN,IAAI,EAAEL,MAAM;cACZM,gBAAgB,EAAEN,MAAM,CAACO,QAAQ,CAACC,KAAK,CAAC,CAAC;cACzCC,kBAAkB,EAAET,MAAM,CAACU;YAC7B,CAAC,EAAEhB,KAAK,EAAEkB,aAAa,CAAC;UAC1B;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAAhC,GAAA;IAAAE,KAAA,EAGA,SAAAsB,gBACEO,MAAc,EACdU,SAAyB,EAGnB;MAAA,IAAAC,qBAAA;MAAA,IAFN5B,KAAa,GAAA6B,SAAA,CAAAV,MAAA,QAAAU,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI,CAACtC,qBAAqB,GAAG,CAAC;MAAA,IAC9C2B,aAAa,GAAAW,SAAA,CAAAV,MAAA,QAAAU,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;MAErB,IAAI,CAAC,IAAI,CAACxC,WAAW,CAAC0C,GAAG,CAACd,MAAM,CAAC,EAAE;QACjC,IAAI,CAAC5B,WAAW,CAAC2C,GAAG,CAACf,MAAM,EAAE;UAC3BjB,KAAK,EAALA,KAAK;UACLkB,aAAa,EAAbA,aAAa;UACbe,MAAM,EAAEhB,MAAM,KAAK,MAAM;UACzBiB,UAAU,EAAE;QACd,CAAC,CAAC;MACJ;MAEA,CAAAN,qBAAA,OAAI,CAACvC,WAAW,CAACF,GAAG,CAAC8B,MAAM,CAAC,cAAAW,qBAAA,eAA5BA,qBAAA,CAA8BM,UAAU,CAACC,IAAI,CAACR,SAAS,CAAC;IAC1D;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAzC,GAAA;IAAAE,KAAA,EAKA,SAAAgD,MAAaC,OAAO,EAA0C;MAC5D,IAAQC,KAAK,GAAgBD,OAAO,CAA5BC,KAAK;QAAEC,SAAS,GAAKF,OAAO,CAArBE,SAAS;MACxB,IAAMC,UAA2B,GAAGD,SAAS,IAAI;QAC/ChC,IAAI,EAAEvC,kBAAkB,CAACyE,IAAI;QAC7BC,QAAQ,EAAE;MACZ,CAAC;;MAED;MACA,IAAI,IAAI,CAACC,gBAAgB,CAAC7D,KAAK,KAAK,IAAI,EAAE;QACxC8D,MAAM,CAACC,YAAY,CAAC,IAAI,CAACF,gBAAgB,CAAC7D,KAAK,CAAC;QAChD,IAAI,CAAC6D,gBAAgB,CAAC7D,KAAK,GAAG,IAAI;MACpC;;MAEA;MACA,IAAIwD,KAAK,KAAK,CAAC,EAAE;QACf,IAAI,CAACQ,aAAa,CAAC,CAAC;QACpB,OAAO;UAAEC,OAAO,EAAE;QAAK,CAAC;MAC1B;;MAEA;MACA,IAAIT,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,IAAI,CAAC/C,qBAAqB,EAAE;QACnD,OAAO;UACLwD,OAAO,EAAE,KAAK;UACdC,OAAO,gGAAAxB,MAAA,CAAqB,IAAI,CAACjC,qBAAqB;QACxD,CAAC;MACH;MAEA,IAAI+C,KAAK,GAAG,CAAC,IAAIb,IAAI,CAACwB,GAAG,CAACX,KAAK,CAAC,GAAG,IAAI,CAAC9C,qBAAqB,EAAE;QAC7D,OAAO;UACLuD,OAAO,EAAE,KAAK;UACdC,OAAO,4GAAAxB,MAAA,CAAuB,IAAI,CAAChC,qBAAqB;QAC1D,CAAC;MACH;;MAEA;MACA,QAAQgD,UAAU,CAACjC,IAAI;QACrB,KAAKvC,kBAAkB,CAACkF,IAAI;UAC1B,IAAI,CAACC,eAAe,CAACb,KAAK,CAAC;UAC3B;QACF,KAAKtE,kBAAkB,CAACyE,IAAI;UAC1B,IAAI,CAACW,wBAAwB,CAACd,KAAK,EAAEE,UAAU,CAAC;UAChD;QACF,KAAKxE,kBAAkB,CAACqF,IAAI;UAC1B,IAAI,CAACC,aAAa,CAAChB,KAAK,CAAC;UACzB;MACJ;MAEA,OAAO;QAAES,OAAO,EAAE;MAAK,CAAC;IAC1B;;IAEA;AACF;AACA;AACA;EAHE;IAAA7D,GAAA;IAAAE,KAAA,EAIA,SAAA+D,gBAAwBI,WAAmB,EAAQ;MAAA,IAAAC,SAAA,GAAAC,0BAAA,CACxB,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAA6D,KAAA;MAAA;QAAlD,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,UAAU,GAAAJ,KAAA,CAAAtE,KAAA;UACnB,IAAM2E,UAAU,GAAGD,UAAU,CAAC9D,KAAK;;UAEnC;UAAA,IAAAgE,UAAA,GAAAP,0BAAA,CACwBK,UAAU,CAAC5B,UAAU;YAAA+B,MAAA;UAAA;YAA7C,KAAAD,UAAA,CAAAL,CAAA,MAAAM,MAAA,GAAAD,UAAA,CAAAJ,CAAA,IAAAC,IAAA,GACE;cAAA,IADSlC,SAAS,GAAAsC,MAAA,CAAA7E,KAAA;cAClBuC,SAAS,CAAChB,IAAI,CAACE,QAAQ,CAACqD,IAAI,CAACvC,SAAS,CAACf,gBAAgB,CAAC;YAAD;;YAEzD;UAAA,SAAAuD,GAAA;YAAAH,UAAA,CAAAI,CAAA,CAAAD,GAAA;UAAA;YAAAH,UAAA,CAAAK,CAAA;UAAA;UACA,IAAMC,eAAe,GAAGP,UAAU,IAAIR,WAAW;UAAA,IAAAgB,UAAA,GAAAd,0BAAA,CACzBK,UAAU,CAAC5B,UAAU;YAAAsC,MAAA;UAAA;YAA7C,KAAAD,UAAA,CAAAZ,CAAA,MAAAa,MAAA,GAAAD,UAAA,CAAAX,CAAA,IAAAC,IAAA,GACE;cAAA,IADSlC,UAAS,GAAA6C,MAAA,CAAApF,KAAA;cAClBuC,UAAS,CAAChB,IAAI,CAACK,OAAO,GAAGsD,eAAe;YAAD;UAAC,SAAAH,GAAA;YAAAI,UAAA,CAAAH,CAAA,CAAAD,GAAA;UAAA;YAAAI,UAAA,CAAAF,CAAA;UAAA;QAC5C;MAAC,SAAAF,GAAA;QAAAX,SAAA,CAAAY,CAAA,CAAAD,GAAA;MAAA;QAAAX,SAAA,CAAAa,CAAA;MAAA;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAnF,GAAA;IAAAE,KAAA,EAKA,SAAAqF,kBAA0BlB,WAAmB,EAAEhB,SAA0B,EAAQ;MAC/E,IAAMmC,QAAQ,GAAG,EAAE;MACnB,IAAMhC,QAAQ,GAAGH,SAAS,CAACG,QAAQ;;MAEnC;MAAA,IAAAiC,UAAA,GAAAlB,0BAAA,CACyB,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAA+E,MAAA;MAAA;QAAlD,KAAAD,UAAA,CAAAhB,CAAA,MAAAiB,MAAA,GAAAD,UAAA,CAAAf,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,UAAU,GAAAc,MAAA,CAAAxF,KAAA;UAAA,IAAAyF,UAAA,GAAApB,0BAAA,CACKK,UAAU,CAAC5B,UAAU;YAAA4C,MAAA;UAAA;YAA7C,KAAAD,UAAA,CAAAlB,CAAA,MAAAmB,MAAA,GAAAD,UAAA,CAAAjB,CAAA,IAAAC,IAAA,GACE;cAAA,IADSlC,SAAS,GAAAmD,MAAA,CAAA1F,KAAA;cAClBuC,SAAS,CAAChB,IAAI,CAACK,OAAO,GAAG,IAAI;YAAD;UAAC,SAAAmD,GAAA;YAAAU,UAAA,CAAAT,CAAA,CAAAD,GAAA;UAAA;YAAAU,UAAA,CAAAR,CAAA;UAAA;QACjC;;QAEA;MAAA,SAAAF,GAAA;QAAAQ,UAAA,CAAAP,CAAA,CAAAD,GAAA;MAAA;QAAAQ,UAAA,CAAAN,CAAA;MAAA;MACA,IAAMU,cAAc,GAAG,IAAIlG,GAAG,CAAoB,CAAC;MACnD,IAAMmG,eAAe,GAAG,IAAInG,GAAG,CAAoB,CAAC;MAAA,IAAAoG,UAAA,GAAAxB,0BAAA,CAE3B,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAAqF,MAAA;MAAA;QAAlD,KAAAD,UAAA,CAAAtB,CAAA,MAAAuB,MAAA,GAAAD,UAAA,CAAArB,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,WAAU,GAAAoB,MAAA,CAAA9F,KAAA;UACnB,IAAM2E,UAAU,GAAGD,WAAU,CAAC9D,KAAK;UAAA,IAAAmF,UAAA,GAAA1B,0BAAA,CAEXK,WAAU,CAAC5B,UAAU;YAAAkD,MAAA;UAAA;YAA7C,KAAAD,UAAA,CAAAxB,CAAA,MAAAyB,MAAA,GAAAD,UAAA,CAAAvB,CAAA,IAAAC,IAAA,GAA+C;cAAA,IAApClC,WAAS,GAAAyD,MAAA,CAAAhG,KAAA;cAClB2F,cAAc,CAAC/C,GAAG,CAACL,WAAS,CAAChB,IAAI,EAAEgB,WAAS,CAAChB,IAAI,CAACE,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC;cAEnE,IAAIiD,UAAU,GAAGR,WAAW,EAAE;gBAC5B;gBACA,IAAM8B,SAAS,GAAG1D,WAAS,CAACf,gBAAgB,CAACE,KAAK,CAAC,CAAC;gBACpDuE,SAAS,CAACC,CAAC,IAAIZ,QAAQ;gBACvBM,eAAe,CAAChD,GAAG,CAACL,WAAS,CAAChB,IAAI,EAAE0E,SAAS,CAAC;cAChD,CAAC,MACI;gBACH;gBACAL,eAAe,CAAChD,GAAG,CAACL,WAAS,CAAChB,IAAI,EAAEgB,WAAS,CAACf,gBAAgB,CAACE,KAAK,CAAC,CAAC,CAAC;cACzE;YACF;UAAC,SAAAqD,GAAA;YAAAgB,UAAA,CAAAf,CAAA,CAAAD,GAAA;UAAA;YAAAgB,UAAA,CAAAd,CAAA;UAAA;QACH;;QAEA;MAAA,SAAAF,GAAA;QAAAc,UAAA,CAAAb,CAAA,CAAAD,GAAA;MAAA;QAAAc,UAAA,CAAAZ,CAAA;MAAA;MACA,IAAI,CAACkB,gBAAgB,CAACR,cAAc,EAAEC,eAAe,EAAEtC,QAAQ,CAAC;IAClE;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAxD,GAAA;IAAAE,KAAA,EAKA,SAAAgE,yBAAiCG,WAAmB,EAAEhB,SAA0B,EAAQ;MACtF,IAAAiD,IAAA,GAAoCjD,SAAS,CAACkD,IAAI,IAAI,CAAC,CAAC;QAAAC,cAAA,GAAAF,IAAA,CAAhDG,SAAS;QAATA,SAAS,GAAAD,cAAA,cAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAAA,cAAA;MAC/B,IAAMhD,QAAQ,GAAGH,SAAS,CAACG,QAAQ;;MAEnC;MAAA,IAAAkD,UAAA,GAAAnC,0BAAA,CACyB,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAAgG,MAAA;MAAA;QAAlD,KAAAD,UAAA,CAAAjC,CAAA,MAAAkC,MAAA,GAAAD,UAAA,CAAAhC,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,UAAU,GAAA+B,MAAA,CAAAzG,KAAA;UAAA,IAAA0G,WAAA,GAAArC,0BAAA,CACKK,UAAU,CAAC5B,UAAU;YAAA6D,OAAA;UAAA;YAA7C,KAAAD,WAAA,CAAAnC,CAAA,MAAAoC,OAAA,GAAAD,WAAA,CAAAlC,CAAA,IAAAC,IAAA,GACE;cAAA,IADSlC,SAAS,GAAAoE,OAAA,CAAA3G,KAAA;cAClBuC,SAAS,CAAChB,IAAI,CAACK,OAAO,GAAG,IAAI;YAAD;UAAC,SAAAmD,GAAA;YAAA2B,WAAA,CAAA1B,CAAA,CAAAD,GAAA;UAAA;YAAA2B,WAAA,CAAAzB,CAAA;UAAA;QACjC;;QAEA;MAAA,SAAAF,GAAA;QAAAyB,UAAA,CAAAxB,CAAA,CAAAD,GAAA;MAAA;QAAAyB,UAAA,CAAAvB,CAAA;MAAA;MACA,IAAMU,cAAc,GAAG,IAAIlG,GAAG,CAAoB,CAAC;MACnD,IAAMmG,eAAe,GAAG,IAAInG,GAAG,CAAoB,CAAC;MAAA,IAAAmH,UAAA,GAAAvC,0BAAA,CAE3B,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAAoG,MAAA;MAAA;QAAlD,KAAAD,UAAA,CAAArC,CAAA,MAAAsC,MAAA,GAAAD,UAAA,CAAApC,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,YAAU,GAAAmC,MAAA,CAAA7G,KAAA;UACnB,IAAM2E,UAAU,GAAGD,YAAU,CAAC9D,KAAK;UAAA,IAAAkG,WAAA,GAAAzC,0BAAA,CAEXK,YAAU,CAAC5B,UAAU;YAAAiE,OAAA;UAAA;YAA7C,KAAAD,WAAA,CAAAvC,CAAA,MAAAwC,OAAA,GAAAD,WAAA,CAAAtC,CAAA,IAAAC,IAAA,GAA+C;cAAA,IAApClC,WAAS,GAAAwE,OAAA,CAAA/G,KAAA;cAClB2F,cAAc,CAAC/C,GAAG,CAACL,WAAS,CAAChB,IAAI,EAAEgB,WAAS,CAAChB,IAAI,CAACE,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC;cAEnE,IAAIiD,UAAU,GAAGR,WAAW,EAAE;gBAC5B;gBACA,IAAM8B,SAAS,GAAG1D,WAAS,CAACf,gBAAgB,CAACE,KAAK,CAAC,CAAC,CAACsF,GAAG,CAAC,IAAItI,OAAO,CAAC,CAAC,CAACuI,SAAS,CAACV,SAAS,CAAC,CAAC;gBAC5FX,eAAe,CAAChD,GAAG,CAACL,WAAS,CAAChB,IAAI,EAAE0E,SAAS,CAAC;cAChD,CAAC,MACI;gBACH;gBACAL,eAAe,CAAChD,GAAG,CAACL,WAAS,CAAChB,IAAI,EAAEgB,WAAS,CAACf,gBAAgB,CAACE,KAAK,CAAC,CAAC,CAAC;cACzE;YACF;UAAC,SAAAqD,GAAA;YAAA+B,WAAA,CAAA9B,CAAA,CAAAD,GAAA;UAAA;YAAA+B,WAAA,CAAA7B,CAAA;UAAA;QACH;;QAEA;MAAA,SAAAF,GAAA;QAAA6B,UAAA,CAAA5B,CAAA,CAAAD,GAAA;MAAA;QAAA6B,UAAA,CAAA3B,CAAA;MAAA;MACA,IAAI,CAACkB,gBAAgB,CAACR,cAAc,EAAEC,eAAe,EAAEtC,QAAQ,CAAC;IAClE;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAxD,GAAA;IAAAE,KAAA,EAOA,SAAAkH,mBAA2BX,SAAqB,EAAEjB,QAAgB,EAAW;MAC3E,IAAM6B,MAAM,GAAG,IAAIzI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACnC,IAAM0I,WAAW,GAAG,MAAM,EAAC;MAC3B,QAAQb,SAAS;QACf,KAAK1H,UAAU,CAACwI,KAAK;UACnBF,MAAM,CAACvE,GAAG,CAAC0C,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;UAC1B;QACF,KAAKzG,UAAU,CAACyI,IAAI;UAClBH,MAAM,CAACvE,GAAG,CAAC,CAAC0C,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;UAC3B;QACF,KAAKzG,UAAU,CAAC0I,KAAK;UACnBJ,MAAM,CAACvE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE0C,QAAQ,CAAC;UAC1B;QACF,KAAKzG,UAAU,CAAC2I,IAAI;UAClBL,MAAM,CAACvE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC0C,QAAQ,CAAC;UAC3B;QACF,KAAKzG,UAAU,CAAC4I,WAAW;UACzBN,MAAM,CAACvE,GAAG,CAAC0C,QAAQ,GAAG8B,WAAW,EAAE9B,QAAQ,GAAG8B,WAAW,EAAE9B,QAAQ,GAAG8B,WAAW,CAAC;UAClF;QACF,KAAKvI,UAAU,CAAC6I,UAAU;UACxBP,MAAM,CAACvE,GAAG,CAAC,CAAC0C,QAAQ,GAAG8B,WAAW,EAAE9B,QAAQ,GAAG8B,WAAW,EAAE9B,QAAQ,GAAG8B,WAAW,CAAC;UACnF;QACF,KAAKvI,UAAU,CAAC8I,UAAU;UACxBR,MAAM,CAACvE,GAAG,CAAC0C,QAAQ,GAAG8B,WAAW,EAAE9B,QAAQ,GAAG8B,WAAW,EAAE,CAAC9B,QAAQ,GAAG8B,WAAW,CAAC;UACnF;QACF,KAAKvI,UAAU,CAAC+I,SAAS;UACvBT,MAAM,CAACvE,GAAG,CAAC,CAAC0C,QAAQ,GAAG8B,WAAW,EAAE9B,QAAQ,GAAG8B,WAAW,EAAE,CAAC9B,QAAQ,GAAG8B,WAAW,CAAC;UACpF;QACF;UACE;UACAD,MAAM,CAACvE,GAAG,CAAC0C,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;MAC9B;MAEA,OAAO6B,MAAM;IACf;;IAEA;AACF;AACA;AACA;EAHE;IAAArH,GAAA;IAAAE,KAAA,EAIA,SAAAkE,cAAsBC,WAAmB,EAAQ;MAAA,IAAA0D,WAAA,GAAAxD,0BAAA,CACtB,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAAqH,OAAA;MAAA;QAAlD,KAAAD,WAAA,CAAAtD,CAAA,MAAAuD,OAAA,GAAAD,WAAA,CAAArD,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,UAAU,GAAAoD,OAAA,CAAA9H,KAAA;UACnB,IAAM2E,UAAU,GAAGD,UAAU,CAAC9D,KAAK;;UAEnC;UAAA,IAAAmH,WAAA,GAAA1D,0BAAA,CACwBK,UAAU,CAAC5B,UAAU;YAAAkF,OAAA;UAAA;YAA7C,KAAAD,WAAA,CAAAxD,CAAA,MAAAyD,OAAA,GAAAD,WAAA,CAAAvD,CAAA,IAAAC,IAAA,GACE;cAAA,IADSlC,SAAS,GAAAyF,OAAA,CAAAhI,KAAA;cAClBuC,SAAS,CAAChB,IAAI,CAACE,QAAQ,CAACqD,IAAI,CAACvC,SAAS,CAACf,gBAAgB,CAAC;YAAD;;YAEzD;UAAA,SAAAuD,GAAA;YAAAgD,WAAA,CAAA/C,CAAA,CAAAD,GAAA;UAAA;YAAAgD,WAAA,CAAA9C,CAAA;UAAA;UACA,IAAMC,eAAe,GAAGP,UAAU,KAAKR,WAAW;UAAA,IAAA8D,WAAA,GAAA5D,0BAAA,CAC1BK,UAAU,CAAC5B,UAAU;YAAAoF,OAAA;UAAA;YAA7C,KAAAD,WAAA,CAAA1D,CAAA,MAAA2D,OAAA,GAAAD,WAAA,CAAAzD,CAAA,IAAAC,IAAA,GACE;cAAA,IADSlC,WAAS,GAAA2F,OAAA,CAAAlI,KAAA;cAClBuC,WAAS,CAAChB,IAAI,CAACK,OAAO,GAAGsD,eAAe;YAAD;UAAC,SAAAH,GAAA;YAAAkD,WAAA,CAAAjD,CAAA,CAAAD,GAAA;UAAA;YAAAkD,WAAA,CAAAhD,CAAA;UAAA;QAC5C;MAAC,SAAAF,GAAA;QAAA8C,WAAA,CAAA7C,CAAA,CAAAD,GAAA;MAAA;QAAA8C,WAAA,CAAA5C,CAAA;MAAA;IACH;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAnF,GAAA;IAAAE,KAAA,EAMA,SAAAmG,iBACER,cAAsC,EACtCC,eAAuC,EACvCtC,QAAgB,EACV;MAAA,IAAA6E,MAAA;MACN,IAAMC,SAAS,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAEnC,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;QACpB,IAAMC,WAAW,GAAGH,WAAW,CAACC,GAAG,CAAC,CAAC;QACrC,IAAMG,OAAO,GAAGD,WAAW,GAAGJ,SAAS;QACvC,IAAMM,QAAQ,GAAGrG,IAAI,CAACsG,GAAG,CAACF,OAAO,GAAGnF,QAAQ,EAAE,CAAC,CAAC;QAEhDsC,eAAe,CAACgD,OAAO,CAAC,UAAC3C,SAAS,EAAE1E,IAAI,EAAK;UAC3C,IAAMsH,QAAQ,GAAGlD,cAAc,CAAC5F,GAAG,CAACwB,IAAI,CAAC;UACzC,IAAIsH,QAAQ,EAAE;YACZ;YACAtH,IAAI,CAACE,QAAQ,CAACqH,WAAW,CAACD,QAAQ,EAAE5C,SAAS,EAAEyC,QAAQ,CAAC;UAC1D;QACF,CAAC,CAAC;QAEF,IAAIA,QAAQ,GAAG,CAAC,EAAE;UAChBK,qBAAqB,CAACR,OAAO,CAAC;QAChC,CAAC,MACI;UACH;UACAJ,MAAI,CAAC5E,gBAAgB,CAAC7D,KAAK,GAAG,IAAI;QACpC;MACF,CAAC;MAED6I,OAAO,CAAC,CAAC;;MAET;MACA,IAAI,CAAChF,gBAAgB,CAAC7D,KAAK,GAAG8D,MAAM,CAACwF,UAAU,CAAC,YAAM;QACpDb,MAAI,CAAC5E,gBAAgB,CAAC7D,KAAK,GAAG,IAAI;MACpC,CAAC,EAAE4D,QAAQ,GAAG,GAAG,CAAC;IACpB;;IAEA;AACF;AACA;EAFE;IAAAxD,GAAA;IAAAE,KAAA,EAGA,SAAA0D,cAAA,EAA8B;MAAA,IAAAuF,WAAA,GAAA5E,0BAAA,CACH,IAAI,CAACpE,WAAW,CAACQ,MAAM,CAAC,CAAC;QAAAyI,OAAA;MAAA;QAAlD,KAAAD,WAAA,CAAA1E,CAAA,MAAA2E,OAAA,GAAAD,WAAA,CAAAzE,CAAA,IAAAC,IAAA,GAAoD;UAAA,IAAzCC,UAAU,GAAAwE,OAAA,CAAAlJ,KAAA;UAAA,IAAAmJ,WAAA,GAAA9E,0BAAA,CACKK,UAAU,CAAC5B,UAAU;YAAAsG,OAAA;UAAA;YAA7C,KAAAD,WAAA,CAAA5E,CAAA,MAAA6E,OAAA,GAAAD,WAAA,CAAA3E,CAAA,IAAAC,IAAA,GAA+C;cAAA,IAApClC,SAAS,GAAA6G,OAAA,CAAApJ,KAAA;cAClB;cACAuC,SAAS,CAAChB,IAAI,CAACE,QAAQ,CAACqD,IAAI,CAACvC,SAAS,CAACf,gBAAgB,CAAC;;cAExD;cACAe,SAAS,CAAChB,IAAI,CAACK,OAAO,GAAGW,SAAS,CAACZ,kBAAkB;YACvD;UAAC,SAAAoD,GAAA;YAAAoE,WAAA,CAAAnE,CAAA,CAAAD,GAAA;UAAA;YAAAoE,WAAA,CAAAlE,CAAA;UAAA;QACH;MAAC,SAAAF,GAAA;QAAAkE,WAAA,CAAAjE,CAAA,CAAAD,GAAA;MAAA;QAAAkE,WAAA,CAAAhE,CAAA;MAAA;IACH;;IAEA;AACF;AACA;EAFE;IAAAnF,GAAA;IAAAE,KAAA,EAGA,SAAAqJ,eAAA,EAAwF;MACtF,OAAO;QACLC,WAAW,EAAE,IAAI,CAACnJ,qBAAqB;QACvCoJ,WAAW,EAAE,IAAI,CAACnJ,qBAAqB;QACvCC,OAAO,EAAE,IAAI,CAACA;MAChB,CAAC;IACH;EAAC;EAAA,OAAAvB,aAAA;AAAA,EAlZyBH,WAAW;AAqZvC,SAASG,aAAa,EAAEF,kBAAkB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Object3D } from '@anov/3d-core';
|
|
2
|
+
/**
|
|
3
|
+
* 拆楼模式
|
|
4
|
+
*/
|
|
5
|
+
export declare enum EBuildingSplitType {
|
|
6
|
+
Hide = "hide",// 隐藏上方楼层
|
|
7
|
+
Move = "move",// 定向移动
|
|
8
|
+
Solo = "solo"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 移动方向枚举
|
|
12
|
+
*/
|
|
13
|
+
export declare enum EDirection {
|
|
14
|
+
Left = "left",
|
|
15
|
+
Right = "right",
|
|
16
|
+
Front = "front",
|
|
17
|
+
Back = "back",
|
|
18
|
+
Left_Front = "left_front",
|
|
19
|
+
Right_Front = "right_front",
|
|
20
|
+
Left_Back = "left_back",
|
|
21
|
+
Right_Back = "right_back"
|
|
22
|
+
}
|
|
23
|
+
export type AnimationOption = {
|
|
24
|
+
type: EBuildingSplitType;
|
|
25
|
+
duration: number;
|
|
26
|
+
rule?: {
|
|
27
|
+
direction?: number[];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type Option = {
|
|
31
|
+
building: Object3D;
|
|
32
|
+
floor?: number;
|
|
33
|
+
animation?: AnimationOption;
|
|
34
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 拆楼模式
|
|
3
|
+
*/
|
|
4
|
+
export var EBuildingSplitType = /*#__PURE__*/function (EBuildingSplitType) {
|
|
5
|
+
EBuildingSplitType["Hide"] = "hide";
|
|
6
|
+
EBuildingSplitType["Move"] = "move";
|
|
7
|
+
EBuildingSplitType["Solo"] = "solo";
|
|
8
|
+
return EBuildingSplitType;
|
|
9
|
+
}({}); // 单层显示
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* 移动方向枚举
|
|
13
|
+
*/
|
|
14
|
+
export var EDirection = /*#__PURE__*/function (EDirection) {
|
|
15
|
+
EDirection["Left"] = "left";
|
|
16
|
+
EDirection["Right"] = "right";
|
|
17
|
+
EDirection["Front"] = "front";
|
|
18
|
+
EDirection["Back"] = "back";
|
|
19
|
+
EDirection["Left_Front"] = "left_front";
|
|
20
|
+
EDirection["Right_Front"] = "right_front";
|
|
21
|
+
EDirection["Left_Back"] = "left_back";
|
|
22
|
+
EDirection["Right_Back"] = "right_back";
|
|
23
|
+
return EDirection;
|
|
24
|
+
}({});
|
|
25
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EBuildingSplitType","EDirection"],"sources":["../../../src/business/SplitBuilding/type.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\n\n/**\n * 拆楼模式\n */\nexport enum EBuildingSplitType {\n Hide = 'hide', // 隐藏上方楼层\n Move = 'move', // 定向移动\n Solo = 'solo', // 单层显示\n}\n\n/**\n * 移动方向枚举\n */\nexport enum EDirection {\n Left = 'left',\n Right = 'right',\n Front = 'front',\n Back = 'back',\n Left_Front = 'left_front',\n Right_Front = 'right_front',\n Left_Back = 'left_back',\n Right_Back = 'right_back',\n}\n\nexport type AnimationOption = {\n type: EBuildingSplitType\n duration: number // 动画时长\n rule?: {\n direction?: number[] // 移动方向\n }\n}\n\nexport type Option = {\n building: Object3D // 建筑模型\n floor?: number // 拆分的楼层号\n animation?: AnimationOption // 动画\n}\n"],"mappings":"AAEA;AACA;AACA;AACA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA,OAGb;;AAGjB;AACA;AACA;AACA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SOURCE_BASE_PATH = "http://192.168.11.164:9000/anov-test/resources/3d";
|
|
1
|
+
export declare const SOURCE_BASE_PATH = "http://192.168.11.164:9000/anov-test/resources/3d/atomicResouce";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var SOURCE_BASE_PATH = 'http://192.168.11.164:9000/anov-test/resources/3d';
|
|
1
|
+
export var SOURCE_BASE_PATH = 'http://192.168.11.164:9000/anov-test/resources/3d/atomicResouce';
|
|
2
2
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SOURCE_BASE_PATH"],"sources":["../../../src/business/Utils/constant.ts"],"sourcesContent":["export const SOURCE_BASE_PATH = 'http://192.168.11.164:9000/anov-test/resources/3d'"],"mappings":"AAAA,OAAO,IAAMA,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"names":["SOURCE_BASE_PATH"],"sources":["../../../src/business/Utils/constant.ts"],"sourcesContent":["export const SOURCE_BASE_PATH = 'http://192.168.11.164:9000/anov-test/resources/3d/atomicResouce'"],"mappings":"AAAA,OAAO,IAAMA,gBAAgB,GAAG,iEAAiE"}
|
package/dist/business/index.d.ts
CHANGED
package/dist/business/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/business/index.ts"],"sourcesContent":["export * from './Poi'\nexport * from './Spline'\nexport * from './Area'\nexport * from './TrafficComponents'\nexport * from './Batch'\nexport * from './MaterialSwitch'\nexport * from './Flyline'\nexport * from './HeatMap'\nexport * from './Mark'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/business/index.ts"],"sourcesContent":["export * from './Poi'\nexport * from './Spline'\nexport * from './Area'\nexport * from './TrafficComponents'\nexport * from './Batch'\nexport * from './MaterialSwitch'\nexport * from './Flyline'\nexport * from './HeatMap'\nexport * from './Mark'\nexport * from './SplitBuilding'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -22,19 +22,19 @@ export var EMaterialType = /*#__PURE__*/function (EMaterialType) {
|
|
|
22
22
|
return EMaterialType;
|
|
23
23
|
}({}); // 发光材质(适用于夜晚窗户)
|
|
24
24
|
var SOURCE_PATH = {
|
|
25
|
-
plaster: "".concat(SOURCE_BASE_PATH, "/
|
|
25
|
+
plaster: "".concat(SOURCE_BASE_PATH, "/material/plaster.glb"),
|
|
26
26
|
// 涂料
|
|
27
|
-
wood: "".concat(SOURCE_BASE_PATH, "/
|
|
27
|
+
wood: "".concat(SOURCE_BASE_PATH, "/material/wood.glb"),
|
|
28
28
|
// 木质材质
|
|
29
|
-
water: "".concat(SOURCE_BASE_PATH, "/
|
|
29
|
+
water: "".concat(SOURCE_BASE_PATH, "/material/water.glb"),
|
|
30
30
|
// 水材质
|
|
31
|
-
glass: "".concat(SOURCE_BASE_PATH, "/
|
|
31
|
+
glass: "".concat(SOURCE_BASE_PATH, "/material/glass.glb"),
|
|
32
32
|
// 玻璃材质
|
|
33
|
-
iron: "".concat(SOURCE_BASE_PATH, "/
|
|
33
|
+
iron: "".concat(SOURCE_BASE_PATH, "/material/iron.glb"),
|
|
34
34
|
// 金属材质
|
|
35
|
-
moss: "".concat(SOURCE_BASE_PATH, "/
|
|
35
|
+
moss: "".concat(SOURCE_BASE_PATH, "/material/moss.glb"),
|
|
36
36
|
// 苔藓材质
|
|
37
|
-
emissive: "".concat(SOURCE_BASE_PATH, "/
|
|
37
|
+
emissive: "".concat(SOURCE_BASE_PATH, "/material/emissive.glb") // 发光材质(适用于夜晚窗户)
|
|
38
38
|
};
|
|
39
39
|
export var SurfaceMaterial = /*#__PURE__*/function () {
|
|
40
40
|
function SurfaceMaterial() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","LoaderModule","SOURCE_BASE_PATH","load","EMaterialType","SOURCE_PATH","plaster","concat","wood","water","glass","iron","moss","emissive","SurfaceMaterial","_getMaterial","_callee","id","material","_callee$","_context","cache","has","get","clone","loadModelMaterial","set","t0","console","getMaterial","_x","_loadModelMaterial","_callee2","_mesh","uri","model","mesh","_callee2$","_context2","loadGLTF","url","draco","onLoad","gltf","scene","onError","traverse","child","_x2","Map"],"sources":["../../../../src/core/Material/SurfaceMaterial/index.ts"],"sourcesContent":["import type { Mesh, MeshPhysicalMaterial, Object3D } from '@anov/3d-core'\nimport { LoaderModule } from '@anov/3d-core'\nimport { SOURCE_BASE_PATH } from '../../../business/Utils/constant'\n\nconst load = new LoaderModule()\nexport enum EMaterialType {\n plaster = 'plaster', // 涂料\n wood = 'wood', // 木质材质\n water = 'water', // 水材质\n glass = 'glass', // 玻璃材质\n iron = 'iron', // 金属材质\n moss = 'moss', // 苔藓材质\n emissive = 'emissive', // 发光材质(适用于夜晚窗户)\n}\n\nconst SOURCE_PATH = {\n plaster: `${SOURCE_BASE_PATH}/atomicResouce/material/plaster.glb`, // 涂料\n wood: `${SOURCE_BASE_PATH}/atomicResouce/material/wood.glb`, // 木质材质\n water: `${SOURCE_BASE_PATH}/atomicResouce/material/water.glb`, // 水材质\n glass: `${SOURCE_BASE_PATH}/atomicResouce/material/glass.glb`, // 玻璃材质\n iron: `${SOURCE_BASE_PATH}/atomicResouce/material/iron.glb`, // 金属材质\n moss: `${SOURCE_BASE_PATH}/atomicResouce/material/moss.glb`, // 苔藓材质\n emissive: `${SOURCE_BASE_PATH}/atomicResouce/material/emissive.glb`, // 发光材质(适用于夜晚窗户)\n}\n\nexport class SurfaceMaterial {\n private static cache = new Map<string, MeshPhysicalMaterial>()\n\n static async getMaterial(id: string) {\n if (this.cache.has(id))\n return this.cache.get(id).clone()!\n\n try {\n const material = await this.loadModelMaterial(id)\n this.cache.set(id, material)\n return material.clone()\n }\n catch (error) {\n console.error(`Failed to load material ${id}:`, error)\n throw error\n }\n }\n\n static async loadModelMaterial(id: string): Promise<MeshPhysicalMaterial> {\n const uri = SOURCE_PATH[id]\n if (!uri)\n throw new Error(`Invalid material ID: ${id}`)\n\n const model = await new Promise<Object3D>((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n draco: true,\n onLoad: gltf => resolve(gltf.scene.clone(true)),\n onError: err => reject(err),\n })\n })\n\n let mesh: Mesh | null = null\n model.traverse((child) => {\n if (!mesh && child.type === 'Mesh')\n mesh = child as Mesh\n })\n if (!mesh?.material)\n throw new Error(`No valid material found in ${id}`)\n\n return mesh.material as MeshPhysicalMaterial\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","LoaderModule","SOURCE_BASE_PATH","load","EMaterialType","SOURCE_PATH","plaster","concat","wood","water","glass","iron","moss","emissive","SurfaceMaterial","_getMaterial","_callee","id","material","_callee$","_context","cache","has","get","clone","loadModelMaterial","set","t0","console","getMaterial","_x","_loadModelMaterial","_callee2","_mesh","uri","model","mesh","_callee2$","_context2","loadGLTF","url","draco","onLoad","gltf","scene","onError","traverse","child","_x2","Map"],"sources":["../../../../src/core/Material/SurfaceMaterial/index.ts"],"sourcesContent":["import type { Mesh, MeshPhysicalMaterial, Object3D } from '@anov/3d-core'\nimport { LoaderModule } from '@anov/3d-core'\nimport { SOURCE_BASE_PATH } from '../../../business/Utils/constant'\n\nconst load = new LoaderModule()\nexport enum EMaterialType {\n plaster = 'plaster', // 涂料\n wood = 'wood', // 木质材质\n water = 'water', // 水材质\n glass = 'glass', // 玻璃材质\n iron = 'iron', // 金属材质\n moss = 'moss', // 苔藓材质\n emissive = 'emissive', // 发光材质(适用于夜晚窗户)\n}\n\nconst SOURCE_PATH = {\n plaster: `${SOURCE_BASE_PATH}/material/plaster.glb`, // 涂料\n wood: `${SOURCE_BASE_PATH}/material/wood.glb`, // 木质材质\n water: `${SOURCE_BASE_PATH}/material/water.glb`, // 水材质\n glass: `${SOURCE_BASE_PATH}/material/glass.glb`, // 玻璃材质\n iron: `${SOURCE_BASE_PATH}/material/iron.glb`, // 金属材质\n moss: `${SOURCE_BASE_PATH}/material/moss.glb`, // 苔藓材质\n emissive: `${SOURCE_BASE_PATH}/material/emissive.glb`, // 发光材质(适用于夜晚窗户)\n}\n\nexport class SurfaceMaterial {\n private static cache = new Map<string, MeshPhysicalMaterial>()\n\n static async getMaterial(id: string) {\n if (this.cache.has(id))\n return this.cache.get(id).clone()!\n\n try {\n const material = await this.loadModelMaterial(id)\n this.cache.set(id, material)\n return material.clone()\n }\n catch (error) {\n console.error(`Failed to load material ${id}:`, error)\n throw error\n }\n }\n\n static async loadModelMaterial(id: string): Promise<MeshPhysicalMaterial> {\n const uri = SOURCE_PATH[id]\n if (!uri)\n throw new Error(`Invalid material ID: ${id}`)\n\n const model = await new Promise<Object3D>((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n draco: true,\n onLoad: gltf => resolve(gltf.scene.clone(true)),\n onError: err => reject(err),\n })\n })\n\n let mesh: Mesh | null = null\n model.traverse((child) => {\n if (!mesh && child.type === 'Mesh')\n mesh = child as Mesh\n })\n if (!mesh?.material)\n throw new Error(`No valid material found in ${id}`)\n\n return mesh.material as MeshPhysicalMaterial\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d-ability",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.102",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@rengr/heatmap.js": "^2.0.10",
|
|
23
|
-
"@types/suncalc": "^1.9.2",
|
|
24
23
|
"anov-heat-map": "^0.0.1",
|
|
25
24
|
"camera-controls": "^2.9.0",
|
|
26
25
|
"gsap": "^3.12.5",
|
|
@@ -35,6 +34,7 @@
|
|
|
35
34
|
"devDependencies": {
|
|
36
35
|
"@types/javascript-state-machine": "^2.4.6",
|
|
37
36
|
"@types/lodash": "^4.14.196",
|
|
37
|
+
"@types/suncalc": "^1.9.2",
|
|
38
38
|
"@types/supercluster": "^7.1.3",
|
|
39
39
|
"@anov/3d-core": "^0.0.62"
|
|
40
40
|
},
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const ver = "\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;\n\n#include <common>\n#include <logdepthbuf_pars_vertex>\n\nvoid main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n \n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * worldPosition;\n \n vNormal = normalize(mat3(transpose(inverse(modelMatrix))) * normal);\n vec3 cameraToVertex = normalize(cameraPosition - vWorldPosition);\n vViewPosition = cameraToVertex;\n}\n";
|
|
2
|
-
export declare const frag = "\n#include <logdepthbuf_pars_fragment>\n\nuniform float progress;\nuniform float addOpacity;\nuniform float objSize;\nuniform bool isFadeIn;\n\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vNormal;\nvarying vec3 vViewPosition;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n if (isFadeIn) {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n\n\n float circleOut = step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(1.0, 0.43, 0.0, 0.1), vec4(1.0, 0.43, 0.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 20.0, circleW * 8.6, circleW * 0.0, circleW * 2.0);\n gl_FragColor.w *= circleOut * addOpacity;\n \n } else {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n float circleOut = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(1.0, 0.43, 0.0, 0.1), vec4(1.0, 0.43, 0.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 20.0, circleW * 8.6, circleW * 0.0, circleW * 2.0);\n gl_FragColor.w *= circleIn * addOpacity;\n }\n}\n";
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export var ver = /* glsl */"\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;\n\n#include <common>\n#include <logdepthbuf_pars_vertex>\n\nvoid main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n \n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * worldPosition;\n \n vNormal = normalize(mat3(transpose(inverse(modelMatrix))) * normal);\n vec3 cameraToVertex = normalize(cameraPosition - vWorldPosition);\n vViewPosition = cameraToVertex;\n}\n";
|
|
2
|
-
export var frag = /* glsl */"\n#include <logdepthbuf_pars_fragment>\n\nuniform float progress;\nuniform float addOpacity;\nuniform float objSize;\nuniform bool isFadeIn;\n\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vNormal;\nvarying vec3 vViewPosition;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n if (isFadeIn) {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n\n\n float circleOut = step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(1.0, 0.43, 0.0, 0.1), vec4(1.0, 0.43, 0.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 20.0, circleW * 8.6, circleW * 0.0, circleW * 2.0);\n gl_FragColor.w *= circleOut * addOpacity;\n \n } else {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n float circleOut = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(1.0, 0.43, 0.0, 0.1), vec4(1.0, 0.43, 0.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 20.0, circleW * 8.6, circleW * 0.0, circleW * 2.0);\n gl_FragColor.w *= circleIn * addOpacity;\n }\n}\n";
|
|
3
|
-
//# sourceMappingURL=finalFade.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ver","frag"],"sources":["../../../src/business/MaterialSwitch/finalFade.ts"],"sourcesContent":["export const ver = /* glsl */ `\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;\n\n#include <common>\n#include <logdepthbuf_pars_vertex>\n\nvoid main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n \n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * worldPosition;\n \n vNormal = normalize(mat3(transpose(inverse(modelMatrix))) * normal);\n vec3 cameraToVertex = normalize(cameraPosition - vWorldPosition);\n vViewPosition = cameraToVertex;\n}\n`\n\nexport const frag = /* glsl */ `\n#include <logdepthbuf_pars_fragment>\n\nuniform float progress;\nuniform float addOpacity;\nuniform float objSize;\nuniform bool isFadeIn;\n\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vNormal;\nvarying vec3 vViewPosition;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n if (isFadeIn) {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n\n\n float circleOut = step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(1.0, 0.43, 0.0, 0.1), vec4(1.0, 0.43, 0.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 20.0, circleW * 8.6, circleW * 0.0, circleW * 2.0);\n gl_FragColor.w *= circleOut * addOpacity;\n \n } else {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n float circleOut = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(1.0, 0.43, 0.0, 0.1), vec4(1.0, 0.43, 0.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 20.0, circleW * 8.6, circleW * 0.0, circleW * 2.0);\n gl_FragColor.w *= circleIn * addOpacity;\n }\n}\n`\n"],"mappings":"AAAA,OAAO,IAAMA,GAAG,GAAG,soBAuBlB;AAED,OAAO,IAAMC,IAAI,GAAG,62DAiDnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ver_pre","ver","frag_pre","frag","RealFadeObjS"],"sources":["../../../src/business/MaterialSwitch/realFade.ts"],"sourcesContent":["export const ver_pre = /* glsl */ `\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\n`\n\nexport const ver = /* glsl */ `\n#include <begin_vertex>\n\nvec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\nvWorldPosition = worldPosition1.xyz;\n`\n\nexport const frag_pre = /* glsl */ `\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\nuniform float progress;\nuniform float objSize;\nuniform bool isFadeIn;\n`\n\nexport const frag = /* glsl */ `\n#include <map_fragment> \nvec3 myWorldPosition = vWorldPosition / objSize;\n\nif (isFadeIn) {\n float circle1 = step(distance(vec3(0.), myWorldPosition), progress - 0.02);\n float circle2 = step(distance(vec3(0.), myWorldPosition), progress);\n\n diffuseColor.xyz += vec3(circle2 - circle1) * 3.;\n diffuseColor.w *= circle2;\n} else {\n float circle = step(distance(vec3(0.), myWorldPosition), progress);\n diffuseColor.w *= step(circle, 0.);\n}\n`\n\nconst RealFadeObjS = { ver_pre, ver, frag_pre, frag }\n\nexport default RealFadeObjS"],"mappings":"AAAA,OAAO,IAAMA,OAAO,GAAG,qEAGtB;AAED,OAAO,IAAMC,GAAG,GAAG,yIAKlB;AAED,OAAO,IAAMC,QAAQ,GAAG,8IAMvB;AAED,OAAO,IAAMC,IAAI,GAAG,geAcnB;AAED,IAAMC,YAAY,GAAG;EAAEJ,OAAO,EAAPA,OAAO;EAAEC,GAAG,EAAHA,GAAG;EAAEC,QAAQ,EAARA,QAAQ;EAAEC,IAAI,EAAJA;AAAK,CAAC;AAErD,eAAeC,YAAY"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Color } from '@anov/3d-core';
|
|
2
|
-
var CircleShader = {
|
|
3
|
-
uniforms: {
|
|
4
|
-
iTime: {
|
|
5
|
-
value: 0.0
|
|
6
|
-
},
|
|
7
|
-
color: {
|
|
8
|
-
value: new Color(1.0, 1.0, 1.0)
|
|
9
|
-
} // 添加颜色uniform,默认白色
|
|
10
|
-
},
|
|
11
|
-
vertexShader: "\n varying vec2 vUv;\n #include <common>\n #include <logdepthbuf_pars_vertex>\n void main()\n {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n vUv = uv;\n // vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n \n }\n ",
|
|
12
|
-
fragmentShader: "\n varying vec2 vUv;\n uniform float iTime;\n uniform vec3 color;\n #include <common>\n #include <logdepthbuf_pars_fragment>\n\n // vec3 color=vec3(1.,0.6,0.2);\n\n void main() {\n #include <logdepthbuf_fragment>\n //*sin(mod(iTime,100.)); //*fract(mod(iTime,100.))\n float progress=fract(mod(iTime,100.))*0.1+0.4;\n \n float center1=step(distance(vUv,vec2(0.5,0.5)),0.06);\n gl_FragColor=vec4(vec3(1.),center1);\n\n float circleOutMax=step(distance(vUv,vec2(0.5,0.5)),0.5); \n float circleOut=step(distance(vUv,vec2(0.5,0.5)),0.25); \n float circleIn=step(distance(vUv,vec2(0.5,0.5)),0.25-0.006); \n gl_FragColor+=vec4(vec3(1.),circleOut-circleIn)*vec4(color,0.8);\n\n float circleGradientMax=1.-smoothstep(0.24,0.28,distance(vUv,vec2(0.5,0.5))); \n float circleGradient=pow(distance(vUv/.2/2.,vec2(0.5,0.5)/.2/2.),4.1)*4.; \n gl_FragColor += vec4(vec3(1.),circleGradient*circleGradientMax)*vec4(color,0.8);\n \n float circle2GradientMax=step(distance(vUv,vec2(0.5,0.5)),progress-0.15); \n float circle2Gradient=pow(distance(vUv/(progress-0.15)/2.,vec2(0.5,0.5)/(progress-0.1)/2.),1.)*0.3; \n gl_FragColor += vec4(vec3(1.),circle2Gradient*circle2GradientMax)*vec4(color*vec3(1.,0.8,1.),0.4); \n }\n "
|
|
13
|
-
};
|
|
14
|
-
export default CircleShader;
|
|
15
|
-
//# sourceMappingURL=circle copy 2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Color","CircleShader","uniforms","iTime","value","color","vertexShader","fragmentShader"],"sources":["../../../../src/business/Poi/shader/circle copy 2.ts"],"sourcesContent":["import { Color } from '@anov/3d-core'\n\nconst CircleShader = {\n uniforms: {\n iTime: { value: 0.0 },\n color: { value: new Color(1.0, 1.0, 1.0) }, // 添加颜色uniform,默认白色\n },\n vertexShader: `\n varying vec2 vUv;\n #include <common>\n #include <logdepthbuf_pars_vertex>\n void main()\n {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n vUv = uv;\n // vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n \n }\n `,\n fragmentShader: `\n varying vec2 vUv;\n uniform float iTime;\n uniform vec3 color;\n #include <common>\n #include <logdepthbuf_pars_fragment>\n\n // vec3 color=vec3(1.,0.6,0.2);\n\n void main() {\n #include <logdepthbuf_fragment>\n //*sin(mod(iTime,100.)); //*fract(mod(iTime,100.))\n float progress=fract(mod(iTime,100.))*0.1+0.4;\n \n float center1=step(distance(vUv,vec2(0.5,0.5)),0.06);\n gl_FragColor=vec4(vec3(1.),center1);\n\n float circleOutMax=step(distance(vUv,vec2(0.5,0.5)),0.5); \n float circleOut=step(distance(vUv,vec2(0.5,0.5)),0.25); \n float circleIn=step(distance(vUv,vec2(0.5,0.5)),0.25-0.006); \n gl_FragColor+=vec4(vec3(1.),circleOut-circleIn)*vec4(color,0.8);\n\n float circleGradientMax=1.-smoothstep(0.24,0.28,distance(vUv,vec2(0.5,0.5))); \n float circleGradient=pow(distance(vUv/.2/2.,vec2(0.5,0.5)/.2/2.),4.1)*4.; \n gl_FragColor += vec4(vec3(1.),circleGradient*circleGradientMax)*vec4(color,0.8);\n \n float circle2GradientMax=step(distance(vUv,vec2(0.5,0.5)),progress-0.15); \n float circle2Gradient=pow(distance(vUv/(progress-0.15)/2.,vec2(0.5,0.5)/(progress-0.1)/2.),1.)*0.3; \n gl_FragColor += vec4(vec3(1.),circle2Gradient*circle2GradientMax)*vec4(color*vec3(1.,0.8,1.),0.4); \n }\n `,\n}\n\nexport default CircleShader"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AAErC,IAAMC,YAAY,GAAG;EACnBC,QAAQ,EAAE;IACRC,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAC;IACrBC,KAAK,EAAE;MAAED,KAAK,EAAE,IAAIJ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,CAAE;EAC9C,CAAC;EACDM,YAAY,2UAcX;EACDC,cAAc;AA+BhB,CAAC;AAED,eAAeN,YAAY"}
|