@realsee/dnalogel 3.81.8 → 3.81.9
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/CHANGELOG.md +3 -0
- package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +1 -0
- package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +1 -1
- package/dist/index.cjs.js +45 -39
- package/dist/index.js +103 -91
- package/dist/index.umd.js +76 -70
- package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
- package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
- package/docs/classes/CSS3DRender.html +2 -2
- package/docs/classes/DigitalHuman.html +2 -2
- package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +2 -2
- package/docs/classes/DigitalPlayground.html +2 -2
- package/docs/classes/DigitalStateMachine.html +2 -2
- package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
- package/docs/classes/ModelMakerPluginInstance.html +2 -2
- package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
- package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
- package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
- package/docs/classes/ModelRoomLabelController.html +2 -2
- package/docs/classes/MoveController.html +2 -2
- package/docs/classes/Object3DHelperController.html +2 -2
- package/docs/classes/PaintBrush.html +2 -2
- package/docs/classes/PanoMeasurePluginLine.html +2 -2
- package/docs/classes/PanoMeasurePluginModel.html +2 -2
- package/docs/classes/PanoMeasurePluginPoint.html +2 -2
- package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
- package/docs/classes/PanoTagPluginController.html +2 -2
- package/docs/classes/Sculpt.html +2 -2
- package/docs/classes/Util.BetterTween.html +2 -2
- package/docs/classes/Util.FiveDomEvents.html +2 -2
- package/docs/classes/Util.FivePuppet.html +2 -2
- package/docs/classes/Util.Interval.html +2 -2
- package/docs/classes/Util.LegacyPointHelper.html +2 -2
- package/docs/classes/Util.LightTag.html +2 -2
- package/docs/classes/Util.LineSegments.html +2 -2
- package/docs/classes/Util.Magnifier.html +2 -2
- package/docs/classes/Util.Object3D.html +2 -2
- package/docs/classes/Util.PointDomHelper.html +2 -2
- package/docs/classes/Util.PointHelper.html +2 -2
- package/docs/classes/Util.PointSelector.html +2 -2
- package/docs/classes/Util.PointSelectorHelper.html +2 -2
- package/docs/classes/Util.Rectangle.html +2 -2
- package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
- package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
- package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
- package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
- package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
- package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.LineMesh.html +2 -2
- package/docs/classes/Util.sculpt.PointMesh.html +2 -2
- package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
- package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
- package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
- package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
- package/docs/classes/WalkController.html +2 -2
- package/docs/enums/CameraMovementEffect.html +2 -2
- package/docs/enums/ContentType.html +2 -2
- package/docs/enums/DIRECTION.html +2 -2
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
- package/docs/enums/DimensionType.html +2 -2
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
- package/docs/enums/PaintBrushTypeEnum.html +2 -2
- package/docs/enums/PointType.html +2 -2
- package/docs/enums/Rotation.html +2 -2
- package/docs/functions/AreaMakerPlugin.html +1 -1
- package/docs/functions/CSS3DRenderPlugin.html +1 -1
- package/docs/functions/CameraMovementPlugin.html +2 -2
- package/docs/functions/CruisePlugin.html +1 -1
- package/docs/functions/CurrentPanoImagePlugin.html +1 -1
- package/docs/functions/DigitalPerformancePlugin.html +1 -1
- package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -1
- package/docs/functions/FloorplanGuidePlugin.html +1 -1
- package/docs/functions/GuideLinePlugin.html +1 -1
- package/docs/functions/ItemLabelPlugin.html +1 -1
- package/docs/functions/MapviewFloorplanPlugin.html +1 -1
- package/docs/functions/MeasurePlugin.html +1 -1
- package/docs/functions/ModelChassisCompassPlugin.html +2 -2
- package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
- package/docs/functions/ModelFloorplanPlugin.html +1 -1
- package/docs/functions/ModelItemLabelPlugin.html +1 -1
- package/docs/functions/ModelMakerPlugin.html +1 -1
- package/docs/functions/ModelRoomLabelPlugin.html +1 -1
- package/docs/functions/ModelTVVideoPlugin.html +1 -1
- package/docs/functions/ModelViewPlugin.html +2 -2
- package/docs/functions/MovePlugin.html +1 -1
- package/docs/functions/Object3DHelperPlugin.html +1 -1
- package/docs/functions/PanoCompassPlugin.html +1 -1
- package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
- package/docs/functions/PanoDoorLabelPlugin.html +1 -1
- package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
- package/docs/functions/PanoMeasurePlugin.html +1 -1
- package/docs/functions/PanoRulerPlugin.html +2 -2
- package/docs/functions/PanoRulerProPlugin.html +2 -2
- package/docs/functions/PanoSpatialTagPlugin.html +2 -2
- package/docs/functions/PanoTagPlugin.html +1 -1
- package/docs/functions/PanoVideoPlugin.html +2 -2
- package/docs/functions/PipelinePlugin.html +1 -1
- package/docs/functions/SculptPlugin.html +2 -2
- package/docs/functions/SculptPluginForFive.html +2 -2
- package/docs/functions/TopviewFloorplanPlugin.html +1 -1
- package/docs/functions/Util.awaitNextFrame.html +1 -1
- package/docs/functions/Util.blink.html +2 -2
- package/docs/functions/Util.blinkWithPreset.html +2 -2
- package/docs/functions/Util.bounding.html +1 -1
- package/docs/functions/Util.boundingBox.html +1 -1
- package/docs/functions/Util.boundingSphere.html +1 -1
- package/docs/functions/Util.boxVertex.html +2 -2
- package/docs/functions/Util.boxVertexes.html +1 -1
- package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
- package/docs/functions/Util.cleanup.html +2 -2
- package/docs/functions/Util.convexHull.html +2 -2
- package/docs/functions/Util.equal.html +2 -2
- package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
- package/docs/functions/Util.generatePolygonGeometry.html +2 -2
- package/docs/functions/Util.getCoordsFromClient.html +1 -1
- package/docs/functions/Util.getCoordsFromElement.html +1 -1
- package/docs/functions/Util.getFrameTime.html +2 -2
- package/docs/functions/Util.getGeometryArea.html +1 -1
- package/docs/functions/Util.getGeometryInfo.html +1 -1
- package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
- package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
- package/docs/functions/Util.initialCSS3DRender.html +1 -1
- package/docs/functions/Util.inside.html +1 -1
- package/docs/functions/Util.isModelLike.html +1 -1
- package/docs/functions/Util.isNil.html +2 -2
- package/docs/functions/Util.isPanoramaLike.html +1 -1
- package/docs/functions/Util.lookObject.html +2 -2
- package/docs/functions/Util.lookPoint.html +2 -2
- package/docs/functions/Util.nextFrame.html +1 -1
- package/docs/functions/Util.notNil.html +2 -2
- package/docs/functions/Util.reblink.html +2 -2
- package/docs/functions/Util.replaceStaticPrefix.html +2 -2
- package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
- package/docs/functions/Util.sculpt.createBox.html +1 -1
- package/docs/functions/Util.sculpt.createCircle.html +1 -1
- package/docs/functions/Util.sculpt.createCylinder.html +1 -1
- package/docs/functions/Util.sculpt.createLine.html +2 -2
- package/docs/functions/Util.sculpt.createPoint.html +1 -1
- package/docs/functions/Util.sculpt.createPolygon.html +1 -1
- package/docs/functions/Util.sculpt.createPrism.html +1 -1
- package/docs/functions/Util.sculpt.createRectangle.html +2 -2
- package/docs/functions/Util.sculpt.transformUnit.html +2 -2
- package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
- package/docs/functions/Util.tag.html +1 -1
- package/docs/functions/Util.triangleArea.html +2 -2
- package/docs/functions/Util.triangleCenter.html +2 -2
- package/docs/functions/Util.tweenProgress.html +1 -1
- package/docs/functions/Util.uuid.html +2 -2
- package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
- package/docs/functions/Util.worldBounding.html +1 -1
- package/docs/functions/Util.worldBoundingBox.html +1 -1
- package/docs/functions/Util.worldBoundingSphere.html +1 -1
- package/docs/functions/createPolyline.html +2 -2
- package/docs/functions/pluginFlag.html +1 -1
- package/docs/functions/validatePolygon.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
- package/docs/interfaces/BoxAnimationConfig.html +2 -2
- package/docs/interfaces/BoxPosition.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/ChapterLocation.html +2 -2
- package/docs/interfaces/ChapterTimeInfo.html +2 -2
- package/docs/interfaces/ContentTypeMapInterface.html +2 -2
- package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
- package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
- package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
- package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
- package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
- package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
- package/docs/interfaces/DigitalCameraPlayer.html +2 -2
- package/docs/interfaces/DigitalCameraState.html +2 -2
- package/docs/interfaces/DigitalChapter.html +2 -2
- package/docs/interfaces/DigitalDataPlayer.html +2 -2
- package/docs/interfaces/DigitalDataState.html +2 -2
- package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
- package/docs/interfaces/DigitalEffectState.html +2 -2
- package/docs/interfaces/DigitalItemKeyframe.html +2 -2
- package/docs/interfaces/DigitalItemState.html +2 -2
- package/docs/interfaces/DigitalModelKeyframe.html +2 -2
- package/docs/interfaces/DigitalModelPlayer.html +2 -2
- package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
- package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
- package/docs/interfaces/DigitalModelState.html +2 -2
- package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.CameraState.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +2 -2
- package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +2 -2
- package/docs/interfaces/DigitalScript.html +2 -2
- package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
- package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
- package/docs/interfaces/DigitalSubTitleState.html +2 -2
- package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
- package/docs/interfaces/FloorplanBounding.html +2 -2
- package/docs/interfaces/FloorplanData.html +2 -2
- package/docs/interfaces/FloorplanEntrance.html +2 -2
- package/docs/interfaces/FloorplanExtraObject.html +2 -2
- package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
- package/docs/interfaces/FloorplanFloorData.html +2 -2
- package/docs/interfaces/FloorplanImagePosition.html +2 -2
- package/docs/interfaces/FloorplanObserver.html +2 -2
- package/docs/interfaces/FloorplanOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanPosition.html +2 -2
- package/docs/interfaces/FloorplanRoomItem.html +2 -2
- package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
- package/docs/interfaces/FloorplanServerBounding.html +2 -2
- package/docs/interfaces/FloorplanServerComputedData.html +2 -2
- package/docs/interfaces/FloorplanServerData.html +2 -2
- package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
- package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
- package/docs/interfaces/FloorplanServerEntrance.html +2 -2
- package/docs/interfaces/FloorplanServerFloorData.html +2 -2
- package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
- package/docs/interfaces/FloorplanServerObserver.html +2 -2
- package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanServerPosition.html +2 -2
- package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
- package/docs/interfaces/FloorplanServerStyledFloorplan.html +2 -2
- package/docs/interfaces/FloorplanServerStyledImage.html +2 -2
- package/docs/interfaces/GlobalProgress.html +2 -2
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
- package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
- package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
- package/docs/interfaces/HelperOffset.html +2 -2
- package/docs/interfaces/ImagePlaneGroup.html +2 -2
- package/docs/interfaces/ItemLabelPluginData.html +2 -2
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
- package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
- package/docs/interfaces/MinMax.html +2 -2
- package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
- package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ModelMakerPluginConfig.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
- package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
- package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
- package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
- package/docs/interfaces/ModelViewPluginExportType.html +2 -2
- package/docs/interfaces/Object3DHelperState.html +2 -2
- package/docs/interfaces/ObjectHelperControllers.html +2 -2
- package/docs/interfaces/PaintBrushAction.html +2 -2
- package/docs/interfaces/PaintBrushConfigs.html +2 -2
- package/docs/interfaces/PaintBrushState.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
- package/docs/interfaces/PanoMeasureParameterType.html +2 -2
- package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
- package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
- package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
- package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
- package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
- package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
- package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
- package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
- package/docs/interfaces/PanoRulerProPluginState.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
- package/docs/interfaces/PluginEventMap.html +2 -2
- package/docs/interfaces/Point.html +2 -2
- package/docs/interfaces/ProgressBarEvents.html +2 -2
- package/docs/interfaces/Room.html +2 -2
- package/docs/interfaces/RoomInfo.html +2 -2
- package/docs/interfaces/RoomLabel.html +2 -2
- package/docs/interfaces/RoomRules.html +1 -1
- package/docs/interfaces/Rooms.html +1 -1
- package/docs/interfaces/Scissor.html +2 -2
- package/docs/interfaces/SculptConfig.html +2 -2
- package/docs/interfaces/State.html +2 -2
- package/docs/interfaces/StyledFloorplan.html +2 -2
- package/docs/interfaces/StyledFloorplanImage.html +2 -2
- package/docs/interfaces/StyledFloorplanRoomLabel.html +2 -2
- package/docs/interfaces/TagCacheInterface.html +2 -2
- package/docs/interfaces/TagConfig.html +2 -2
- package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
- package/docs/interfaces/TagIconAnimationConfig.html +2 -2
- package/docs/interfaces/TagIconUrl.html +2 -2
- package/docs/interfaces/TagObjectGroup.html +2 -2
- package/docs/interfaces/TagState.html +2 -2
- package/docs/interfaces/TagStyle.html +2 -2
- package/docs/interfaces/Tags.html +2 -2
- package/docs/interfaces/TemporaryState.html +2 -2
- package/docs/interfaces/TraceManager.html +2 -2
- package/docs/interfaces/TracePoint.html +2 -2
- package/docs/interfaces/Util.AnimeInstance.html +2 -2
- package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
- package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
- package/docs/interfaces/Util.FiveDomEvent.html +2 -2
- package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
- package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
- package/docs/interfaces/Util.MagnifierParameter.html +2 -2
- package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
- package/docs/interfaces/Util.ObjectInitialState.html +2 -2
- package/docs/interfaces/Util.PointIntersection.html +2 -2
- package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
- package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
- package/docs/modules/AreaMakerPluginType.html +2 -2
- package/docs/modules/CruisePluginTypes.html +2 -2
- package/docs/modules/CurrentPanoImagePluginType.html +2 -2
- package/docs/modules/DigitalPerformanceV2.html +2 -2
- package/docs/modules/GuideLineItem.html +2 -2
- package/docs/modules/GuideLineModeItem.html +2 -2
- package/docs/modules/GuideLinePluginType.html +2 -2
- package/docs/modules/ModelMakerPluginType.html +2 -2
- package/docs/modules/PanoVideoPluginType.html +2 -2
- package/docs/modules/SculptData.html +2 -2
- package/docs/modules/SculptType.html +2 -2
- package/docs/modules/Util.html +2 -2
- package/docs/modules/Util.sculpt.html +2 -2
- package/docs/modules.html +2 -2
- package/docs/types/AddObject3DHelperConfig.html +2 -2
- package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
- package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
- package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
- package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
- package/docs/types/ArrayPosition.html +1 -1
- package/docs/types/AudioAppearance.html +1 -1
- package/docs/types/BoxTag.html +2 -2
- package/docs/types/CSS3DRenderExportType.html +1 -1
- package/docs/types/CSS3DRenderPluginExportType.html +1 -1
- package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
- package/docs/types/ClassFunctionParameters.html +1 -1
- package/docs/types/Color.html +1 -1
- package/docs/types/ContentTypeConfigKey.html +1 -1
- package/docs/types/ContentTypeConfigKeySplit.html +1 -1
- package/docs/types/ContentTypeMap.html +1 -1
- package/docs/types/Create3DDomContainerReturnType.html +1 -1
- package/docs/types/Create3DElementReturnType.html +1 -1
- package/docs/types/CruisePluginExportType.html +1 -1
- package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
- package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
- package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
- package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
- package/docs/types/DeprecatedTagProperty.html +2 -2
- package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
- package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
- package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +2 -2
- package/docs/types/DigitalPerformanceV2.CameraTransition.html +2 -2
- package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -1
- package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -1
- package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -1
- package/docs/types/Direction-1.html +1 -1
- package/docs/types/Direction4.html +1 -1
- package/docs/types/ElementRenderer.html +2 -2
- package/docs/types/FloorplanAffineTransform.html +1 -1
- package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
- package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
- package/docs/types/FloorplanRuleLabels.html +2 -2
- package/docs/types/FloorplanServerAffineTransform.html +1 -1
- package/docs/types/FloorplanServerRuleLabels.html +1 -1
- package/docs/types/GuideLinePluginExportType.html +1 -1
- package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
- package/docs/types/GuideLinePluginType.PathItem.html +2 -2
- package/docs/types/GuideLinePluginType.PluginData.html +2 -2
- package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
- package/docs/types/HelperEventMap.html +1 -1
- package/docs/types/InternalHelperEventMap.html +1 -1
- package/docs/types/KeyframeType.html +1 -1
- package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
- package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
- package/docs/types/MaskPosition.html +2 -2
- package/docs/types/MaskTag.html +2 -2
- package/docs/types/MeasureEndReason.html +1 -1
- package/docs/types/MeasurePluginConfig.html +2 -2
- package/docs/types/MeasurePluginEventMap.html +1 -1
- package/docs/types/MediaData.html +2 -2
- package/docs/types/MediaStore.html +1 -1
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
- package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
- package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
- package/docs/types/ModelId.html +1 -1
- package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
- package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
- package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
- package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
- package/docs/types/ModelMakerPluginType.TagOcclusionScope.html +2 -2
- package/docs/types/ModelMakerPluginType.TagOcclusionScopeConfig.html +2 -2
- package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
- package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
- package/docs/types/MoveArgs.html +2 -2
- package/docs/types/MoveOpts.html +2 -2
- package/docs/types/Object3DHelperEventMap.html +1 -1
- package/docs/types/ObjectFit.html +1 -1
- package/docs/types/PaintBrushEventMap.html +1 -1
- package/docs/types/PanoCompassPluginData.html +1 -1
- package/docs/types/PanoCompassPluginExportType.html +1 -1
- package/docs/types/PanoCompassPluginParameterType.html +1 -1
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
- package/docs/types/PanoIndex.html +1 -1
- package/docs/types/PanoMeasurePluginEvent.html +1 -1
- package/docs/types/PanoMeasureReturnType.html +1 -1
- package/docs/types/PanoSpatialTagPluginId.html +1 -1
- package/docs/types/PanoTagPluginExportInterface.html +1 -1
- package/docs/types/PanoTagPluginParamsInterface.html +1 -1
- package/docs/types/PanoVideoPluginParameterType.html +1 -1
- package/docs/types/PanoVideoPluginReturnType.html +1 -1
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
- package/docs/types/PipelinePluginParameterType.html +1 -1
- package/docs/types/PipelinePluginReturnType.html +1 -1
- package/docs/types/PlaneTag.html +2 -2
- package/docs/types/Point2DTag.html +2 -2
- package/docs/types/Point3DTag.html +2 -2
- package/docs/types/PointTagInstance.html +1 -1
- package/docs/types/PolygonPosition.html +2 -2
- package/docs/types/PolygonTag.html +2 -2
- package/docs/types/Position.html +1 -1
- package/docs/types/PositionFrom.html +1 -1
- package/docs/types/ProgressListener.html +1 -1
- package/docs/types/RotateArgs.html +2 -2
- package/docs/types/RotateOpts.html +2 -2
- package/docs/types/RuleLabelsKey.html +1 -1
- package/docs/types/RuleLabelsValue.html +1 -1
- package/docs/types/ScaleCallback.html +1 -1
- package/docs/types/ScalePosition.html +2 -2
- package/docs/types/SculptData.BoxData.html +1 -1
- package/docs/types/SculptData.CircleData.html +1 -1
- package/docs/types/SculptData.CylinderData.html +1 -1
- package/docs/types/SculptData.PointData.html +1 -1
- package/docs/types/SculptData.PolygonData.html +1 -1
- package/docs/types/SculptData.PolylineData.html +1 -1
- package/docs/types/SculptData.PrismData.html +1 -1
- package/docs/types/SculptData.RectangleData.html +1 -1
- package/docs/types/SculptType.Theme.html +2 -2
- package/docs/types/StateType.html +1 -1
- package/docs/types/StickType.html +1 -1
- package/docs/types/Tag.html +2 -2
- package/docs/types/Tag2D.html +2 -2
- package/docs/types/Tag3D.html +2 -2
- package/docs/types/TagClickParams.html +1 -1
- package/docs/types/TagConfigByKey.html +1 -1
- package/docs/types/TagContentType.html +1 -1
- package/docs/types/TagContentTypeMapping.html +1 -1
- package/docs/types/TagDimensionType.html +1 -1
- package/docs/types/TagElement.html +2 -2
- package/docs/types/TagEvents.html +1 -1
- package/docs/types/TagGLTFObject.html +1 -1
- package/docs/types/TagHooks.html +1 -1
- package/docs/types/TagId.html +1 -1
- package/docs/types/TagInstance.html +1 -1
- package/docs/types/TagPlacement.html +2 -2
- package/docs/types/TagPointType.html +2 -2
- package/docs/types/TagRendererMap.html +1 -1
- package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
- package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
- package/docs/types/Util.ActionIfNoIntersection.html +1 -1
- package/docs/types/Util.AdherePoint.html +2 -2
- package/docs/types/Util.PointSelectorConfig.html +1 -1
- package/docs/types/Util.SupportedTarget.html +2 -2
- package/docs/types/Util.Target.html +2 -2
- package/docs/types/Util.ThreeObject.html +2 -2
- package/docs/types/WorkCode.html +1 -1
- package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
- package/docs/variables/PLUGIN.html +1 -1
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
- package/docs/variables/ROOM_TYPE_MAP.html +2 -2
- package/docs/variables/Util.ANIME_PRESETS.html +2 -2
- package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
- package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
- package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
- package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
- package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
- package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
- package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
- package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
- package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
- package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
- package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
- package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
- package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
- package/docs/variables/defaultGlobalConfig.html +1 -1
- package/docs/variables/itemLabelPluginServerParams.html +1 -1
- package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
- package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +1 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +85 -79
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +1 -1
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +36 -30
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelItemLabelPluginServerParams | 如视空间交互插件合集 - v3.81.
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelItemLabelPluginServerParams | 如视空间交互插件合集 - v3.81.9</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.81.9</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="modelItemLabelPluginServerParams.html">modelItemLabelPluginServerParams</a></li></ul><h1>Variable modelItemLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">model<wbr/>Item<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ModelItemLabelPlugin/index.ts:7</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.81.9</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelRoomLabelPluginServerParams | 如视空间交互插件合集 - v3.81.
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelRoomLabelPluginServerParams | 如视空间交互插件合集 - v3.81.9</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.81.9</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="modelRoomLabelPluginServerParams.html">modelRoomLabelPluginServerParams</a></li></ul><h1>Variable modelRoomLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">model<wbr/>Room<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ModelRoomLabelPlugin/index.ts:9</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.81.9</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
|
@@ -69,6 +69,7 @@ export declare class MaskTag<C extends TagContentType = TagContentType> extends
|
|
|
69
69
|
private initializeMaskMesh;
|
|
70
70
|
/** 构建用于 mergedTexture 的 style 对象(color 作 id),tolerance 0–255 */
|
|
71
71
|
private buildStyleForMaterial;
|
|
72
|
+
private static getMaskTexelSize;
|
|
72
73
|
private static createSharedMesh;
|
|
73
74
|
/** 仅更新材质中某一 slot 的 style(用于 enable/disable/updateMaskStyle) */
|
|
74
75
|
private updateStyleSlotInMaterial;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
var F = Object.defineProperty;
|
|
2
2
|
var R = Object.getOwnPropertySymbols;
|
|
3
|
-
var B = Object.prototype.hasOwnProperty,
|
|
4
|
-
var E = (m, c, e) => c in m ? F(m, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[c] = e,
|
|
3
|
+
var B = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var E = (m, c, e) => c in m ? F(m, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[c] = e, C = (m, c) => {
|
|
5
5
|
for (var e in c || (c = {}))
|
|
6
6
|
B.call(c, e) && E(m, e, c[e]);
|
|
7
7
|
if (R)
|
|
8
8
|
for (var e of R(c))
|
|
9
|
-
|
|
9
|
+
z.call(c, e) && E(m, e, c[e]);
|
|
10
10
|
return m;
|
|
11
11
|
};
|
|
12
12
|
var x = (m, c, e) => (E(m, typeof c != "symbol" ? c + "" : c, e), e);
|
|
13
13
|
var S = (m, c, e) => new Promise((s, t) => {
|
|
14
|
-
var o = (
|
|
14
|
+
var o = (h) => {
|
|
15
15
|
try {
|
|
16
|
-
r(e.next(
|
|
16
|
+
r(e.next(h));
|
|
17
17
|
} catch (n) {
|
|
18
18
|
t(n);
|
|
19
19
|
}
|
|
20
|
-
}, i = (
|
|
20
|
+
}, i = (h) => {
|
|
21
21
|
try {
|
|
22
|
-
r(e.throw(
|
|
22
|
+
r(e.throw(h));
|
|
23
23
|
} catch (n) {
|
|
24
24
|
t(n);
|
|
25
25
|
}
|
|
26
|
-
}, r = (
|
|
26
|
+
}, r = (h) => h.done ? s(h.value) : Promise.resolve(h.value).then(o, i);
|
|
27
27
|
r((e = e.apply(m, c)).next());
|
|
28
28
|
});
|
|
29
|
-
import { BaseTag as
|
|
29
|
+
import { BaseTag as A } from "./BaseTag.js";
|
|
30
30
|
import * as g from "three";
|
|
31
|
-
import { anime as
|
|
32
|
-
import { maskVertexShader as
|
|
33
|
-
import { transformPosition as
|
|
31
|
+
import { anime as D } from "../../../vendor/animejs/lib/anime.es.js";
|
|
32
|
+
import { maskVertexShader as $, maskFragmentShaderMulti as V } from "./MaskTag.shaders.js";
|
|
33
|
+
import { transformPosition as G } from "../../../shared-utils/five/transformPosition.js";
|
|
34
34
|
import "../../../shared-utils/Subscribe.js";
|
|
35
35
|
import "../../utils/tag/calculateTagConfig.js";
|
|
36
36
|
import "../../../vendor/object-assign-deep/objectAssignDeep.js";
|
|
@@ -132,7 +132,7 @@ function w(m) {
|
|
|
132
132
|
}
|
|
133
133
|
return [0, 0, 0];
|
|
134
134
|
}
|
|
135
|
-
const
|
|
135
|
+
const l = class extends A {
|
|
136
136
|
constructor(e, s) {
|
|
137
137
|
var i;
|
|
138
138
|
super(e, s);
|
|
@@ -196,15 +196,15 @@ const h = class extends D {
|
|
|
196
196
|
if (typeof e == "number") {
|
|
197
197
|
this.loadingMask = !0;
|
|
198
198
|
try {
|
|
199
|
-
const t = yield
|
|
199
|
+
const t = yield l.loadMaskTexture(this.maskUrl);
|
|
200
200
|
this.maskTexture = t;
|
|
201
|
-
const o =
|
|
201
|
+
const o = l.getMeshKey(e);
|
|
202
202
|
this._sharedMeshKey = o;
|
|
203
|
-
let i =
|
|
204
|
-
const r = this.getColorKey(),
|
|
205
|
-
i ? i.maskSource !== this.maskUrl && (
|
|
203
|
+
let i = l.sharedMeshRegistry.get(o);
|
|
204
|
+
const r = this.getColorKey(), h = this.buildStyleForMaterial();
|
|
205
|
+
i ? i.maskSource !== this.maskUrl && (l.releaseMaskTexture(i.maskSource), i.maskTexture = t, i.maskSource = this.maskUrl, i.material.uniforms.map.value = t, i.material.uniforms.maskTexelSize.value = l.getMaskTexelSize(t)) : (i = l.createSharedMesh(t, this.maskUrl, this.plugin), l.sharedMeshRegistry.set(o, i), this.plugin.imagePlaneGroup.add(i.mesh));
|
|
206
206
|
const n = i.styleIndexByColorKey.get(r);
|
|
207
|
-
n !== void 0 ? (this.sharedStyleIndex = n, this.maskMesh = i.mesh, this.updateStyleSlotInMaterial(i.material, n,
|
|
207
|
+
n !== void 0 ? (this.sharedStyleIndex = n, this.maskMesh = i.mesh, this.updateStyleSlotInMaterial(i.material, n, h)) : (i.tagsByColorKey.set(r, this), this.appendStyleToMaterial(i.material, h), this.sharedStyleIndex = i.tagsByColorKey.size - 1, i.styleIndexByColorKey.set(r, this.sharedStyleIndex), this.maskMesh = i.mesh), this.setupSharedMeshRaycast(i), this.updateMeshTransform(), this.setupClickEvents(), this.updateScreenPosition(), i.mesh.visible = !0;
|
|
208
208
|
} finally {
|
|
209
209
|
this.loadingMask = !1;
|
|
210
210
|
}
|
|
@@ -221,18 +221,24 @@ const h = class extends D {
|
|
|
221
221
|
opacity: this.enabled && this.visible ? e.opacity : 0
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
|
+
static getMaskTexelSize(e) {
|
|
225
|
+
var i, r;
|
|
226
|
+
const s = e.image, t = Math.max((i = s == null ? void 0 : s.width) != null ? i : 1, 1), o = Math.max((r = s == null ? void 0 : s.height) != null ? r : 1, 1);
|
|
227
|
+
return new g.Vector2(1 / t, 1 / o);
|
|
228
|
+
}
|
|
224
229
|
static createSharedMesh(e, s, t) {
|
|
225
|
-
const r = Math.max(1, Math.ceil(Math.sqrt(0))),
|
|
230
|
+
const r = Math.max(1, Math.ceil(Math.sqrt(0))), h = 1, n = new Float32Array(r * h * 4), a = new g.DataTexture(n, r, h, g.RGBAFormat, g.FloatType);
|
|
226
231
|
a.needsUpdate = !0;
|
|
227
232
|
const d = new g.ShaderMaterial({
|
|
228
|
-
vertexShader:
|
|
229
|
-
fragmentShader:
|
|
233
|
+
vertexShader: $,
|
|
234
|
+
fragmentShader: V,
|
|
230
235
|
uniforms: {
|
|
231
236
|
map: { value: e },
|
|
232
237
|
mergedTexture: { value: a },
|
|
233
238
|
groupCount: { value: 0 },
|
|
234
239
|
textureWidth: { value: r },
|
|
235
|
-
pixelsPerGroup: { value: 3 }
|
|
240
|
+
pixelsPerGroup: { value: 3 },
|
|
241
|
+
maskTexelSize: { value: l.getMaskTexelSize(e) }
|
|
236
242
|
},
|
|
237
243
|
depthWrite: !1,
|
|
238
244
|
depthTest: !1,
|
|
@@ -265,26 +271,26 @@ const h = class extends D {
|
|
|
265
271
|
s.__maskRaycastSet = !0;
|
|
266
272
|
let t = null, o = null;
|
|
267
273
|
const i = () => {
|
|
268
|
-
const
|
|
269
|
-
if (!(
|
|
274
|
+
const h = e.maskTexture;
|
|
275
|
+
if (!(h != null && h.image))
|
|
270
276
|
return null;
|
|
271
|
-
if (o ===
|
|
277
|
+
if (o === h && t)
|
|
272
278
|
return t;
|
|
273
|
-
o =
|
|
279
|
+
o = h;
|
|
274
280
|
try {
|
|
275
281
|
const n = document.createElement("canvas"), a = n.getContext("2d");
|
|
276
282
|
if (!a)
|
|
277
283
|
return null;
|
|
278
|
-
const d =
|
|
284
|
+
const d = h.image;
|
|
279
285
|
return n.width = d.width, n.height = d.height, a.drawImage(d, 0, 0), t = a.getImageData(0, 0, d.width, d.height), t;
|
|
280
286
|
} catch (n) {
|
|
281
287
|
return null;
|
|
282
288
|
}
|
|
283
289
|
}, r = s.raycast.bind(s);
|
|
284
|
-
s.raycast = (
|
|
290
|
+
s.raycast = (h, n) => {
|
|
285
291
|
var k, I;
|
|
286
292
|
const a = [];
|
|
287
|
-
if (r(
|
|
293
|
+
if (r(h, a), a.length === 0)
|
|
288
294
|
return;
|
|
289
295
|
const d = a[0];
|
|
290
296
|
if (!d.uv || !((k = e.maskTexture) != null && k.image))
|
|
@@ -325,16 +331,16 @@ const h = class extends D {
|
|
|
325
331
|
var a, d, u;
|
|
326
332
|
if (!this.maskMesh || this._sharedMeshKey === null || this.sharedStyleIndex < 0)
|
|
327
333
|
return;
|
|
328
|
-
const s =
|
|
334
|
+
const s = l.sharedMeshRegistry.get(this._sharedMeshKey);
|
|
329
335
|
if (!s)
|
|
330
336
|
return;
|
|
331
|
-
const i = { opacity: this.buildStyleForMaterial().opacity }, r = (a = e == null ? void 0 : e.duration) != null ? a : 300,
|
|
337
|
+
const i = { opacity: this.buildStyleForMaterial().opacity }, r = (a = e == null ? void 0 : e.duration) != null ? a : 300, h = (d = e == null ? void 0 : e.loop) != null ? d : 4, n = D({
|
|
332
338
|
targets: i,
|
|
333
339
|
opacity: [0, 1],
|
|
334
340
|
duration: r,
|
|
335
341
|
easing: (u = e == null ? void 0 : e.easing) != null ? u : "easeInOutQuad",
|
|
336
342
|
direction: "alternate",
|
|
337
|
-
loop:
|
|
343
|
+
loop: h,
|
|
338
344
|
update: () => {
|
|
339
345
|
const p = this.buildStyleForMaterial();
|
|
340
346
|
p.opacity = i.opacity, this.updateStyleSlotInMaterial(s.material, this.sharedStyleIndex, p);
|
|
@@ -353,7 +359,7 @@ const h = class extends D {
|
|
|
353
359
|
*/
|
|
354
360
|
set(e, s = !0) {
|
|
355
361
|
var o, i;
|
|
356
|
-
super.set(e, s), e.style && (this.tagStyle =
|
|
362
|
+
super.set(e, s), e.style && (this.tagStyle = C(C({}, this.tagStyle), e.style), (o = e.style) != null && o.mask && this.updateMaskStyle());
|
|
357
363
|
const t = (i = e.mask) != null ? i : e.maskUrl;
|
|
358
364
|
t && t !== this.maskUrl && (this.maskUrl = t, this.updateSharedMeshTexture()), e.color !== void 0 && (this.targetColor = w(e.color), this.updateMaskStyle()), this.maskMesh && this.updateMaskStyle();
|
|
359
365
|
}
|
|
@@ -370,7 +376,7 @@ const h = class extends D {
|
|
|
370
376
|
try {
|
|
371
377
|
if (!this.enabled || !this.plugin.state.enabled || !this.fiveUtil.model || !this.maskUrl)
|
|
372
378
|
return !1;
|
|
373
|
-
const t =
|
|
379
|
+
const t = C(C({}, this.five.getCurrentState()), e), { panoIndex: o } = t;
|
|
374
380
|
return o !== ((s = this.fiveState) == null ? void 0 : s.panoIndex) ? !1 : super.getVisible(t);
|
|
375
381
|
} catch (t) {
|
|
376
382
|
return !1;
|
|
@@ -382,7 +388,7 @@ const h = class extends D {
|
|
|
382
388
|
*/
|
|
383
389
|
computeVisible(e) {
|
|
384
390
|
var o, i, r;
|
|
385
|
-
const s =
|
|
391
|
+
const s = C(C({}, this.five.getCurrentState()), e), { panoIndex: t } = s;
|
|
386
392
|
return t !== ((o = this.fiveState) == null ? void 0 : o.panoIndex) ? {
|
|
387
393
|
value: !1,
|
|
388
394
|
reason: {
|
|
@@ -476,7 +482,7 @@ const h = class extends D {
|
|
|
476
482
|
const s = this.workUtil.getObserver(e);
|
|
477
483
|
if (!s)
|
|
478
484
|
return;
|
|
479
|
-
this.maskMesh.position.copy(
|
|
485
|
+
this.maskMesh.position.copy(G(s.position, this.workUtil.transform)), this.maskMesh.quaternion.copy(s.quaternion);
|
|
480
486
|
const t = new g.Vector3(), o = new g.Quaternion(), i = new g.Vector3();
|
|
481
487
|
this.workUtil.transform.decompose(t, o, i), this.maskMesh.quaternion.multiply(o), this.five.needsRender = !0;
|
|
482
488
|
}
|
|
@@ -486,17 +492,17 @@ const h = class extends D {
|
|
|
486
492
|
* @returns {Array} 解析后的 styleList
|
|
487
493
|
*/
|
|
488
494
|
parseStyleListFromMaterial(e) {
|
|
489
|
-
const s = e.uniforms, t = s.groupCount.value, o = s.pixelsPerGroup.value, r = s.mergedTexture.value.image.data,
|
|
495
|
+
const s = e.uniforms, t = s.groupCount.value, o = s.pixelsPerGroup.value, r = s.mergedTexture.value.image.data, h = [];
|
|
490
496
|
for (let n = 0; n < t; n++) {
|
|
491
|
-
const a = n * o, d = a * 4, u = r[d] * 255, p = r[d + 1] * 255,
|
|
492
|
-
|
|
493
|
-
color: [Math.round(u), Math.round(p), Math.round(
|
|
497
|
+
const a = n * o, d = a * 4, u = r[d] * 255, p = r[d + 1] * 255, v = r[d + 2] * 255, y = r[d + 3], f = (a + 1) * 4, M = r[f] * 255, k = r[f + 1] * 255, I = r[f + 2] * 255, T = r[f + 3] * 255, K = (a + 2) * 4, P = r[K];
|
|
498
|
+
h.push({
|
|
499
|
+
color: [Math.round(u), Math.round(p), Math.round(v), y],
|
|
494
500
|
tolerance: Math.round(M),
|
|
495
501
|
highlightColor: [Math.round(k), Math.round(I), Math.round(T)],
|
|
496
502
|
opacity: P
|
|
497
503
|
});
|
|
498
504
|
}
|
|
499
|
-
return
|
|
505
|
+
return h;
|
|
500
506
|
}
|
|
501
507
|
/**
|
|
502
508
|
* 步骤2:更新材质的样式纹理(追加新元素后)
|
|
@@ -506,9 +512,9 @@ const h = class extends D {
|
|
|
506
512
|
appendStyleToMaterial(e, s) {
|
|
507
513
|
const t = this.parseStyleListFromMaterial(e);
|
|
508
514
|
Array.isArray(s) ? t.push(...s) : t.push(s);
|
|
509
|
-
const o = t.length, i = 3,
|
|
510
|
-
t.forEach((p,
|
|
511
|
-
const y =
|
|
515
|
+
const o = t.length, i = 3, h = o * i, n = 1, a = new Float32Array(h * n * 4);
|
|
516
|
+
t.forEach((p, v) => {
|
|
517
|
+
const y = v * i, f = y * 4;
|
|
512
518
|
a[f] = p.color[0] / 255, a[f + 1] = p.color[1] / 255, a[f + 2] = p.color[2] / 255, a[f + 3] = p.color[3];
|
|
513
519
|
const M = (y + 1) * 4;
|
|
514
520
|
a[M] = p.tolerance / 255, a[M + 1] = p.highlightColor[0] / 255, a[M + 2] = p.highlightColor[1] / 255, a[M + 3] = p.highlightColor[2] / 255;
|
|
@@ -516,7 +522,7 @@ const h = class extends D {
|
|
|
516
522
|
a[k] = p.opacity, a[k + 1] = 0, a[k + 2] = 0, a[k + 3] = 0;
|
|
517
523
|
});
|
|
518
524
|
const d = e.uniforms.mergedTexture.value, u = d.image;
|
|
519
|
-
u.data = a, u.width =
|
|
525
|
+
u.data = a, u.width = h, u.height = n, d.needsUpdate = !0, e.uniforms.groupCount.value = o, e.uniforms.textureWidth.value = h, console.log(`成功追加样式,当前总组数:${o}`);
|
|
520
526
|
}
|
|
521
527
|
/**
|
|
522
528
|
* 获取 Mask 样式配置(合并用户配置和默认值)
|
|
@@ -561,10 +567,10 @@ const h = class extends D {
|
|
|
561
567
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- 保留参数与 set() 调用一致
|
|
562
568
|
reloadMask(e) {
|
|
563
569
|
var i;
|
|
564
|
-
const s = (i = this.fiveState) == null ? void 0 : i.panoIndex, t = this.getColorKey(), o = typeof s == "number" ?
|
|
570
|
+
const s = (i = this.fiveState) == null ? void 0 : i.panoIndex, t = this.getColorKey(), o = typeof s == "number" ? l.getMeshKey(s) : this._sharedMeshKey;
|
|
565
571
|
if (o) {
|
|
566
|
-
const r =
|
|
567
|
-
r && (r.tagsByColorKey.delete(t), r.styleIndexByColorKey.delete(t), r.tagsByColorKey.size === 0 && (r.mesh.parent && r.mesh.parent.remove(r.mesh), r.mesh.geometry.dispose(), r.mesh.material.dispose(), r.material.uniforms.mergedTexture.value.dispose(),
|
|
572
|
+
const r = l.sharedMeshRegistry.get(o);
|
|
573
|
+
r && (r.tagsByColorKey.delete(t), r.styleIndexByColorKey.delete(t), r.tagsByColorKey.size === 0 && (r.mesh.parent && r.mesh.parent.remove(r.mesh), r.mesh.geometry.dispose(), r.mesh.material.dispose(), r.material.uniforms.mergedTexture.value.dispose(), l.releaseMaskTexture(r.maskSource), l.sharedMeshRegistry.delete(o)));
|
|
568
574
|
}
|
|
569
575
|
this.maskMesh = void 0, this._sharedMeshKey = null, this.sharedStyleIndex = -1, this.maskTexture = void 0, this.visible && !this.loadingMask && this.initializeMaskMesh();
|
|
570
576
|
}
|
|
@@ -580,15 +586,15 @@ const h = class extends D {
|
|
|
580
586
|
const e = (i = this.fiveState) == null ? void 0 : i.panoIndex;
|
|
581
587
|
if (typeof e != "number")
|
|
582
588
|
return;
|
|
583
|
-
const s =
|
|
589
|
+
const s = l.getMeshKey(e), t = l.sharedMeshRegistry.get(s);
|
|
584
590
|
if (!t) {
|
|
585
591
|
yield this.initializeMaskMesh();
|
|
586
592
|
return;
|
|
587
593
|
}
|
|
588
594
|
if (t.maskSource === this.maskUrl)
|
|
589
595
|
return;
|
|
590
|
-
const o = yield
|
|
591
|
-
this.maskTexture = o,
|
|
596
|
+
const o = yield l.loadMaskTexture(this.maskUrl);
|
|
597
|
+
this.maskTexture = o, l.releaseMaskTexture(t.maskSource), t.maskTexture = o, t.maskSource = this.maskUrl, t.material.uniforms.map.value = o, t.material.uniforms.maskTexelSize.value = l.getMaskTexelSize(o), this.five.needsRender = !0;
|
|
592
598
|
});
|
|
593
599
|
}
|
|
594
600
|
/**
|
|
@@ -597,7 +603,7 @@ const h = class extends D {
|
|
|
597
603
|
updateMaskStyle() {
|
|
598
604
|
if (!this.maskMesh || this._sharedMeshKey === null || this.sharedStyleIndex < 0)
|
|
599
605
|
return;
|
|
600
|
-
const e =
|
|
606
|
+
const e = l.sharedMeshRegistry.get(this._sharedMeshKey);
|
|
601
607
|
e && this.updateStyleSlotInMaterial(e.material, this.sharedStyleIndex, this.buildStyleForMaterial());
|
|
602
608
|
}
|
|
603
609
|
/**
|
|
@@ -621,8 +627,8 @@ const h = class extends D {
|
|
|
621
627
|
this._disposed = !0, this.cleanupClickEvents();
|
|
622
628
|
const e = this._sharedMeshKey, s = this.getColorKey();
|
|
623
629
|
if (e) {
|
|
624
|
-
const t =
|
|
625
|
-
t && (t.tagsByColorKey.delete(s), t.styleIndexByColorKey.delete(s), t.tagsByColorKey.size === 0 ? (t.mesh.parent && t.mesh.parent.remove(t.mesh), t.mesh.geometry.dispose(), t.mesh.material.dispose(), t.material.uniforms.mergedTexture.value.dispose(),
|
|
630
|
+
const t = l.sharedMeshRegistry.get(e);
|
|
631
|
+
t && (t.tagsByColorKey.delete(s), t.styleIndexByColorKey.delete(s), t.tagsByColorKey.size === 0 ? (t.mesh.parent && t.mesh.parent.remove(t.mesh), t.mesh.geometry.dispose(), t.mesh.material.dispose(), t.material.uniforms.mergedTexture.value.dispose(), l.releaseMaskTexture(t.maskSource), l.sharedMeshRegistry.delete(e)) : l.rebuildEntryMaterial(t));
|
|
626
632
|
}
|
|
627
633
|
this.maskMesh = void 0, this._sharedMeshKey = null, this.sharedStyleIndex = -1, this.maskTexture = void 0, this.five.needsRender = !0;
|
|
628
634
|
}
|
|
@@ -654,27 +660,27 @@ const h = class extends D {
|
|
|
654
660
|
* 清除所有点位共享 mesh(重新 load 数据前调用)
|
|
655
661
|
*/
|
|
656
662
|
static clearSharedMeshRegistry() {
|
|
657
|
-
|
|
663
|
+
l.sharedMeshRegistry.forEach((e) => {
|
|
658
664
|
e.tagsByColorKey.forEach((s) => {
|
|
659
665
|
s.maskMesh = void 0, s._sharedMeshKey = null, s.sharedStyleIndex = -1;
|
|
660
|
-
}), e.mesh.parent && e.mesh.parent.remove(e.mesh), e.mesh.geometry.dispose(), e.mesh.material.dispose(), e.material.uniforms.mergedTexture.value.dispose(),
|
|
661
|
-
}),
|
|
666
|
+
}), e.mesh.parent && e.mesh.parent.remove(e.mesh), e.mesh.geometry.dispose(), e.mesh.material.dispose(), e.material.uniforms.mergedTexture.value.dispose(), l.releaseMaskTexture(e.maskSource);
|
|
667
|
+
}), l.sharedMeshRegistry.clear();
|
|
662
668
|
}
|
|
663
669
|
/**
|
|
664
670
|
* 将 style 列表写入材质(用于重建材质)
|
|
665
671
|
*/
|
|
666
672
|
static writeStyleListToMaterial(e, s) {
|
|
667
|
-
const t = s.length, o = 3, r = t * o,
|
|
673
|
+
const t = s.length, o = 3, r = t * o, h = 1, n = new Float32Array(r * h * 4);
|
|
668
674
|
s.forEach((u, p) => {
|
|
669
|
-
const
|
|
675
|
+
const v = p * o, y = v * 4;
|
|
670
676
|
n[y] = u.color[0] / 255, n[y + 1] = u.color[1] / 255, n[y + 2] = u.color[2] / 255, n[y + 3] = u.color[3];
|
|
671
|
-
const f = (
|
|
677
|
+
const f = (v + 1) * 4;
|
|
672
678
|
n[f] = u.tolerance / 255, n[f + 1] = u.highlightColor[0] / 255, n[f + 2] = u.highlightColor[1] / 255, n[f + 3] = u.highlightColor[2] / 255;
|
|
673
|
-
const M = (
|
|
679
|
+
const M = (v + 2) * 4;
|
|
674
680
|
n[M] = u.opacity;
|
|
675
681
|
});
|
|
676
682
|
const a = e.uniforms.mergedTexture.value, d = a.image;
|
|
677
|
-
d.data = n, d.width = r, d.height =
|
|
683
|
+
d.data = n, d.width = r, d.height = h, a.needsUpdate = !0, e.uniforms.groupCount.value = t, e.uniforms.textureWidth.value = r;
|
|
678
684
|
}
|
|
679
685
|
/**
|
|
680
686
|
* destroy 后重建该点位材质,更新剩余 tag 的 styleIndex
|
|
@@ -684,7 +690,7 @@ const h = class extends D {
|
|
|
684
690
|
if (s.length === 0)
|
|
685
691
|
return;
|
|
686
692
|
const t = s.map((o) => o.getStyleForMaterial());
|
|
687
|
-
|
|
693
|
+
l.writeStyleListToMaterial(e.material, t), s.forEach((o, i) => {
|
|
688
694
|
o.sharedStyleIndex = i, e.styleIndexByColorKey.set(`${o.targetColor[0]},${o.targetColor[1]},${o.targetColor[2]}`, i);
|
|
689
695
|
});
|
|
690
696
|
}
|
|
@@ -697,8 +703,8 @@ const h = class extends D {
|
|
|
697
703
|
if (typeof e == "string")
|
|
698
704
|
return e;
|
|
699
705
|
{
|
|
700
|
-
let s =
|
|
701
|
-
return s || (s = Symbol("canvas-mask"),
|
|
706
|
+
let s = l.canvasSymbolMap.get(e);
|
|
707
|
+
return s || (s = Symbol("canvas-mask"), l.canvasSymbolMap.set(e, s)), s;
|
|
702
708
|
}
|
|
703
709
|
}
|
|
704
710
|
/**
|
|
@@ -708,7 +714,7 @@ const h = class extends D {
|
|
|
708
714
|
*/
|
|
709
715
|
static loadMaskTexture(e) {
|
|
710
716
|
return S(this, null, function* () {
|
|
711
|
-
const s =
|
|
717
|
+
const s = l.getMaskCacheKey(e), t = l.maskTextureCache.get(s);
|
|
712
718
|
if (t)
|
|
713
719
|
return t.refCount++, t.texture;
|
|
714
720
|
const o = performance.now(), i = new AbortController();
|
|
@@ -736,13 +742,13 @@ const h = class extends D {
|
|
|
736
742
|
});
|
|
737
743
|
} else
|
|
738
744
|
r = new g.CanvasTexture(e), r.needsUpdate = !0, console.log("[MaskTag] Created texture from canvas, size:", e.width, "x", e.height);
|
|
739
|
-
r.wrapS = g.ClampToEdgeWrapping, r.wrapT = g.ClampToEdgeWrapping, r.minFilter = g.
|
|
745
|
+
r.wrapS = g.ClampToEdgeWrapping, r.wrapT = g.ClampToEdgeWrapping, r.minFilter = g.NearestFilter, r.magFilter = g.NearestFilter, r.anisotropy = 4, r instanceof g.CanvasTexture && (r.needsUpdate = !0), l.maskTextureCache.set(s, {
|
|
740
746
|
texture: r,
|
|
741
747
|
refCount: 1,
|
|
742
748
|
abortController: i
|
|
743
749
|
});
|
|
744
|
-
const
|
|
745
|
-
if (console.log(`[MaskTag Performance] Texture loaded in ${
|
|
750
|
+
const h = performance.now() - o, n = typeof e == "string" ? e.substring(0, 50) : "Canvas";
|
|
751
|
+
if (console.log(`[MaskTag Performance] Texture loaded in ${h.toFixed(2)}ms, source: ${n}`), r.image) {
|
|
746
752
|
const a = (r.image.width * r.image.height * 4 / 1048576).toFixed(2);
|
|
747
753
|
console.log(`[MaskTag Memory] Texture size: ${r.image.width}x${r.image.height}, estimated memory: ${a}MB`);
|
|
748
754
|
}
|
|
@@ -758,10 +764,10 @@ const h = class extends D {
|
|
|
758
764
|
*/
|
|
759
765
|
static releaseMaskTexture(e) {
|
|
760
766
|
var o;
|
|
761
|
-
const s =
|
|
767
|
+
const s = l.getMaskCacheKey(e), t = l.maskTextureCache.get(s);
|
|
762
768
|
if (t && (t.refCount--, t.refCount <= 0)) {
|
|
763
769
|
const i = typeof e == "string" ? e.substring(0, 50) : "Canvas";
|
|
764
|
-
console.log(`[MaskTag Memory] Releasing texture (refCount=0): ${i}`), (o = t.abortController) == null || o.abort(), t.texture.dispose(),
|
|
770
|
+
console.log(`[MaskTag Memory] Releasing texture (refCount=0): ${i}`), (o = t.abortController) == null || o.abort(), t.texture.dispose(), l.maskTextureCache.delete(s);
|
|
765
771
|
}
|
|
766
772
|
}
|
|
767
773
|
/**
|
|
@@ -771,21 +777,21 @@ const h = class extends D {
|
|
|
771
777
|
static getCacheStats() {
|
|
772
778
|
let e = 0, s = 0;
|
|
773
779
|
const t = [];
|
|
774
|
-
return
|
|
780
|
+
return l.maskTextureCache.forEach((o, i) => {
|
|
775
781
|
e += o.refCount;
|
|
776
782
|
let r = 0;
|
|
777
783
|
if (o.texture.image) {
|
|
778
784
|
const n = o.texture.image.width || 0, a = o.texture.image.height || 0;
|
|
779
785
|
r = n * a * 4 / (1024 * 1024), s += r;
|
|
780
786
|
}
|
|
781
|
-
const
|
|
787
|
+
const h = typeof i == "string" ? i.substring(0, 80) : "[Canvas]";
|
|
782
788
|
t.push({
|
|
783
|
-
source:
|
|
789
|
+
source: h,
|
|
784
790
|
refCount: o.refCount,
|
|
785
791
|
sizeMB: parseFloat(r.toFixed(2))
|
|
786
792
|
});
|
|
787
793
|
}), {
|
|
788
|
-
totalCached:
|
|
794
|
+
totalCached: l.maskTextureCache.size,
|
|
789
795
|
totalRefCount: e,
|
|
790
796
|
estimatedMemoryMB: parseFloat(s.toFixed(2)),
|
|
791
797
|
cacheEntries: t
|
|
@@ -796,13 +802,13 @@ const h = class extends D {
|
|
|
796
802
|
* 注意:这会释放所有纹理,即使它们仍在使用中
|
|
797
803
|
*/
|
|
798
804
|
static clearAllCache() {
|
|
799
|
-
console.warn("[MaskTag] Clearing all texture cache"),
|
|
805
|
+
console.warn("[MaskTag] Clearing all texture cache"), l.maskTextureCache.forEach((e) => {
|
|
800
806
|
var s;
|
|
801
807
|
(s = e.abortController) == null || s.abort(), e.texture.dispose();
|
|
802
|
-
}),
|
|
808
|
+
}), l.maskTextureCache.clear();
|
|
803
809
|
}
|
|
804
810
|
};
|
|
805
|
-
let b =
|
|
811
|
+
let b = l;
|
|
806
812
|
/**
|
|
807
813
|
* Mask 纹理缓存(静态,所有 MaskTag 实例共享)
|
|
808
814
|
* key: mask URL 或 canvas 的 symbol, value: { texture: THREE.Texture, refCount: number, abortController?: AbortController }
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const maskVertexShader = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n";
|
|
9
9
|
/** 多 style:mergedTexture 中每组 3 像素为 color(id)/tolerance+highlight/opacity,用 color 作 id 匹配 */
|
|
10
|
-
export declare const maskFragmentShaderMulti = "\n#define
|
|
10
|
+
export declare const maskFragmentShaderMulti = "\n#define MAX_GROUPS 64\n#define STRICT_MATCH 0.5/255.0\n\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform sampler2D mergedTexture;\nuniform float groupCount;\nuniform float textureWidth;\nuniform float pixelsPerGroup;\nuniform vec2 maskTexelSize;\n\nfloat colorGap(vec3 a, vec3 b) {\n return abs(a.r - b.r) + abs(a.g - b.g) + abs(a.b - b.b);\n}\n\nfloat exactMatch(vec3 sampleColor, vec3 targetColor) {\n return colorGap(sampleColor, targetColor) <= STRICT_MATCH ? 1.0 : 0.0;\n}\n\nvec4 readStyleColor(float groupIndex) {\n float px = groupIndex * pixelsPerGroup;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5));\n}\n\nvec4 readStyleToleranceHighlight(float groupIndex) {\n float px = groupIndex * pixelsPerGroup + 1.0;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5));\n}\n\nfloat readStyleOpacity(float groupIndex) {\n float px = groupIndex * pixelsPerGroup + 2.0;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5)).r;\n}\n\nvoid main() {\n vec4 center = texture2D(map, vUv);\n vec2 quarterTexel = maskTexelSize * 0.25;\n vec3 sample0 = texture2D(map, vUv + quarterTexel * vec2(-1.0, -1.0)).rgb;\n vec3 sample1 = texture2D(map, vUv + quarterTexel * vec2(1.0, -1.0)).rgb;\n vec3 sample2 = texture2D(map, vUv + quarterTexel * vec2(-1.0, 1.0)).rgb;\n vec3 sample3 = texture2D(map, vUv + quarterTexel * vec2(1.0, 1.0)).rgb;\n\n float bestCoverage = 0.0;\n float bestScore = -1.0;\n float bestOpacity = 0.0;\n vec3 bestHighlight = vec3(0.0);\n\n // WebGL 1.0 \u8981\u6C42\u5FAA\u73AF\u7EC8\u6B62\u6761\u4EF6\u5FC5\u987B\u662F\u7F16\u8BD1\u65F6\u5E38\u91CF\uFF0C\u6240\u4EE5\u7528 MAX_GROUPS\uFF0C\u5FAA\u73AF\u5185\u68C0\u67E5 groupCount\n for (float i = 0.0; i < float(MAX_GROUPS); i += 1.0) {\n if (i < groupCount) {\n vec3 colorRgb = readStyleColor(i).rgb;\n vec3 highlight = readStyleToleranceHighlight(i).gba;\n float opacity = readStyleOpacity(i);\n\n if (opacity > 0.0) {\n float coverage = 0.25 * (\n exactMatch(sample0, colorRgb) +\n exactMatch(sample1, colorRgb) +\n exactMatch(sample2, colorRgb) +\n exactMatch(sample3, colorRgb)\n );\n // coverage \u76F8\u540C\u65F6\u4F18\u5148\u9009\u62E9\u4E2D\u5FC3\u50CF\u7D20\u6240\u5C5E\u6807\u7B7E\uFF0C\u907F\u514D\u76F8\u90BB\u6807\u7B7E\u8FB9\u754C\u968F\u6CE8\u518C\u987A\u5E8F\u95EA\u70C1\u3002\n float score = coverage + exactMatch(center.rgb, colorRgb) * 0.001;\n if (coverage > 0.0 && score > bestScore) {\n bestCoverage = coverage;\n bestScore = score;\n bestOpacity = opacity;\n bestHighlight = highlight;\n }\n }\n }\n }\n\n if (bestCoverage > 0.0) {\n gl_FragColor = vec4(bestHighlight, bestOpacity * bestCoverage);\n return;\n }\n discard;\n}\n";
|