@mlightcad/cad-simple-viewer 1.6.3 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +185 -180
- package/dist/cad-simple-viewer.js +34895 -23320
- package/dist/cad-simple-viewer.umd.cjs +2570 -372
- package/dist/mtext-renderer-worker.js +15359 -15067
- package/icons.ts +7 -7
- package/lib/app/AcApBrand.d.ts +2 -2
- package/lib/app/AcApBrand.d.ts.map +1 -1
- package/lib/app/AcApBrand.js +2 -2
- package/lib/app/AcApBrand.js.map +1 -1
- package/lib/app/AcApContext.d.ts.map +1 -1
- package/lib/app/AcApContext.js +4 -3
- package/lib/app/AcApContext.js.map +1 -1
- package/lib/app/AcApDocManager.d.ts +107 -25
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +209 -93
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/app/AcApDocsUrl.d.ts +57 -0
- package/lib/app/AcApDocsUrl.d.ts.map +1 -0
- package/lib/app/AcApDocsUrl.js +76 -0
- package/lib/app/AcApDocsUrl.js.map +1 -0
- package/lib/app/AcApDocument.d.ts +1 -1
- package/lib/app/AcApDocument.d.ts.map +1 -1
- package/lib/app/AcApDocument.js.map +1 -1
- package/lib/app/AcApFontLoader.d.ts +6 -0
- package/lib/app/AcApFontLoader.d.ts.map +1 -1
- package/lib/app/AcApFontLoader.js +11 -0
- package/lib/app/AcApFontLoader.js.map +1 -1
- package/lib/app/AcApOpenDatabaseOptions.d.ts +106 -0
- package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -0
- package/lib/app/{AcDbOpenDatabaseOptions.js → AcApOpenDatabaseOptions.js} +2 -2
- package/lib/app/AcApOpenDatabaseOptions.js.map +1 -0
- package/lib/app/AcApOpenFileDialog.d.ts +1 -1
- package/lib/app/AcApOpenFileProgressController.d.ts +4 -2
- package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
- package/lib/app/AcApOpenFileProgressController.js +4 -2
- package/lib/app/AcApOpenFileProgressController.js.map +1 -1
- package/lib/app/AcApSettingManager.d.ts +156 -43
- package/lib/app/AcApSettingManager.d.ts.map +1 -1
- package/lib/app/AcApSettingManager.js +216 -66
- package/lib/app/AcApSettingManager.js.map +1 -1
- package/lib/app/index.d.ts +4 -2
- package/lib/app/index.d.ts.map +1 -1
- package/lib/app/index.js +3 -1
- package/lib/app/index.js.map +1 -1
- package/lib/app/notification/AcApNotificationEventBridge.d.ts +130 -0
- package/lib/app/notification/AcApNotificationEventBridge.d.ts.map +1 -0
- package/lib/app/notification/AcApNotificationEventBridge.js +309 -0
- package/lib/app/notification/AcApNotificationEventBridge.js.map +1 -0
- package/lib/app/notification/AcApNotificationService.d.ts +185 -0
- package/lib/app/notification/AcApNotificationService.d.ts.map +1 -0
- package/lib/app/notification/AcApNotificationService.js +271 -0
- package/lib/app/notification/AcApNotificationService.js.map +1 -0
- package/lib/app/notification/AcApNotificationStore.d.ts +147 -0
- package/lib/app/notification/AcApNotificationStore.d.ts.map +1 -0
- package/lib/app/notification/AcApNotificationStore.js +345 -0
- package/lib/app/notification/AcApNotificationStore.js.map +1 -0
- package/lib/app/notification/AcApNotificationTypes.d.ts +195 -0
- package/lib/app/notification/AcApNotificationTypes.d.ts.map +1 -0
- package/lib/app/notification/AcApNotificationTypes.js +78 -0
- package/lib/app/notification/AcApNotificationTypes.js.map +1 -0
- package/lib/app/notification/index.d.ts +13 -0
- package/lib/app/notification/index.d.ts.map +1 -0
- package/lib/app/notification/index.js +13 -0
- package/lib/app/notification/index.js.map +1 -0
- package/lib/command/AcApDrawOverlayInput.d.ts +6 -0
- package/lib/command/AcApDrawOverlayInput.d.ts.map +1 -0
- package/lib/command/AcApDrawOverlayInput.js +64 -0
- package/lib/command/AcApDrawOverlayInput.js.map +1 -0
- package/lib/command/AcApDrawStyleDrawCmd.d.ts +9 -0
- package/lib/command/AcApDrawStyleDrawCmd.d.ts.map +1 -0
- package/lib/command/AcApDrawStyleDrawCmd.js +32 -0
- package/lib/command/AcApDrawStyleDrawCmd.js.map +1 -0
- package/lib/command/AcApDrawStyleSession.d.ts +20 -0
- package/lib/command/AcApDrawStyleSession.d.ts.map +1 -0
- package/lib/command/AcApDrawStyleSession.js +2 -0
- package/lib/command/AcApDrawStyleSession.js.map +1 -0
- package/lib/command/AcApInstallDrawStyleSessionAccessory.d.ts +28 -0
- package/lib/command/AcApInstallDrawStyleSessionAccessory.d.ts.map +1 -0
- package/lib/command/AcApInstallDrawStyleSessionAccessory.js +178 -0
- package/lib/command/AcApInstallDrawStyleSessionAccessory.js.map +1 -0
- package/lib/command/AcApReadingModeCmd.d.ts +17 -0
- package/lib/command/AcApReadingModeCmd.d.ts.map +1 -0
- package/lib/command/AcApReadingModeCmd.js +82 -0
- package/lib/command/AcApReadingModeCmd.js.map +1 -0
- package/lib/command/AcApShortCutSelectionAccessory.d.ts +14 -0
- package/lib/command/AcApShortCutSelectionAccessory.d.ts.map +1 -0
- package/lib/command/AcApShortCutSelectionAccessory.js +266 -0
- package/lib/command/AcApShortCutSelectionAccessory.js.map +1 -0
- package/lib/command/AcApShortCutToolbarDocBind.d.ts +20 -0
- package/lib/command/AcApShortCutToolbarDocBind.d.ts.map +1 -0
- package/lib/command/AcApShortCutToolbarDocBind.js +155 -0
- package/lib/command/AcApShortCutToolbarDocBind.js.map +1 -0
- package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -1
- package/lib/command/AcApSwitchBgCmd.js +7 -2
- package/lib/command/AcApSwitchBgCmd.js.map +1 -1
- package/lib/command/AcApToolbarDocBind.d.ts +19 -0
- package/lib/command/AcApToolbarDocBind.d.ts.map +1 -0
- package/lib/command/AcApToolbarDocBind.js +62 -0
- package/lib/command/AcApToolbarDocBind.js.map +1 -0
- package/lib/command/AcApZoomCmd.d.ts +39 -1
- package/lib/command/AcApZoomCmd.d.ts.map +1 -1
- package/lib/command/AcApZoomCmd.js +70 -6
- package/lib/command/AcApZoomCmd.js.map +1 -1
- package/lib/command/convert/AcApConvertToBmpCmd.d.ts +14 -0
- package/lib/command/convert/AcApConvertToBmpCmd.d.ts.map +1 -0
- package/lib/command/convert/AcApConvertToBmpCmd.js +34 -0
- package/lib/command/convert/AcApConvertToBmpCmd.js.map +1 -0
- package/lib/command/convert/AcApConvertToJpgCmd.d.ts +14 -0
- package/lib/command/convert/AcApConvertToJpgCmd.d.ts.map +1 -0
- package/lib/command/convert/AcApConvertToJpgCmd.js +34 -0
- package/lib/command/convert/AcApConvertToJpgCmd.js.map +1 -0
- package/lib/command/convert/AcApConvertToPngCmd.d.ts +4 -36
- package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -1
- package/lib/command/convert/AcApConvertToPngCmd.js +4 -138
- package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -1
- package/lib/command/convert/AcApConvertToRasterImageCmd.d.ts +40 -0
- package/lib/command/convert/AcApConvertToRasterImageCmd.d.ts.map +1 -0
- package/lib/command/convert/AcApConvertToRasterImageCmd.js +161 -0
- package/lib/command/convert/AcApConvertToRasterImageCmd.js.map +1 -0
- package/lib/command/convert/{AcApPngConvertor.d.ts → AcApRasterImageConvertor.d.ts} +36 -12
- package/lib/command/convert/AcApRasterImageConvertor.d.ts.map +1 -0
- package/lib/command/convert/{AcApPngConvertor.js → AcApRasterImageConvertor.js} +163 -32
- package/lib/command/convert/AcApRasterImageConvertor.js.map +1 -0
- package/lib/command/convert/index.d.ts +4 -1
- package/lib/command/convert/index.d.ts.map +1 -1
- package/lib/command/convert/index.js +4 -1
- package/lib/command/convert/index.js.map +1 -1
- package/lib/command/draw/AcApHatchCmd.js +1 -1
- package/lib/command/draw/AcApHatchCmd.js.map +1 -1
- package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -1
- package/lib/command/draw/AcApMTextCmd.js +11 -7
- package/lib/command/draw/AcApMTextCmd.js.map +1 -1
- package/lib/command/index.d.ts +5 -0
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +5 -0
- package/lib/command/index.js.map +1 -1
- package/lib/command/markup/AcApMarkupArrowCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupArrowCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupArrowCmd.js +8 -9
- package/lib/command/markup/AcApMarkupArrowCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupCalloutCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupCalloutCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupCalloutCmd.js +69 -13
- package/lib/command/markup/AcApMarkupCalloutCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupCircleCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupCircleCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupCircleCmd.js +8 -9
- package/lib/command/markup/AcApMarkupCircleCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupCloudCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupCloudCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupCloudCmd.js +8 -9
- package/lib/command/markup/AcApMarkupCloudCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupCmdUtil.d.ts +12 -1
- package/lib/command/markup/AcApMarkupCmdUtil.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupCmdUtil.js +37 -9
- package/lib/command/markup/AcApMarkupCmdUtil.js.map +1 -1
- package/lib/command/markup/AcApMarkupDrawCmd.d.ts +19 -0
- package/lib/command/markup/AcApMarkupDrawCmd.d.ts.map +1 -0
- package/lib/command/markup/AcApMarkupDrawCmd.js +47 -0
- package/lib/command/markup/AcApMarkupDrawCmd.js.map +1 -0
- package/lib/command/markup/AcApMarkupGeometry.d.ts +19 -2
- package/lib/command/markup/AcApMarkupGeometry.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupGeometry.js +43 -2
- package/lib/command/markup/AcApMarkupGeometry.js.map +1 -1
- package/lib/command/markup/AcApMarkupHighlightCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupHighlightCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupHighlightCmd.js +9 -10
- package/lib/command/markup/AcApMarkupHighlightCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupLineCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupLineCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupLineCmd.js +18 -11
- package/lib/command/markup/AcApMarkupLineCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupPresenter.d.ts +16 -2
- package/lib/command/markup/AcApMarkupPresenter.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupPresenter.js +66 -14
- package/lib/command/markup/AcApMarkupPresenter.js.map +1 -1
- package/lib/command/markup/AcApMarkupRectCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupRectCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupRectCmd.js +8 -9
- package/lib/command/markup/AcApMarkupRectCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupShapeBuilder.d.ts +7 -4
- package/lib/command/markup/AcApMarkupShapeBuilder.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupShapeBuilder.js +24 -11
- package/lib/command/markup/AcApMarkupShapeBuilder.js.map +1 -1
- package/lib/command/markup/AcApMarkupShapeCallout.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupShapeCallout.js +61 -4
- package/lib/command/markup/AcApMarkupShapeCallout.js.map +1 -1
- package/lib/command/markup/AcApMarkupSidecar.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupSidecar.js +39 -5
- package/lib/command/markup/AcApMarkupSidecar.js.map +1 -1
- package/lib/command/markup/AcApMarkupStampCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupStampCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupStampCmd.js +6 -7
- package/lib/command/markup/AcApMarkupStampCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupTextCmd.d.ts +2 -3
- package/lib/command/markup/AcApMarkupTextCmd.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupTextCmd.js +13 -9
- package/lib/command/markup/AcApMarkupTextCmd.js.map +1 -1
- package/lib/command/markup/AcApMarkupTypes.d.ts +18 -2
- package/lib/command/markup/AcApMarkupTypes.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupUtil.d.ts +36 -7
- package/lib/command/markup/AcApMarkupUtil.d.ts.map +1 -1
- package/lib/command/markup/AcApMarkupUtil.js +149 -34
- package/lib/command/markup/AcApMarkupUtil.js.map +1 -1
- package/lib/command/markup/AcApRegisterMarkupCommands.d.ts +8 -0
- package/lib/command/markup/AcApRegisterMarkupCommands.d.ts.map +1 -0
- package/lib/command/markup/AcApRegisterMarkupCommands.js +35 -0
- package/lib/command/markup/AcApRegisterMarkupCommands.js.map +1 -0
- package/lib/command/markup/entity/AcApMarkupCalloutEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupCalloutEntity.js +16 -15
- package/lib/command/markup/entity/AcApMarkupCalloutEntity.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupEntity.d.ts +5 -1
- package/lib/command/markup/entity/AcApMarkupEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupEntity.js +19 -5
- package/lib/command/markup/entity/AcApMarkupEntity.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupEntityGrips.d.ts +8 -3
- package/lib/command/markup/entity/AcApMarkupEntityGrips.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupEntityGrips.js +15 -7
- package/lib/command/markup/entity/AcApMarkupEntityGrips.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupHighlightEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupHighlightEntity.js +14 -12
- package/lib/command/markup/entity/AcApMarkupHighlightEntity.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupSegmentEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupSegmentEntity.js +8 -6
- package/lib/command/markup/entity/AcApMarkupSegmentEntity.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupShapeEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupShapeEntity.js +23 -21
- package/lib/command/markup/entity/AcApMarkupShapeEntity.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupStampEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupStampEntity.js +1 -0
- package/lib/command/markup/entity/AcApMarkupStampEntity.js.map +1 -1
- package/lib/command/markup/entity/AcApMarkupTextEntity.d.ts.map +1 -1
- package/lib/command/markup/entity/AcApMarkupTextEntity.js +1 -0
- package/lib/command/markup/entity/AcApMarkupTextEntity.js.map +1 -1
- package/lib/command/markup/index.d.ts +2 -0
- package/lib/command/markup/index.d.ts.map +1 -1
- package/lib/command/markup/index.js +2 -0
- package/lib/command/markup/index.js.map +1 -1
- package/lib/command/measure/AcApMeasureAngleArc.d.ts +27 -0
- package/lib/command/measure/AcApMeasureAngleArc.d.ts.map +1 -0
- package/lib/command/measure/AcApMeasureAngleArc.js +22 -0
- package/lib/command/measure/AcApMeasureAngleArc.js.map +1 -0
- package/lib/command/measure/AcApMeasureAngleCmd.d.ts +2 -3
- package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasureAngleCmd.js +46 -45
- package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -1
- package/lib/command/measure/AcApMeasureArcCmd.d.ts +2 -3
- package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasureArcCmd.js +71 -67
- package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -1
- package/lib/command/measure/AcApMeasureAreaCmd.d.ts +2 -3
- package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasureAreaCmd.js +102 -99
- package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -1
- package/lib/command/measure/AcApMeasureContinuousCmd.d.ts +44 -0
- package/lib/command/measure/AcApMeasureContinuousCmd.d.ts.map +1 -0
- package/lib/command/measure/AcApMeasureContinuousCmd.js +317 -0
- package/lib/command/measure/AcApMeasureContinuousCmd.js.map +1 -0
- package/lib/command/measure/AcApMeasureDistanceCmd.d.ts +3 -3
- package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasureDistanceCmd.js +41 -37
- package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -1
- package/lib/command/measure/AcApMeasureDrawCmd.d.ts +32 -0
- package/lib/command/measure/AcApMeasureDrawCmd.d.ts.map +1 -0
- package/lib/command/measure/AcApMeasureDrawCmd.js +56 -0
- package/lib/command/measure/AcApMeasureDrawCmd.js.map +1 -0
- package/lib/command/measure/AcApMeasurePointCmd.d.ts +2 -3
- package/lib/command/measure/AcApMeasurePointCmd.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasurePointCmd.js +20 -23
- package/lib/command/measure/AcApMeasurePointCmd.js.map +1 -1
- package/lib/command/measure/AcApMeasurementGeometry.d.ts +19 -0
- package/lib/command/measure/AcApMeasurementGeometry.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasurementGeometry.js +53 -3
- package/lib/command/measure/AcApMeasurementGeometry.js.map +1 -1
- package/lib/command/measure/AcApMeasurementHistory.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasurementHistory.js +3 -1
- package/lib/command/measure/AcApMeasurementHistory.js.map +1 -1
- package/lib/command/measure/AcApMeasurementPlace.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasurementPlace.js +22 -5
- package/lib/command/measure/AcApMeasurementPlace.js.map +1 -1
- package/lib/command/measure/AcApMeasurementRepublish.d.ts +35 -0
- package/lib/command/measure/AcApMeasurementRepublish.d.ts.map +1 -0
- package/lib/command/measure/AcApMeasurementRepublish.js +31 -0
- package/lib/command/measure/AcApMeasurementRepublish.js.map +1 -0
- package/lib/command/measure/AcApMeasurementSidecar.d.ts +2 -1
- package/lib/command/measure/AcApMeasurementSidecar.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasurementSidecar.js +55 -10
- package/lib/command/measure/AcApMeasurementSidecar.js.map +1 -1
- package/lib/command/measure/AcApMeasurementStore.d.ts +45 -2
- package/lib/command/measure/AcApMeasurementStore.d.ts.map +1 -1
- package/lib/command/measure/AcApMeasurementStore.js +277 -33
- package/lib/command/measure/AcApMeasurementStore.js.map +1 -1
- package/lib/command/measure/AcApMeasurementTypes.d.ts +17 -1
- package/lib/command/measure/AcApMeasurementTypes.d.ts.map +1 -1
- package/lib/command/measure/AcApRegisterMeasureCommands.d.ts +8 -0
- package/lib/command/measure/AcApRegisterMeasureCommands.d.ts.map +1 -0
- package/lib/command/measure/AcApRegisterMeasureCommands.js +29 -0
- package/lib/command/measure/AcApRegisterMeasureCommands.js.map +1 -0
- package/lib/command/measure/entity/AcApMeasureAngleEntity.d.ts +3 -5
- package/lib/command/measure/entity/AcApMeasureAngleEntity.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureAngleEntity.js +165 -56
- package/lib/command/measure/entity/AcApMeasureAngleEntity.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureArcEntity.d.ts +5 -8
- package/lib/command/measure/entity/AcApMeasureArcEntity.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureArcEntity.js +251 -53
- package/lib/command/measure/entity/AcApMeasureArcEntity.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureAreaEntity.d.ts +4 -3
- package/lib/command/measure/entity/AcApMeasureAreaEntity.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureAreaEntity.js +154 -28
- package/lib/command/measure/entity/AcApMeasureAreaEntity.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureDistanceEntity.d.ts +5 -3
- package/lib/command/measure/entity/AcApMeasureDistanceEntity.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureDistanceEntity.js +180 -28
- package/lib/command/measure/entity/AcApMeasureDistanceEntity.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureDrawUtil.d.ts +20 -8
- package/lib/command/measure/entity/AcApMeasureDrawUtil.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureDrawUtil.js +45 -19
- package/lib/command/measure/entity/AcApMeasureDrawUtil.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureEntity.d.ts +41 -6
- package/lib/command/measure/entity/AcApMeasureEntity.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureEntity.js +48 -2
- package/lib/command/measure/entity/AcApMeasureEntity.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureEntityFactory.d.ts +2 -2
- package/lib/command/measure/entity/AcApMeasureEntityFactory.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasureEntityFactory.js +10 -3
- package/lib/command/measure/entity/AcApMeasureEntityFactory.js.map +1 -1
- package/lib/command/measure/entity/AcApMeasureEntityGrips.d.ts +33 -0
- package/lib/command/measure/entity/AcApMeasureEntityGrips.d.ts.map +1 -0
- package/lib/command/measure/entity/AcApMeasureEntityGrips.js +49 -0
- package/lib/command/measure/entity/AcApMeasureEntityGrips.js.map +1 -0
- package/lib/command/measure/entity/AcApMeasurePointEntity.d.ts +3 -2
- package/lib/command/measure/entity/AcApMeasurePointEntity.d.ts.map +1 -1
- package/lib/command/measure/entity/AcApMeasurePointEntity.js +130 -16
- package/lib/command/measure/entity/AcApMeasurePointEntity.js.map +1 -1
- package/lib/command/measure/entity/index.d.ts +1 -0
- package/lib/command/measure/entity/index.d.ts.map +1 -1
- package/lib/command/measure/entity/index.js +1 -0
- package/lib/command/measure/entity/index.js.map +1 -1
- package/lib/command/measure/index.d.ts +4 -0
- package/lib/command/measure/index.d.ts.map +1 -1
- package/lib/command/measure/index.js +4 -0
- package/lib/command/measure/index.js.map +1 -1
- package/lib/command/overlay/AcApHtmlLivePreview.d.ts +16 -4
- package/lib/command/overlay/AcApHtmlLivePreview.d.ts.map +1 -1
- package/lib/command/overlay/AcApHtmlLivePreview.js +42 -12
- package/lib/command/overlay/AcApHtmlLivePreview.js.map +1 -1
- package/lib/command/overlay/AcApOverlayDrawUtil.d.ts +113 -3
- package/lib/command/overlay/AcApOverlayDrawUtil.d.ts.map +1 -1
- package/lib/command/overlay/AcApOverlayDrawUtil.js +341 -7
- package/lib/command/overlay/AcApOverlayDrawUtil.js.map +1 -1
- package/lib/command/overlay/AcApOverlayGripHost.d.ts +19 -0
- package/lib/command/overlay/AcApOverlayGripHost.d.ts.map +1 -1
- package/lib/command/overlay/AcApOverlayGripHost.js +124 -6
- package/lib/command/overlay/AcApOverlayGripHost.js.map +1 -1
- package/lib/editor/command/AcEdCommand.d.ts +17 -0
- package/lib/editor/command/AcEdCommand.d.ts.map +1 -1
- package/lib/editor/command/AcEdCommand.js +81 -1
- package/lib/editor/command/AcEdCommand.js.map +1 -1
- package/lib/editor/command/AcEdCommandStack.d.ts +14 -3
- package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
- package/lib/editor/command/AcEdCommandStack.js +39 -3
- package/lib/editor/command/AcEdCommandStack.js.map +1 -1
- package/lib/editor/command/AcEdSessionAccessory.d.ts +82 -0
- package/lib/editor/command/AcEdSessionAccessory.d.ts.map +1 -0
- package/lib/editor/command/AcEdSessionAccessory.js +15 -0
- package/lib/editor/command/AcEdSessionAccessory.js.map +1 -0
- package/lib/editor/command/AcEdSessionProviderRegistry.d.ts +42 -0
- package/lib/editor/command/AcEdSessionProviderRegistry.d.ts.map +1 -0
- package/lib/editor/command/AcEdSessionProviderRegistry.js +54 -0
- package/lib/editor/command/AcEdSessionProviderRegistry.js.map +1 -0
- package/lib/editor/command/index.d.ts +4 -0
- package/lib/editor/command/index.d.ts.map +1 -1
- package/lib/editor/command/index.js +3 -0
- package/lib/editor/command/index.js.map +1 -1
- package/lib/editor/global/AcEdUiColor.d.ts +10 -0
- package/lib/editor/global/AcEdUiColor.d.ts.map +1 -1
- package/lib/editor/global/AcEdUiColor.js +14 -0
- package/lib/editor/global/AcEdUiColor.js.map +1 -1
- package/lib/editor/global/AcEdUiLayout.d.ts +108 -0
- package/lib/editor/global/AcEdUiLayout.d.ts.map +1 -1
- package/lib/editor/global/AcEdUiLayout.js +143 -0
- package/lib/editor/global/AcEdUiLayout.js.map +1 -1
- package/lib/editor/global/AcEdUiTheme.d.ts +15 -3
- package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
- package/lib/editor/global/AcEdUiTheme.js +113 -6
- package/lib/editor/global/AcEdUiTheme.js.map +1 -1
- package/lib/editor/grip/AcEdGripAppearance.d.ts +18 -0
- package/lib/editor/grip/AcEdGripAppearance.d.ts.map +1 -1
- package/lib/editor/grip/AcEdGripAppearance.js +23 -1
- package/lib/editor/grip/AcEdGripAppearance.js.map +1 -1
- package/lib/editor/grip/AcEdGripEditSession.js +2 -2
- package/lib/editor/grip/AcEdGripEditSession.js.map +1 -1
- package/lib/editor/grip/AcEdGripHandle.d.ts +1 -2
- package/lib/editor/grip/AcEdGripHandle.d.ts.map +1 -1
- package/lib/editor/grip/AcEdGripHandle.js +4 -13
- package/lib/editor/grip/AcEdGripHandle.js.map +1 -1
- package/lib/editor/grip/AcEdGripManager.d.ts +3 -1
- package/lib/editor/grip/AcEdGripManager.d.ts.map +1 -1
- package/lib/editor/grip/AcEdGripManager.js +30 -14
- package/lib/editor/grip/AcEdGripManager.js.map +1 -1
- package/lib/editor/grip/index.d.ts +1 -0
- package/lib/editor/grip/index.d.ts.map +1 -1
- package/lib/editor/grip/index.js +1 -0
- package/lib/editor/grip/index.js.map +1 -1
- package/lib/editor/input/AcEdDynamicInput.d.ts +15 -0
- package/lib/editor/input/AcEdDynamicInput.d.ts.map +1 -0
- package/lib/editor/input/AcEdDynamicInput.js +22 -0
- package/lib/editor/input/AcEdDynamicInput.js.map +1 -0
- package/lib/editor/input/AcEdOsnapCenterMarks.d.ts +19 -1
- package/lib/editor/input/AcEdOsnapCenterMarks.d.ts.map +1 -1
- package/lib/editor/input/AcEdOsnapCenterMarks.js +53 -9
- package/lib/editor/input/AcEdOsnapCenterMarks.js.map +1 -1
- package/lib/editor/input/AcEdOsnapResolver.d.ts.map +1 -1
- package/lib/editor/input/AcEdOsnapResolver.js +216 -35
- package/lib/editor/input/AcEdOsnapResolver.js.map +1 -1
- package/lib/editor/input/AcEditor.d.ts +14 -1
- package/lib/editor/input/AcEditor.d.ts.map +1 -1
- package/lib/editor/input/AcEditor.js +18 -2
- package/lib/editor/input/AcEditor.js.map +1 -1
- package/lib/editor/input/index.d.ts +1 -0
- package/lib/editor/input/index.d.ts.map +1 -1
- package/lib/editor/input/index.js +1 -0
- package/lib/editor/input/index.js.map +1 -1
- package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts +12 -0
- package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts.map +1 -1
- package/lib/editor/input/marker/AcEdOSnapMarkerManager.js +53 -18
- package/lib/editor/input/marker/AcEdOSnapMarkerManager.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +15 -0
- package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptPointOptions.js +24 -0
- package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
- package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.d.ts +31 -0
- package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.js +67 -0
- package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.js.map +1 -0
- package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.d.ts +33 -0
- package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.js +85 -0
- package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.js.map +1 -0
- package/lib/editor/input/ui/AcEdEntityPickCancelChrome.d.ts +57 -0
- package/lib/editor/input/ui/AcEdEntityPickCancelChrome.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdEntityPickCancelChrome.js +104 -0
- package/lib/editor/input/ui/AcEdEntityPickCancelChrome.js.map +1 -0
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts +146 -0
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.js +423 -13
- package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +8 -1
- package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingMessage.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingMessage.js +2 -2
- package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.d.ts +100 -7
- package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.js +846 -165
- package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
- package/lib/editor/input/ui/AcEdInteractionStrategy.d.ts +94 -0
- package/lib/editor/input/ui/AcEdInteractionStrategy.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdInteractionStrategy.js +60 -0
- package/lib/editor/input/ui/AcEdInteractionStrategy.js.map +1 -0
- package/lib/editor/input/ui/AcEdMobileBoxGesture.d.ts +52 -0
- package/lib/editor/input/ui/AcEdMobileBoxGesture.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdMobileBoxGesture.js +203 -0
- package/lib/editor/input/ui/AcEdMobileBoxGesture.js.map +1 -0
- package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts +103 -0
- package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdMobileCommandChrome.js +157 -0
- package/lib/editor/input/ui/AcEdMobileCommandChrome.js.map +1 -0
- package/lib/editor/input/ui/AcEdMobileSessionMetrics.d.ts +29 -0
- package/lib/editor/input/ui/AcEdMobileSessionMetrics.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdMobileSessionMetrics.js +37 -0
- package/lib/editor/input/ui/AcEdMobileSessionMetrics.js.map +1 -0
- package/lib/editor/input/ui/AcEdMobileSnapLoupe.d.ts +45 -0
- package/lib/editor/input/ui/AcEdMobileSnapLoupe.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdMobileSnapLoupe.js +63 -0
- package/lib/editor/input/ui/AcEdMobileSnapLoupe.js.map +1 -0
- package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts +121 -0
- package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdSessionAccessoryController.js +306 -0
- package/lib/editor/input/ui/AcEdSessionAccessoryController.js.map +1 -0
- package/lib/editor/input/ui/AcEdSimulatedMouseCursor.d.ts +28 -0
- package/lib/editor/input/ui/AcEdSimulatedMouseCursor.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdSimulatedMouseCursor.js +86 -0
- package/lib/editor/input/ui/AcEdSimulatedMouseCursor.js.map +1 -0
- package/lib/editor/input/ui/AcEdSnapLoupe.d.ts +60 -0
- package/lib/editor/input/ui/AcEdSnapLoupe.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdSnapLoupe.js +109 -0
- package/lib/editor/input/ui/AcEdSnapLoupe.js.map +1 -0
- package/lib/editor/input/ui/AcEdSnapLoupeMath.d.ts +47 -0
- package/lib/editor/input/ui/AcEdSnapLoupeMath.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdSnapLoupeMath.js +50 -0
- package/lib/editor/input/ui/AcEdSnapLoupeMath.js.map +1 -0
- package/lib/editor/input/ui/AcEdTouchPickStrategy.d.ts +97 -0
- package/lib/editor/input/ui/AcEdTouchPickStrategy.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdTouchPickStrategy.js +74 -0
- package/lib/editor/input/ui/AcEdTouchPickStrategy.js.map +1 -0
- package/lib/editor/input/ui/AcEdTouchPointSession.d.ts +198 -0
- package/lib/editor/input/ui/AcEdTouchPointSession.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdTouchPointSession.js +329 -0
- package/lib/editor/input/ui/AcEdTouchPointSession.js.map +1 -0
- package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts +18 -0
- package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts.map +1 -0
- package/lib/editor/input/ui/AcEdTouchPointTiming.js +18 -0
- package/lib/editor/input/ui/AcEdTouchPointTiming.js.map +1 -0
- package/lib/editor/input/ui/index.d.ts +14 -0
- package/lib/editor/input/ui/index.d.ts.map +1 -1
- package/lib/editor/input/ui/index.js +14 -0
- package/lib/editor/input/ui/index.js.map +1 -1
- package/lib/editor/view/AcEdBaseView.d.ts +144 -39
- package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
- package/lib/editor/view/AcEdBaseView.js +200 -49
- package/lib/editor/view/AcEdBaseView.js.map +1 -1
- package/lib/editor/view/AcEdSelectionBoxIntersect.d.ts +36 -0
- package/lib/editor/view/AcEdSelectionBoxIntersect.d.ts.map +1 -0
- package/lib/editor/view/AcEdSelectionBoxIntersect.js +113 -0
- package/lib/editor/view/AcEdSelectionBoxIntersect.js.map +1 -0
- package/lib/editor/view/AcEdViewMode.d.ts +34 -0
- package/lib/editor/view/AcEdViewMode.d.ts.map +1 -0
- package/lib/editor/view/AcEdViewMode.js +35 -0
- package/lib/editor/view/AcEdViewMode.js.map +1 -0
- package/lib/editor/view/index.d.ts +2 -0
- package/lib/editor/view/index.d.ts.map +1 -1
- package/lib/editor/view/index.js +2 -0
- package/lib/editor/view/index.js.map +1 -1
- package/lib/i18n/AcApI18n.d.ts +2 -1
- package/lib/i18n/AcApI18n.d.ts.map +1 -1
- package/lib/i18n/AcApI18n.js +5 -2
- package/lib/i18n/AcApI18n.js.map +1 -1
- package/lib/i18n/ar/command.d.ts +18 -0
- package/lib/i18n/ar/command.d.ts.map +1 -1
- package/lib/i18n/ar/command.js +1 -1
- package/lib/i18n/ar/command.js.map +1 -1
- package/lib/i18n/ar/jig.d.ts +67 -0
- package/lib/i18n/ar/jig.d.ts.map +1 -1
- package/lib/i18n/ar/jig.js +31 -3
- package/lib/i18n/ar/jig.js.map +1 -1
- package/lib/i18n/ar/main.d.ts +100 -1
- package/lib/i18n/ar/main.d.ts.map +1 -1
- package/lib/i18n/ar/main.js +101 -2
- package/lib/i18n/ar/main.js.map +1 -1
- package/lib/i18n/cs/command.d.ts +15 -0
- package/lib/i18n/cs/command.d.ts.map +1 -1
- package/lib/i18n/cs/command.js +15 -0
- package/lib/i18n/cs/command.js.map +1 -1
- package/lib/i18n/cs/jig.d.ts +67 -0
- package/lib/i18n/cs/jig.d.ts.map +1 -1
- package/lib/i18n/cs/jig.js +67 -0
- package/lib/i18n/cs/jig.js.map +1 -1
- package/lib/i18n/cs/main.d.ts +100 -1
- package/lib/i18n/cs/main.d.ts.map +1 -1
- package/lib/i18n/cs/main.js +101 -2
- package/lib/i18n/cs/main.js.map +1 -1
- package/lib/i18n/en/command.d.ts +18 -0
- package/lib/i18n/en/command.d.ts.map +1 -1
- package/lib/i18n/en/command.js +18 -0
- package/lib/i18n/en/command.js.map +1 -1
- package/lib/i18n/en/jig.d.ts +67 -0
- package/lib/i18n/en/jig.d.ts.map +1 -1
- package/lib/i18n/en/jig.js +67 -0
- package/lib/i18n/en/jig.js.map +1 -1
- package/lib/i18n/en/main.d.ts +100 -1
- package/lib/i18n/en/main.d.ts.map +1 -1
- package/lib/i18n/en/main.js +101 -2
- package/lib/i18n/en/main.js.map +1 -1
- package/lib/i18n/index.d.ts +2 -2
- package/lib/i18n/index.d.ts.map +1 -1
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/tr/command.d.ts +15 -0
- package/lib/i18n/tr/command.d.ts.map +1 -1
- package/lib/i18n/tr/command.js +15 -0
- package/lib/i18n/tr/command.js.map +1 -1
- package/lib/i18n/tr/jig.d.ts +67 -0
- package/lib/i18n/tr/jig.d.ts.map +1 -1
- package/lib/i18n/tr/jig.js +67 -0
- package/lib/i18n/tr/jig.js.map +1 -1
- package/lib/i18n/tr/main.d.ts +100 -1
- package/lib/i18n/tr/main.d.ts.map +1 -1
- package/lib/i18n/tr/main.js +101 -2
- package/lib/i18n/tr/main.js.map +1 -1
- package/lib/i18n/zh/command.d.ts +18 -0
- package/lib/i18n/zh/command.d.ts.map +1 -1
- package/lib/i18n/zh/command.js +18 -0
- package/lib/i18n/zh/command.js.map +1 -1
- package/lib/i18n/zh/jig.d.ts +67 -0
- package/lib/i18n/zh/jig.d.ts.map +1 -1
- package/lib/i18n/zh/jig.js +67 -0
- package/lib/i18n/zh/jig.js.map +1 -1
- package/lib/i18n/zh/main.d.ts +100 -1
- package/lib/i18n/zh/main.d.ts.map +1 -1
- package/lib/i18n/zh/main.js +102 -3
- package/lib/i18n/zh/main.js.map +1 -1
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +6 -0
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +10 -0
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
- package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts +4 -0
- package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts.map +1 -1
- package/lib/spatialIndex/AcTrLinearSpatialIndex.js +9 -0
- package/lib/spatialIndex/AcTrLinearSpatialIndex.js.map +1 -1
- package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts +4 -0
- package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts.map +1 -1
- package/lib/spatialIndex/AcTrRBushSpatialIndex.js +20 -4
- package/lib/spatialIndex/AcTrRBushSpatialIndex.js.map +1 -1
- package/lib/ui/AcUiAciColorDialog.d.ts +57 -0
- package/lib/ui/AcUiAciColorDialog.d.ts.map +1 -0
- package/lib/ui/AcUiAciColorDialog.js +91 -0
- package/lib/ui/AcUiAciColorDialog.js.map +1 -0
- package/lib/ui/AcUiAciPaletteUi.d.ts +118 -0
- package/lib/ui/AcUiAciPaletteUi.d.ts.map +1 -0
- package/lib/ui/AcUiAciPaletteUi.js +521 -0
- package/lib/ui/AcUiAciPaletteUi.js.map +1 -0
- package/lib/ui/AcUiDefaultNotificationUi.d.ts +167 -0
- package/lib/ui/AcUiDefaultNotificationUi.d.ts.map +1 -0
- package/lib/ui/AcUiDefaultNotificationUi.js +603 -0
- package/lib/ui/AcUiDefaultNotificationUi.js.map +1 -0
- package/lib/ui/AcUiDialog.d.ts +38 -2
- package/lib/ui/AcUiDialog.d.ts.map +1 -1
- package/lib/ui/AcUiDialog.js +45 -16
- package/lib/ui/AcUiDialog.js.map +1 -1
- package/lib/ui/AcUiDrawStyle.d.ts +60 -0
- package/lib/ui/AcUiDrawStyle.d.ts.map +1 -0
- package/lib/ui/AcUiDrawStyle.js +95 -0
- package/lib/ui/AcUiDrawStyle.js.map +1 -0
- package/lib/ui/AcUiDrawStyleSessionAccessory.d.ts +108 -0
- package/lib/ui/AcUiDrawStyleSessionAccessory.d.ts.map +1 -0
- package/lib/ui/AcUiDrawStyleSessionAccessory.js +459 -0
- package/lib/ui/AcUiDrawStyleSessionAccessory.js.map +1 -0
- package/lib/ui/AcUiFullscreenPanel.d.ts +89 -0
- package/lib/ui/AcUiFullscreenPanel.d.ts.map +1 -0
- package/lib/ui/AcUiFullscreenPanel.js +224 -0
- package/lib/ui/AcUiFullscreenPanel.js.map +1 -0
- package/lib/ui/AcUiHelpPanel.d.ts +49 -0
- package/lib/ui/AcUiHelpPanel.d.ts.map +1 -0
- package/lib/ui/AcUiHelpPanel.js +124 -0
- package/lib/ui/AcUiHelpPanel.js.map +1 -0
- package/lib/ui/AcUiMobileSessionPanel.d.ts +239 -0
- package/lib/ui/AcUiMobileSessionPanel.d.ts.map +1 -0
- package/lib/ui/AcUiMobileSessionPanel.js +822 -0
- package/lib/ui/AcUiMobileSessionPanel.js.map +1 -0
- package/lib/ui/AcUiShortCutToolbar.d.ts +160 -0
- package/lib/ui/AcUiShortCutToolbar.d.ts.map +1 -0
- package/lib/ui/AcUiShortCutToolbar.js +318 -0
- package/lib/ui/AcUiShortCutToolbar.js.map +1 -0
- package/lib/ui/AcUiSimpleToolbar.d.ts +110 -0
- package/lib/ui/AcUiSimpleToolbar.d.ts.map +1 -0
- package/lib/ui/AcUiSimpleToolbar.js +431 -0
- package/lib/ui/AcUiSimpleToolbar.js.map +1 -0
- package/lib/ui/AcUiTextHeightDialog.d.ts +85 -0
- package/lib/ui/AcUiTextHeightDialog.d.ts.map +1 -0
- package/lib/ui/AcUiTextHeightDialog.js +205 -0
- package/lib/ui/AcUiTextHeightDialog.js.map +1 -0
- package/lib/ui/AcUiTextHeightDialogHelpers.d.ts +54 -0
- package/lib/ui/AcUiTextHeightDialogHelpers.d.ts.map +1 -0
- package/lib/ui/AcUiTextHeightDialogHelpers.js +128 -0
- package/lib/ui/AcUiTextHeightDialogHelpers.js.map +1 -0
- package/lib/ui/AcUiTouchPointTutorialDialog.d.ts +18 -0
- package/lib/ui/AcUiTouchPointTutorialDialog.d.ts.map +1 -0
- package/lib/ui/AcUiTouchPointTutorialDialog.js +58 -0
- package/lib/ui/AcUiTouchPointTutorialDialog.js.map +1 -0
- package/lib/ui/icons.d.ts +54 -27
- package/lib/ui/icons.d.ts.map +1 -1
- package/lib/ui/icons.js +79 -25
- package/lib/ui/icons.js.map +1 -1
- package/lib/ui/index.d.ts +15 -2
- package/lib/ui/index.d.ts.map +1 -1
- package/lib/ui/index.js +15 -2
- package/lib/ui/index.js.map +1 -1
- package/lib/ui/toolbar/AcUiDropdownMenu.d.ts +48 -0
- package/lib/ui/toolbar/AcUiDropdownMenu.d.ts.map +1 -0
- package/lib/ui/toolbar/AcUiDropdownMenu.js +116 -0
- package/lib/ui/toolbar/AcUiDropdownMenu.js.map +1 -0
- package/lib/ui/toolbar/AcUiSubToolbar.d.ts +125 -0
- package/lib/ui/toolbar/AcUiSubToolbar.d.ts.map +1 -0
- package/lib/ui/toolbar/AcUiSubToolbar.js +625 -0
- package/lib/ui/toolbar/AcUiSubToolbar.js.map +1 -0
- package/lib/ui/toolbar/AcUiToolbar.d.ts +446 -0
- package/lib/ui/toolbar/AcUiToolbar.d.ts.map +1 -0
- package/lib/ui/toolbar/AcUiToolbar.js +1550 -0
- package/lib/ui/toolbar/AcUiToolbar.js.map +1 -0
- package/lib/ui/toolbar/AcUiToolbarStyles.d.ts +20 -0
- package/lib/ui/toolbar/AcUiToolbarStyles.d.ts.map +1 -0
- package/lib/ui/toolbar/AcUiToolbarStyles.js +34 -0
- package/lib/ui/toolbar/AcUiToolbarStyles.js.map +1 -0
- package/lib/ui/toolbar/acuiWrapPackLayout.d.ts +19 -0
- package/lib/ui/toolbar/acuiWrapPackLayout.d.ts.map +1 -0
- package/lib/ui/toolbar/acuiWrapPackLayout.js +36 -0
- package/lib/ui/toolbar/acuiWrapPackLayout.js.map +1 -0
- package/lib/ui/toolbar/index.d.ts +19 -0
- package/lib/ui/toolbar/index.d.ts.map +1 -0
- package/lib/ui/toolbar/index.js +15 -0
- package/lib/ui/toolbar/index.js.map +1 -0
- package/lib/ui/toolbar/resolveToolbarChrome.d.ts +14 -0
- package/lib/ui/toolbar/resolveToolbarChrome.d.ts.map +1 -0
- package/lib/ui/toolbar/resolveToolbarChrome.js +35 -0
- package/lib/ui/toolbar/resolveToolbarChrome.js.map +1 -0
- package/lib/ui/toolbar/resolveToolbarItemState.d.ts +63 -0
- package/lib/ui/toolbar/resolveToolbarItemState.d.ts.map +1 -0
- package/lib/ui/toolbar/resolveToolbarItemState.js +171 -0
- package/lib/ui/toolbar/resolveToolbarItemState.js.map +1 -0
- package/lib/ui/toolbar/toolbarItemUtils.d.ts +62 -0
- package/lib/ui/toolbar/toolbarItemUtils.d.ts.map +1 -0
- package/lib/ui/toolbar/toolbarItemUtils.js +184 -0
- package/lib/ui/toolbar/toolbarItemUtils.js.map +1 -0
- package/lib/ui/toolbar/types.d.ts +268 -0
- package/lib/ui/toolbar/types.d.ts.map +1 -0
- package/lib/ui/toolbar/types.js +8 -0
- package/lib/ui/toolbar/types.js.map +1 -0
- package/lib/ui/touch-point-tutorial.d.ts +64 -0
- package/lib/ui/touch-point-tutorial.d.ts.map +1 -0
- package/lib/ui/touch-point-tutorial.js +271 -0
- package/lib/ui/touch-point-tutorial.js.map +1 -0
- package/lib/ui-html-entry.d.ts +38 -0
- package/lib/ui-html-entry.d.ts.map +1 -0
- package/lib/ui-html-entry.js +28 -0
- package/lib/ui-html-entry.js.map +1 -0
- package/lib/util/AcApAciPalette.d.ts +7 -0
- package/lib/util/AcApAciPalette.d.ts.map +1 -0
- package/lib/util/AcApAciPalette.js +51 -0
- package/lib/util/AcApAciPalette.js.map +1 -0
- package/lib/util/AcApAnalyzeUnsupportedDrawing.d.ts +53 -0
- package/lib/util/AcApAnalyzeUnsupportedDrawing.d.ts.map +1 -0
- package/lib/util/AcApAnalyzeUnsupportedDrawing.js +164 -0
- package/lib/util/AcApAnalyzeUnsupportedDrawing.js.map +1 -0
- package/lib/util/AcApCommandUtil.d.ts +15 -0
- package/lib/util/AcApCommandUtil.d.ts.map +1 -0
- package/lib/util/AcApCommandUtil.js +38 -0
- package/lib/util/AcApCommandUtil.js.map +1 -0
- package/lib/util/AcApCssColor.d.ts +10 -0
- package/lib/util/AcApCssColor.d.ts.map +1 -1
- package/lib/util/AcApCssColor.js +52 -0
- package/lib/util/AcApCssColor.js.map +1 -1
- package/lib/util/AcApFormatFontMissedMessage.d.ts +32 -0
- package/lib/util/AcApFormatFontMissedMessage.d.ts.map +1 -0
- package/lib/util/AcApFormatFontMissedMessage.js +46 -0
- package/lib/util/AcApFormatFontMissedMessage.js.map +1 -0
- package/lib/util/AcApFormatUnsupportedEntitiesMessage.d.ts +44 -0
- package/lib/util/AcApFormatUnsupportedEntitiesMessage.d.ts.map +1 -0
- package/lib/util/AcApFormatUnsupportedEntitiesMessage.js +105 -0
- package/lib/util/AcApFormatUnsupportedEntitiesMessage.js.map +1 -0
- package/lib/util/AcApMeasurementUnits.d.ts +13 -1
- package/lib/util/AcApMeasurementUnits.d.ts.map +1 -1
- package/lib/util/AcApMeasurementUnits.js +144 -10
- package/lib/util/AcApMeasurementUnits.js.map +1 -1
- package/lib/util/AcApMeasurementUtil.d.ts +30 -9
- package/lib/util/AcApMeasurementUtil.d.ts.map +1 -1
- package/lib/util/AcApMeasurementUtil.js +70 -40
- package/lib/util/AcApMeasurementUtil.js.map +1 -1
- package/lib/util/AcApOpenFileErrorMessage.d.ts +25 -0
- package/lib/util/AcApOpenFileErrorMessage.d.ts.map +1 -0
- package/lib/util/AcApOpenFileErrorMessage.js +121 -0
- package/lib/util/AcApOpenFileErrorMessage.js.map +1 -0
- package/lib/util/index.d.ts +6 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +6 -0
- package/lib/util/index.js.map +1 -1
- package/lib/view/AcApReadingMode.d.ts +52 -0
- package/lib/view/AcApReadingMode.d.ts.map +1 -0
- package/lib/view/AcApReadingMode.js +81 -0
- package/lib/view/AcApReadingMode.js.map +1 -0
- package/lib/view/AcEdViewKeyHandler.d.ts.map +1 -1
- package/lib/view/AcEdViewKeyHandler.js +6 -1
- package/lib/view/AcEdViewKeyHandler.js.map +1 -1
- package/lib/view/AcTrInheritedLayerMaterialMapper.d.ts +6 -1
- package/lib/view/AcTrInheritedLayerMaterialMapper.d.ts.map +1 -1
- package/lib/view/AcTrInheritedLayerMaterialMapper.js +9 -1
- package/lib/view/AcTrInheritedLayerMaterialMapper.js.map +1 -1
- package/lib/view/AcTrLayer.d.ts +13 -1
- package/lib/view/AcTrLayer.d.ts.map +1 -1
- package/lib/view/AcTrLayer.js +28 -11
- package/lib/view/AcTrLayer.js.map +1 -1
- package/lib/view/AcTrLayout.d.ts +17 -2
- package/lib/view/AcTrLayout.d.ts.map +1 -1
- package/lib/view/AcTrLayout.js +67 -15
- package/lib/view/AcTrLayout.js.map +1 -1
- package/lib/view/AcTrLayoutView.d.ts +25 -1
- package/lib/view/AcTrLayoutView.d.ts.map +1 -1
- package/lib/view/AcTrLayoutView.js +62 -1
- package/lib/view/AcTrLayoutView.js.map +1 -1
- package/lib/view/AcTrScene.d.ts +4 -0
- package/lib/view/AcTrScene.d.ts.map +1 -1
- package/lib/view/AcTrScene.js +6 -0
- package/lib/view/AcTrScene.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +128 -15
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +634 -149
- package/lib/view/AcTrView2d.js.map +1 -1
- package/lib/view/AcTrViewSessionState.d.ts +6 -0
- package/lib/view/AcTrViewSessionState.d.ts.map +1 -1
- package/lib/view/index.d.ts +1 -0
- package/lib/view/index.d.ts.map +1 -1
- package/lib/view/index.js +1 -0
- package/lib/view/index.js.map +1 -1
- package/package.json +8 -8
- package/src/ui/icons.ts +387 -293
- package/lib/app/AcDbOpenDatabaseOptions.d.ts +0 -63
- package/lib/app/AcDbOpenDatabaseOptions.d.ts.map +0 -1
- package/lib/app/AcDbOpenDatabaseOptions.js.map +0 -1
- package/lib/command/convert/AcApPngConvertor.d.ts.map +0 -1
- package/lib/command/convert/AcApPngConvertor.js.map +0 -1
- package/lib/ui/AcApDrawStyle.d.ts +0 -81
- package/lib/ui/AcApDrawStyle.d.ts.map +0 -1
- package/lib/ui/AcApDrawStyle.js +0 -170
- package/lib/ui/AcApDrawStyle.js.map +0 -1
- package/lib/ui/AcApDrawStyleToolbar.d.ts +0 -129
- package/lib/ui/AcApDrawStyleToolbar.d.ts.map +0 -1
- package/lib/ui/AcApDrawStyleToolbar.js +0 -607
- package/lib/ui/AcApDrawStyleToolbar.js.map +0 -1
package/lib/view/AcTrView2d.js
CHANGED
|
@@ -96,20 +96,26 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
96
96
|
}
|
|
97
97
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
98
98
|
};
|
|
99
|
-
import { AcCmUiYieldGate, AcDbAttribute, AcDbBlockReference, acdbHostApplicationServices, AcDbMText, AcDbRasterImage, AcDbRay, AcDbSysVarManager, AcDbViewport, AcDbXline, AcGeBox2d, AcGePoint2d, log } from '@mlightcad/data-model';
|
|
99
|
+
import { AcCmUiYieldGate, AcDbAttribute, AcDbBlockReference, acdbHostApplicationServices, AcDbMText, AcDbRasterImage, AcDbRay, AcDbSysVarManager, AcDbViewport, AcDbXline, AcGeBox2d, AcGePoint2d, acgiForegroundColorForBackground, log } from '@mlightcad/data-model';
|
|
100
100
|
import { AcDbSystemVariables } from '@mlightcad/data-model';
|
|
101
|
+
import { FontManager } from '@mlightcad/mtext-renderer';
|
|
101
102
|
import { AcTrEntity, AcTrGlyphEntity, AcTrGroup, AcTrRenderer, AcTrViewportView } from '@mlightcad/three-renderer';
|
|
102
103
|
import { AcTrMatrixUtil } from '@mlightcad/three-renderer';
|
|
103
104
|
import * as THREE from 'three';
|
|
104
105
|
import Stats from 'three/examples/jsm/libs/stats.module';
|
|
105
106
|
import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
106
107
|
import { AcApDocManager, AcApSettingManager } from '../app';
|
|
108
|
+
import { AcApZoomCmd } from '../command/AcApZoomCmd';
|
|
107
109
|
import { isMarkupHtmlTextEditing } from '../command/markup/AcApMarkupTextEdit';
|
|
108
|
-
import {
|
|
110
|
+
import { notifyMeasurementLayoutChanged } from '../command/measure/AcApMeasurementStore';
|
|
111
|
+
import { acedAttachMobileBoxGesture, AcEdBaseView, AcEdConditionWaiter, AcEdCorsorType, AcEdGripManager, acedGuardCanvasTouchCallout, acedInteractionStrategy, acedIsTouchDerivedMouseEvent, AcEdMTextEditor, AcEdOpenMode, acedShouldIgnoreCompatMouse, AcEdViewMode, eventBus, resolvePointerSelectionAction } from '../editor';
|
|
109
112
|
import { ACGI_MODEL_SPACE_BACKGROUND, isModelSpaceDatabase, readLayoutBackgroundColor } from '../editor/global/AcEdUiColor';
|
|
113
|
+
import { ML_UI_Z_CANVAS_HTML_OVERLAY } from '../editor/global/AcEdUiLayout';
|
|
114
|
+
import { acedEntityIntersectsSelectionBox, acedNeedsCrossingGeometryRefine } from '../editor/view/AcEdSelectionBoxIntersect';
|
|
110
115
|
import { isEffectiveSpatialQueryHit } from '../editor/view/AcEdSpatialQueryResult';
|
|
111
116
|
import { AcTrGeometryUtil } from '../util';
|
|
112
117
|
import { acapRunDatabaseEdit } from '../util/AcApDatabaseEdit';
|
|
118
|
+
import { ACAP_READING_MODE_BACKGROUND, AcApReadingModeState } from './AcApReadingMode';
|
|
113
119
|
import { trySelectReviewOverlay, trySelectReviewOverlaysByBox } from './AcEdReviewOverlayPick';
|
|
114
120
|
import { AcEdViewKeyHandler } from './AcEdViewKeyHandler';
|
|
115
121
|
import { shouldExtendBboxForDirectEntity, tryBuildDirectEntityMeta } from './AcTrDirectBatch';
|
|
@@ -177,6 +183,9 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
177
183
|
renderer.domElement.style.display = 'block';
|
|
178
184
|
renderer.domElement.style.maxWidth = '100%';
|
|
179
185
|
renderer.domElement.style.maxHeight = '100%';
|
|
186
|
+
// Keep one-finger picks (measure snap loupe) from being stolen by the
|
|
187
|
+
// browser scroll / long-press copy-selection callout (especially iOS).
|
|
188
|
+
var disposeCanvasTouchCallout = acedGuardCanvasTouchCallout(renderer.domElement, container);
|
|
180
189
|
_this = _super.call(this, renderer.domElement, container) || this;
|
|
181
190
|
/**
|
|
182
191
|
* ID of the currently scheduled requestAnimationFrame callback.
|
|
@@ -265,10 +274,33 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
265
274
|
/** Cooperative yields taken inside progressive {@link batchConvert}. */
|
|
266
275
|
_this._progressiveYieldCount = 0;
|
|
267
276
|
/**
|
|
268
|
-
* In-flight glyph/group geometry jobs that await fonts via asyncDraw.
|
|
277
|
+
* In-flight + queued glyph/group geometry jobs that await fonts via asyncDraw.
|
|
269
278
|
* Counted separately so linework convert can continue while text waits.
|
|
270
279
|
*/
|
|
271
280
|
_this._pendingGeometryJobs = 0;
|
|
281
|
+
/**
|
|
282
|
+
* Waiting deferred geometry runners. Capped concurrency avoids scheduling
|
|
283
|
+
* thousands of INSERT/text `asyncDraw` jobs at once (large multi-sheet DWGs
|
|
284
|
+
* otherwise flood the main thread and freeze on "Rendering drawing ...").
|
|
285
|
+
*/
|
|
286
|
+
_this._deferredGeometryQueue = [];
|
|
287
|
+
/** Currently executing deferred geometry runners. */
|
|
288
|
+
_this._deferredGeometryActive = 0;
|
|
289
|
+
/**
|
|
290
|
+
* Debounced glyph rebuild after {@link FontManager.events.fontLoaded} so a
|
|
291
|
+
* burst of lazy face loads (simsun + malgun, etc.) triggers one redraw pass.
|
|
292
|
+
*/
|
|
293
|
+
_this._fontLoadedRedrawTimer = null;
|
|
294
|
+
_this._fontLoadedRedrawEpoch = 0;
|
|
295
|
+
/** Transient reading mode forces black linework on a white canvas. */
|
|
296
|
+
_this._readingMode = new AcApReadingModeState({
|
|
297
|
+
getCurrentBackgroundColor: function () { return _this._renderer.currentBackgroundColor; },
|
|
298
|
+
applyViewClearColor: function (value) { return _this.applyViewClearColor(value); },
|
|
299
|
+
setCompareDisplay: function (options) { return _this.setCompareDisplay(options); },
|
|
300
|
+
markDirty: function () {
|
|
301
|
+
_this._isDirty = true;
|
|
302
|
+
}
|
|
303
|
+
});
|
|
272
304
|
_this.animate = function () {
|
|
273
305
|
var _a;
|
|
274
306
|
_this._rafId = requestAnimationFrame(_this.animate);
|
|
@@ -304,6 +336,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
304
336
|
_this._isDirty = needsRedraw;
|
|
305
337
|
_this._htmlDirty = false;
|
|
306
338
|
};
|
|
339
|
+
_this._disposeCanvasTouchCallout = disposeCanvasTouchCallout;
|
|
307
340
|
_this._gripManager = new AcEdGripManager(_this);
|
|
308
341
|
_this._keyHandler = new AcEdViewKeyHandler(_this);
|
|
309
342
|
if (options.calculateSizeCallback) {
|
|
@@ -321,6 +354,13 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
321
354
|
count: (_a = args.count) !== null && _a !== void 0 ? _a : 0
|
|
322
355
|
});
|
|
323
356
|
});
|
|
357
|
+
_this._renderer.events.fontLoaded.addEventListener(function (args) {
|
|
358
|
+
// Lazy load success clears FontManager.missedFonts; refresh status-bar state.
|
|
359
|
+
eventBus.emit('missed-data-changed', {});
|
|
360
|
+
// On-demand faces (e.g. style `malgun`) may finish after the first glyph
|
|
361
|
+
// bake. Rebuild text so Hangul is not left as permanent '?'.
|
|
362
|
+
_this.scheduleGlyphRedrawAfterFontLoad(args === null || args === void 0 ? void 0 : args.fontName);
|
|
363
|
+
});
|
|
324
364
|
_this._scene = _this.createScene();
|
|
325
365
|
_this._layerAppearance = new AcTrLayerAppearanceController(_this._scene, _this._renderer);
|
|
326
366
|
_this._inheritedLayerMaterialMapper = new AcTrInheritedLayerMaterialMapper(function (layerName) { return _this._layerAppearance.getEffectiveLayerTraits(layerName); }, _this._renderer);
|
|
@@ -355,36 +395,45 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
355
395
|
var selectionStartWcs = null;
|
|
356
396
|
var selectionStartCanvas = null;
|
|
357
397
|
var selectionPreviewEl = null;
|
|
358
|
-
var
|
|
359
|
-
return (_this.
|
|
360
|
-
!_this.editor.isActive &&
|
|
398
|
+
var canHandleIdlePointer = function () {
|
|
399
|
+
return (!_this.editor.isActive &&
|
|
361
400
|
!AcEdMTextEditor.getActiveInputBox() &&
|
|
362
401
|
!isMarkupHtmlTextEditing() &&
|
|
363
402
|
!_this._gripManager.isDragging);
|
|
364
403
|
};
|
|
404
|
+
var canHandleSelectionGesture = function () {
|
|
405
|
+
return _this.mode === AcEdViewMode.SELECTION && canHandleIdlePointer();
|
|
406
|
+
};
|
|
407
|
+
var canHandleMobileBoxGesture = function () {
|
|
408
|
+
return (canHandleIdlePointer() &&
|
|
409
|
+
acedInteractionStrategy().canIdleTouchBox(_this.mode));
|
|
410
|
+
};
|
|
365
411
|
var clearSelectionPreview = function () {
|
|
366
412
|
selectionPreviewEl === null || selectionPreviewEl === void 0 ? void 0 : selectionPreviewEl.remove();
|
|
367
413
|
selectionPreviewEl = null;
|
|
368
414
|
};
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
415
|
+
var resetSelectionDrag = function () {
|
|
416
|
+
selectionStartWcs = null;
|
|
417
|
+
selectionStartCanvas = null;
|
|
418
|
+
clearSelectionPreview();
|
|
419
|
+
};
|
|
420
|
+
var beginSelectionPreview = function (clientX, clientY) {
|
|
374
421
|
selectionStartCanvas = _this.viewportToCanvas({
|
|
375
|
-
x:
|
|
376
|
-
y:
|
|
422
|
+
x: clientX,
|
|
423
|
+
y: clientY
|
|
377
424
|
});
|
|
378
425
|
selectionStartWcs = _this.screenToWorld(selectionStartCanvas);
|
|
426
|
+
clearSelectionPreview();
|
|
379
427
|
selectionPreviewEl = document.createElement('div');
|
|
380
428
|
selectionPreviewEl.className = 'ml-jig-preview-rect';
|
|
381
429
|
_this.container.appendChild(selectionPreviewEl);
|
|
382
|
-
}
|
|
383
|
-
|
|
430
|
+
};
|
|
431
|
+
var updateSelectionPreview = function (clientX, clientY, action) {
|
|
432
|
+
if (action === void 0) { action = 'replace'; }
|
|
384
433
|
if (!selectionStartWcs || !selectionPreviewEl || !selectionStartCanvas) {
|
|
385
434
|
return;
|
|
386
435
|
}
|
|
387
|
-
var curCanvas = _this.viewportToCanvas({ x:
|
|
436
|
+
var curCanvas = _this.viewportToCanvas({ x: clientX, y: clientY });
|
|
388
437
|
var curWcs = _this.screenToWorld(curCanvas);
|
|
389
438
|
var p1 = _this.worldToScreen(selectionStartWcs);
|
|
390
439
|
var p2 = _this.worldToScreen(curWcs);
|
|
@@ -393,7 +442,6 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
393
442
|
var width = Math.abs(p1.x - p2.x);
|
|
394
443
|
var height = Math.abs(p1.y - p2.y);
|
|
395
444
|
var mode = _this.getSelectionMode(selectionStartCanvas, curCanvas);
|
|
396
|
-
var action = _this.getPointerSelectionAction(e);
|
|
397
445
|
var style = _this.getSelectionPreviewStyle(mode, action);
|
|
398
446
|
Object.assign(selectionPreviewEl.style, {
|
|
399
447
|
left: "".concat(left, "px"),
|
|
@@ -404,24 +452,17 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
404
452
|
background: style.background
|
|
405
453
|
});
|
|
406
454
|
selectionPreviewEl.style.setProperty('--line-color', style.lineColor);
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
if (_this._gripManager.isDragging) {
|
|
410
|
-
selectionStartWcs = null;
|
|
411
|
-
selectionStartCanvas = null;
|
|
412
|
-
clearSelectionPreview();
|
|
413
|
-
return;
|
|
414
|
-
}
|
|
455
|
+
};
|
|
456
|
+
var finishSelection = function (clientX, clientY, action, isClick) {
|
|
415
457
|
if (!selectionStartWcs || !selectionStartCanvas)
|
|
416
458
|
return;
|
|
417
459
|
var endCanvas = _this.viewportToCanvas({
|
|
418
|
-
x:
|
|
419
|
-
y:
|
|
460
|
+
x: clientX,
|
|
461
|
+
y: clientY
|
|
420
462
|
});
|
|
421
463
|
var endWcs = _this.screenToWorld(endCanvas);
|
|
422
464
|
clearSelectionPreview();
|
|
423
|
-
|
|
424
|
-
if (_this.isSelectionClick(selectionStartCanvas, endCanvas)) {
|
|
465
|
+
if (isClick) {
|
|
425
466
|
if (trySelectReviewOverlay(_this, endCanvas.x, endCanvas.y, action)) {
|
|
426
467
|
if (action === 'replace') {
|
|
427
468
|
_this.selectionSet.clear();
|
|
@@ -455,6 +496,70 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
455
496
|
}
|
|
456
497
|
selectionStartWcs = null;
|
|
457
498
|
selectionStartCanvas = null;
|
|
499
|
+
};
|
|
500
|
+
_this.canvas.addEventListener('mousedown', function (e) {
|
|
501
|
+
if (e.button !== 0)
|
|
502
|
+
return;
|
|
503
|
+
if (!canHandleSelectionGesture())
|
|
504
|
+
return;
|
|
505
|
+
if (acedIsTouchDerivedMouseEvent(e) || acedShouldIgnoreCompatMouse()) {
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
beginSelectionPreview(e.clientX, e.clientY);
|
|
509
|
+
});
|
|
510
|
+
_this.canvas.addEventListener('mousemove', function (e) {
|
|
511
|
+
if (!selectionStartWcs || !selectionPreviewEl || !selectionStartCanvas) {
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
if (acedIsTouchDerivedMouseEvent(e) || acedShouldIgnoreCompatMouse()) {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
updateSelectionPreview(e.clientX, e.clientY, _this.getPointerSelectionAction(e));
|
|
518
|
+
});
|
|
519
|
+
_this.canvas.addEventListener('mouseup', function (e) {
|
|
520
|
+
if (_this._gripManager.isDragging) {
|
|
521
|
+
resetSelectionDrag();
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
524
|
+
if (!selectionStartWcs || !selectionStartCanvas)
|
|
525
|
+
return;
|
|
526
|
+
if (acedIsTouchDerivedMouseEvent(e) || acedShouldIgnoreCompatMouse()) {
|
|
527
|
+
return;
|
|
528
|
+
}
|
|
529
|
+
var endCanvas = _this.viewportToCanvas({
|
|
530
|
+
x: e.clientX,
|
|
531
|
+
y: e.clientY
|
|
532
|
+
});
|
|
533
|
+
var action = _this.getPointerSelectionAction(e);
|
|
534
|
+
finishSelection(e.clientX, e.clientY, action, _this.isSelectionClick(selectionStartCanvas, endCanvas));
|
|
535
|
+
});
|
|
536
|
+
acedAttachMobileBoxGesture({
|
|
537
|
+
element: _this.canvas,
|
|
538
|
+
shouldStart: function () { return canHandleMobileBoxGesture(); },
|
|
539
|
+
setNavigationEnabled: function (enabled) {
|
|
540
|
+
_this.setNavigationEnabled(enabled);
|
|
541
|
+
},
|
|
542
|
+
onActivate: function (clientX, clientY) {
|
|
543
|
+
beginSelectionPreview(clientX, clientY);
|
|
544
|
+
updateSelectionPreview(clientX, clientY);
|
|
545
|
+
},
|
|
546
|
+
onMove: function (clientX, clientY) {
|
|
547
|
+
updateSelectionPreview(clientX, clientY);
|
|
548
|
+
},
|
|
549
|
+
onBoxEnd: function (clientX, clientY, moved) {
|
|
550
|
+
finishSelection(clientX, clientY, 'replace', !moved);
|
|
551
|
+
},
|
|
552
|
+
onTap: function (clientX, clientY) {
|
|
553
|
+
selectionStartCanvas = _this.viewportToCanvas({
|
|
554
|
+
x: clientX,
|
|
555
|
+
y: clientY
|
|
556
|
+
});
|
|
557
|
+
selectionStartWcs = _this.screenToWorld(selectionStartCanvas);
|
|
558
|
+
finishSelection(clientX, clientY, 'replace', true);
|
|
559
|
+
},
|
|
560
|
+
onAbort: function () {
|
|
561
|
+
resetSelectionDrag();
|
|
562
|
+
}
|
|
458
563
|
});
|
|
459
564
|
_this.canvas.addEventListener('dblclick', function (e) {
|
|
460
565
|
if (e.button !== 0)
|
|
@@ -523,7 +628,8 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
523
628
|
_this._css2dRenderer.domElement.style.top = '0px';
|
|
524
629
|
_this._css2dRenderer.domElement.style.left = '0px';
|
|
525
630
|
_this._css2dRenderer.domElement.style.pointerEvents = 'none';
|
|
526
|
-
|
|
631
|
+
// Below command line / mobile chrome / dialogs; above the WebGL canvas.
|
|
632
|
+
_this._css2dRenderer.domElement.style.zIndex = String(ML_UI_Z_CANVAS_HTML_OVERLAY);
|
|
527
633
|
_this._css2dRenderer.domElement.style.maxWidth = '100%';
|
|
528
634
|
_this._css2dRenderer.domElement.style.maxHeight = '100%';
|
|
529
635
|
container.appendChild(_this._css2dRenderer.domElement);
|
|
@@ -542,7 +648,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
542
648
|
_this._htmlDirty = false;
|
|
543
649
|
_this.startAnimationLoop();
|
|
544
650
|
_this._numOfEntitiesToProcess = 0;
|
|
545
|
-
_this.
|
|
651
|
+
_this.resetDeferredGeometryQueue();
|
|
546
652
|
return _this;
|
|
547
653
|
}
|
|
548
654
|
AcTrView2d.prototype.getPointerSelectionAction = function (e) {
|
|
@@ -557,9 +663,16 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
557
663
|
* @protected
|
|
558
664
|
*/
|
|
559
665
|
AcTrView2d.prototype.initialize = function () {
|
|
666
|
+
var _this = this;
|
|
560
667
|
// This method is called after camera and render are created.
|
|
561
668
|
// Children class can override this method to add its own logic
|
|
562
669
|
this.setCursor(AcEdCorsorType.Crosshair);
|
|
670
|
+
this.editor.events.commandWillStart.addEventListener(function () {
|
|
671
|
+
_this.htmlTransientManager.setHitTestEnabled(false);
|
|
672
|
+
});
|
|
673
|
+
this.editor.events.commandEnded.addEventListener(function () {
|
|
674
|
+
_this.htmlTransientManager.setHitTestEnabled(true);
|
|
675
|
+
});
|
|
563
676
|
};
|
|
564
677
|
Object.defineProperty(AcTrView2d.prototype, "mode", {
|
|
565
678
|
/**
|
|
@@ -583,6 +696,37 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
583
696
|
enumerable: false,
|
|
584
697
|
configurable: true
|
|
585
698
|
});
|
|
699
|
+
/**
|
|
700
|
+
* Enables or disables OrbitControls on the active layout view.
|
|
701
|
+
*
|
|
702
|
+
* @param enabled - When false, pan and zoom are disabled (e.g. while the
|
|
703
|
+
* snap loupe is tracking a long-press).
|
|
704
|
+
*/
|
|
705
|
+
AcTrView2d.prototype.setNavigationEnabled = function (enabled) {
|
|
706
|
+
var layoutView = this.activeLayoutView;
|
|
707
|
+
if (layoutView)
|
|
708
|
+
layoutView.enabled = enabled;
|
|
709
|
+
};
|
|
710
|
+
/**
|
|
711
|
+
* Shows or hides the screen-fixed snap loupe overlay viewport.
|
|
712
|
+
*
|
|
713
|
+
* @param state - Loupe screen rectangle and world box, or `null` to hide.
|
|
714
|
+
*/
|
|
715
|
+
AcTrView2d.prototype.setSnapLoupe = function (state) {
|
|
716
|
+
var _a;
|
|
717
|
+
var overlay = (_a = this.activeLayoutView) === null || _a === void 0 ? void 0 : _a.overlayViewport;
|
|
718
|
+
if (!overlay)
|
|
719
|
+
return;
|
|
720
|
+
if (!state) {
|
|
721
|
+
overlay.visible = false;
|
|
722
|
+
this._isDirty = true;
|
|
723
|
+
return;
|
|
724
|
+
}
|
|
725
|
+
overlay.setScreenRect(state.x, state.y, state.size, state.size);
|
|
726
|
+
overlay.setViewBox(state.viewBox);
|
|
727
|
+
overlay.visible = true;
|
|
728
|
+
this._isDirty = true;
|
|
729
|
+
};
|
|
586
730
|
Object.defineProperty(AcTrView2d.prototype, "renderer", {
|
|
587
731
|
/**
|
|
588
732
|
* Gets the Three.js renderer wrapper used for CAD rendering.
|
|
@@ -636,9 +780,14 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
636
780
|
* True while batch conversion or deferred glyph/group geometry is still
|
|
637
781
|
* running.
|
|
638
782
|
*
|
|
639
|
-
* Parsing can report 100% before this reaches zero; callers
|
|
640
|
-
* should wait on this (as
|
|
641
|
-
*
|
|
783
|
+
* Parsing can report 100% before this reaches zero; callers that need a
|
|
784
|
+
* fully drawable scene (export, scripted zoom) should wait on this (as
|
|
785
|
+
* {@link waitUntilIdle} / {@link zoomToFitDrawing} do).
|
|
786
|
+
*
|
|
787
|
+
* The open-file progress overlay intentionally uses
|
|
788
|
+
* {@link isConvertingEntities} instead so "Rendering drawing ..." can hide
|
|
789
|
+
* once linework convert finishes while text geometry continues in the
|
|
790
|
+
* deferred pool.
|
|
642
791
|
*/
|
|
643
792
|
get: function () {
|
|
644
793
|
return this._numOfEntitiesToProcess > 0 || this._pendingGeometryJobs > 0;
|
|
@@ -646,6 +795,17 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
646
795
|
enumerable: false,
|
|
647
796
|
configurable: true
|
|
648
797
|
});
|
|
798
|
+
Object.defineProperty(AcTrView2d.prototype, "isConvertingEntities", {
|
|
799
|
+
/**
|
|
800
|
+
* True while the entity convert queue / {@link batchConvert} is still
|
|
801
|
+
* draining. Does **not** include deferred glyph/INSERT geometry jobs.
|
|
802
|
+
*/
|
|
803
|
+
get: function () {
|
|
804
|
+
return this._numOfEntitiesToProcess > 0;
|
|
805
|
+
},
|
|
806
|
+
enumerable: false,
|
|
807
|
+
configurable: true
|
|
808
|
+
});
|
|
649
809
|
/**
|
|
650
810
|
* Waits until batch conversion and deferred glyph/font geometry finish.
|
|
651
811
|
*
|
|
@@ -705,8 +865,9 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
705
865
|
});
|
|
706
866
|
Object.defineProperty(AcTrView2d.prototype, "progressiveOpenStats", {
|
|
707
867
|
/**
|
|
708
|
-
*
|
|
709
|
-
*
|
|
868
|
+
* Open-convert counters for OPENPROF / palette (cooperative yields during
|
|
869
|
+
* convert, and mid-open paints when progressive rendering is enabled).
|
|
870
|
+
* Reset when progressive mode is enabled for an open.
|
|
710
871
|
*/
|
|
711
872
|
get: function () {
|
|
712
873
|
return {
|
|
@@ -833,11 +994,27 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
833
994
|
* manager. Does not touch `COLORTHEME` / UI chrome.
|
|
834
995
|
*/
|
|
835
996
|
AcTrView2d.prototype.applyCanvasBackground = function (value) {
|
|
836
|
-
this._renderer.setClearColor(value);
|
|
837
|
-
// Updates style-manager background, repaints ACI-7 / bg-follow materials.
|
|
838
997
|
this._renderer.currentBackgroundColor = value;
|
|
839
998
|
this._layerAppearance.refreshTextMaterialsInObjectTree(this._scene.internalScene);
|
|
999
|
+
// Style-manager changeForeground only updates cache entries; batch
|
|
1000
|
+
// containers own private material clones and must be repainted too.
|
|
1001
|
+
this._scene.repaintForegroundMaterials(acgiForegroundColorForBackground(value));
|
|
840
1002
|
this.resyncForegroundLayersForBackground();
|
|
1003
|
+
if (this._readingMode.isEnabled) {
|
|
1004
|
+
this._readingMode.noteLayoutBackground(value);
|
|
1005
|
+
this.applyViewClearColor(ACAP_READING_MODE_BACKGROUND);
|
|
1006
|
+
return;
|
|
1007
|
+
}
|
|
1008
|
+
this.applyViewClearColor(value);
|
|
1009
|
+
};
|
|
1010
|
+
/**
|
|
1011
|
+
* Updates only the WebGL clear colour and cursor chrome.
|
|
1012
|
+
*
|
|
1013
|
+
* Reading mode uses this so the white canvas is visual-only and does not
|
|
1014
|
+
* repaint cached entity materials via the style manager.
|
|
1015
|
+
*/
|
|
1016
|
+
AcTrView2d.prototype.applyViewClearColor = function (value) {
|
|
1017
|
+
this._renderer.setClearColor(value);
|
|
841
1018
|
this.editor.syncCursorBackground(value);
|
|
842
1019
|
this._isDirty = true;
|
|
843
1020
|
};
|
|
@@ -901,6 +1078,29 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
901
1078
|
AcTrView2d.prototype.syncDisplaySysVars = function (database) {
|
|
902
1079
|
this.bindDrawDatabase(database);
|
|
903
1080
|
this.applyCanvasBackground(readLayoutBackgroundColor(database, this.isModelSpaceLayout(database)));
|
|
1081
|
+
this._readingMode.reapplyIfEnabled();
|
|
1082
|
+
};
|
|
1083
|
+
Object.defineProperty(AcTrView2d.prototype, "readingModeEnabled", {
|
|
1084
|
+
/** Whether transient reading mode is active on this view. */
|
|
1085
|
+
get: function () {
|
|
1086
|
+
return this._readingMode.isEnabled;
|
|
1087
|
+
},
|
|
1088
|
+
enumerable: false,
|
|
1089
|
+
configurable: true
|
|
1090
|
+
});
|
|
1091
|
+
/** Toggles transient reading mode on or off. */
|
|
1092
|
+
AcTrView2d.prototype.toggleReadingMode = function () {
|
|
1093
|
+
this._readingMode.toggle();
|
|
1094
|
+
};
|
|
1095
|
+
/**
|
|
1096
|
+
* Enables or disables transient reading mode (black linework, white canvas).
|
|
1097
|
+
*
|
|
1098
|
+
* @param enabled - When true, snapshots the current canvas background and
|
|
1099
|
+
* forces monochrome display; when false, restores the snapshot and
|
|
1100
|
+
* original entity colors.
|
|
1101
|
+
*/
|
|
1102
|
+
AcTrView2d.prototype.setReadingMode = function (enabled) {
|
|
1103
|
+
this._readingMode.setEnabled(enabled);
|
|
904
1104
|
};
|
|
905
1105
|
/**
|
|
906
1106
|
* Converts and renders model-space entities from a standalone, independently
|
|
@@ -1054,10 +1254,14 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1054
1254
|
return this._scene.activeLayoutBtrId;
|
|
1055
1255
|
},
|
|
1056
1256
|
set: function (value) {
|
|
1257
|
+
var previous = this._scene.activeLayoutBtrId;
|
|
1057
1258
|
this._layoutViewManager.activeLayoutBtrId = value;
|
|
1058
1259
|
this._scene.activeLayoutBtrId = value;
|
|
1059
1260
|
this.htmlTransientManager.setActiveLayoutId(value);
|
|
1060
1261
|
this._isDirty = true;
|
|
1262
|
+
if (previous !== value) {
|
|
1263
|
+
notifyMeasurementLayoutChanged();
|
|
1264
|
+
}
|
|
1061
1265
|
},
|
|
1062
1266
|
enumerable: false,
|
|
1063
1267
|
configurable: true
|
|
@@ -1254,11 +1458,13 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1254
1458
|
/**
|
|
1255
1459
|
* Re-render points with latest point style settings
|
|
1256
1460
|
* @param displayMode Input display mode of points
|
|
1461
|
+
* @param displaySize Input display size of points (`PDSIZE`)
|
|
1257
1462
|
*/
|
|
1258
|
-
AcTrView2d.prototype.rerenderPoints = function (displayMode) {
|
|
1463
|
+
AcTrView2d.prototype.rerenderPoints = function (displayMode, displaySize) {
|
|
1464
|
+
if (displaySize === void 0) { displaySize = 0; }
|
|
1259
1465
|
var activeLayout = this._scene.activeLayout;
|
|
1260
1466
|
if (activeLayout) {
|
|
1261
|
-
activeLayout.rerenderPoints(displayMode);
|
|
1467
|
+
activeLayout.rerenderPoints(displayMode, displaySize);
|
|
1262
1468
|
this._isDirty = true;
|
|
1263
1469
|
}
|
|
1264
1470
|
};
|
|
@@ -1277,6 +1483,10 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1277
1483
|
}
|
|
1278
1484
|
_this._progressiveOpenFit.applyFinalFit(function () { return _this.resolveLayoutFitBox(); });
|
|
1279
1485
|
_this.endProgressiveOpenFit();
|
|
1486
|
+
var originalBtrId = layoutBtrId !== null && layoutBtrId !== void 0 ? layoutBtrId : _this.activeLayoutBtrId;
|
|
1487
|
+
if (originalBtrId) {
|
|
1488
|
+
AcApZoomCmd.rememberOriginalView(_this, originalBtrId);
|
|
1489
|
+
}
|
|
1280
1490
|
}, 300, // check every 300 ms
|
|
1281
1491
|
timeout);
|
|
1282
1492
|
waiter.start();
|
|
@@ -1360,9 +1570,10 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1360
1570
|
};
|
|
1361
1571
|
AcTrView2d.prototype.editMTextEntity = function (mtext) {
|
|
1362
1572
|
return __awaiter(this, void 0, void 0, function () {
|
|
1363
|
-
var db, editor, applied, result_1;
|
|
1364
|
-
|
|
1365
|
-
|
|
1573
|
+
var db, editor, applied, result_1, _a, _b;
|
|
1574
|
+
var _c;
|
|
1575
|
+
return __generator(this, function (_d) {
|
|
1576
|
+
switch (_d.label) {
|
|
1366
1577
|
case 0:
|
|
1367
1578
|
db = mtext.database;
|
|
1368
1579
|
if (mtext.lineSpacingFactor !== AcEdMTextEditor.defaultLineSpacingFactor) {
|
|
@@ -1379,20 +1590,23 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1379
1590
|
this._isDirty = true;
|
|
1380
1591
|
editor = new AcEdMTextEditor();
|
|
1381
1592
|
applied = false;
|
|
1382
|
-
|
|
1593
|
+
_d.label = 1;
|
|
1383
1594
|
case 1:
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1595
|
+
_d.trys.push([1, , 4, 5]);
|
|
1596
|
+
_b = (_a = editor).open;
|
|
1597
|
+
_c = {
|
|
1598
|
+
view: this,
|
|
1599
|
+
location: mtext.location,
|
|
1600
|
+
width: this.resolveMTextEditorWidth(mtext),
|
|
1601
|
+
textHeight: this.resolveMTextEditorTextHeight(mtext),
|
|
1602
|
+
initialText: mtext.contents,
|
|
1603
|
+
initialAttachmentPoint: mtext.attachmentPoint
|
|
1604
|
+
};
|
|
1605
|
+
return [4 /*yield*/, this.getMTextToolbarFontFamilies()];
|
|
1606
|
+
case 2: return [4 /*yield*/, _b.apply(_a, [(_c.toolbarFontFamilies = _d.sent(),
|
|
1607
|
+
_c)])];
|
|
1608
|
+
case 3:
|
|
1609
|
+
result_1 = _d.sent();
|
|
1396
1610
|
if (!result_1)
|
|
1397
1611
|
return [2 /*return*/];
|
|
1398
1612
|
acapRunDatabaseEdit(db, 'Edit MText', function () {
|
|
@@ -1407,14 +1621,14 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1407
1621
|
opened.attachmentPoint = result_1.attachmentPoint;
|
|
1408
1622
|
});
|
|
1409
1623
|
applied = true;
|
|
1410
|
-
return [3 /*break*/,
|
|
1411
|
-
case
|
|
1624
|
+
return [3 /*break*/, 5];
|
|
1625
|
+
case 4:
|
|
1412
1626
|
if (!applied) {
|
|
1413
1627
|
this.updateEntity(mtext);
|
|
1414
1628
|
this._isDirty = true;
|
|
1415
1629
|
}
|
|
1416
1630
|
return [7 /*endfinally*/];
|
|
1417
|
-
case
|
|
1631
|
+
case 5: return [2 /*return*/];
|
|
1418
1632
|
}
|
|
1419
1633
|
});
|
|
1420
1634
|
});
|
|
@@ -1437,10 +1651,21 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1437
1651
|
return Math.max(Math.abs(p1.y - p0.y), 1e-4);
|
|
1438
1652
|
};
|
|
1439
1653
|
AcTrView2d.prototype.getMTextToolbarFontFamilies = function () {
|
|
1440
|
-
return
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1654
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1655
|
+
var availableFonts;
|
|
1656
|
+
var _a;
|
|
1657
|
+
return __generator(this, function (_b) {
|
|
1658
|
+
switch (_b.label) {
|
|
1659
|
+
case 0: return [4 /*yield*/, AcApDocManager.instance.getAvaiableFonts()];
|
|
1660
|
+
case 1:
|
|
1661
|
+
availableFonts = (_a = (_b.sent())) !== null && _a !== void 0 ? _a : [];
|
|
1662
|
+
return [2 /*return*/, Array.from(new Set(availableFonts
|
|
1663
|
+
.flatMap(function (fontInfo) { return fontInfo.name; })
|
|
1664
|
+
.map(function (fontName) { return fontName.trim(); })
|
|
1665
|
+
.filter(function (fontName) { return fontName.length > 0; })))];
|
|
1666
|
+
}
|
|
1667
|
+
});
|
|
1668
|
+
});
|
|
1444
1669
|
};
|
|
1445
1670
|
/**
|
|
1446
1671
|
* @inheritdoc
|
|
@@ -1610,6 +1835,48 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1610
1835
|
AcTrView2d.prototype.selectByBox = function (box) {
|
|
1611
1836
|
this.selectByBoxWithMode(box, 'crossing', 'add');
|
|
1612
1837
|
};
|
|
1838
|
+
/**
|
|
1839
|
+
* Drops crossing spatial hits whose curve geometry misses the pick box.
|
|
1840
|
+
*
|
|
1841
|
+
* Large closed polylines (site boundaries, frames) have AABBs that cover
|
|
1842
|
+
* huge empty interiors. Without this refine, crossing a small INSERT inside
|
|
1843
|
+
* that interior also selects those polylines and can stall highlight work.
|
|
1844
|
+
*/
|
|
1845
|
+
AcTrView2d.prototype.refineCrossingSelectionHits = function (box, results) {
|
|
1846
|
+
var e_8, _a;
|
|
1847
|
+
var _b;
|
|
1848
|
+
var database = (_b = AcApDocManager.instance.curDocument) === null || _b === void 0 ? void 0 : _b.database;
|
|
1849
|
+
if (!database) {
|
|
1850
|
+
return results.map(function (item) { return item.id; });
|
|
1851
|
+
}
|
|
1852
|
+
var ids = [];
|
|
1853
|
+
try {
|
|
1854
|
+
for (var results_1 = __values(results), results_1_1 = results_1.next(); !results_1_1.done; results_1_1 = results_1.next()) {
|
|
1855
|
+
var item = results_1_1.value;
|
|
1856
|
+
if (!acedNeedsCrossingGeometryRefine(item)) {
|
|
1857
|
+
ids.push(item.id);
|
|
1858
|
+
continue;
|
|
1859
|
+
}
|
|
1860
|
+
var entityBox = new AcGeBox2d({ x: item.minX, y: item.minY }, { x: item.maxX, y: item.maxY });
|
|
1861
|
+
if (box.containsBox(entityBox)) {
|
|
1862
|
+
ids.push(item.id);
|
|
1863
|
+
continue;
|
|
1864
|
+
}
|
|
1865
|
+
var entity = database.tables.blockTable.getEntityById(item.id);
|
|
1866
|
+
if (!entity || acedEntityIntersectsSelectionBox(entity, box)) {
|
|
1867
|
+
ids.push(item.id);
|
|
1868
|
+
}
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
1872
|
+
finally {
|
|
1873
|
+
try {
|
|
1874
|
+
if (results_1_1 && !results_1_1.done && (_a = results_1.return)) _a.call(results_1);
|
|
1875
|
+
}
|
|
1876
|
+
finally { if (e_8) throw e_8.error; }
|
|
1877
|
+
}
|
|
1878
|
+
return ids;
|
|
1879
|
+
};
|
|
1613
1880
|
/**
|
|
1614
1881
|
* @inheritdoc
|
|
1615
1882
|
*/
|
|
@@ -1622,7 +1889,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1622
1889
|
* @inheritdoc
|
|
1623
1890
|
*/
|
|
1624
1891
|
AcTrView2d.prototype.updateLayer = function (layer, changes) {
|
|
1625
|
-
var
|
|
1892
|
+
var e_9, _a;
|
|
1626
1893
|
var touchedObjectIds = this._scene.updateLayer(this.toLayerInfo(layer)).touchedObjectIds;
|
|
1627
1894
|
if (this._layerAppearance.layerStyleMayHaveChanged(changes)) {
|
|
1628
1895
|
this._layerAppearance.syncFromLiveRecord(layer);
|
|
@@ -1644,12 +1911,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1644
1911
|
this.applySessionHiddenObjectState(objectId);
|
|
1645
1912
|
}
|
|
1646
1913
|
}
|
|
1647
|
-
catch (
|
|
1914
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
1648
1915
|
finally {
|
|
1649
1916
|
try {
|
|
1650
1917
|
if (touchedObjectIds_1_1 && !touchedObjectIds_1_1.done && (_a = touchedObjectIds_1.return)) _a.call(touchedObjectIds_1);
|
|
1651
1918
|
}
|
|
1652
|
-
finally { if (
|
|
1919
|
+
finally { if (e_9) throw e_9.error; }
|
|
1653
1920
|
}
|
|
1654
1921
|
this._isDirty = true;
|
|
1655
1922
|
};
|
|
@@ -1766,13 +2033,13 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1766
2033
|
var _a;
|
|
1767
2034
|
var entities = Array.isArray(entity) ? entity : [entity];
|
|
1768
2035
|
this._numOfEntitiesToProcess += entities.length;
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
2036
|
+
// Always serialize convert through one drain loop. Non-progressive opens
|
|
2037
|
+
// used to `void batchConvert(chunk)` per ENTITY flush chunk, which ran
|
|
2038
|
+
// many converts in parallel and OOM'd dense drawings (e.g. cathedral.dwg)
|
|
2039
|
+
// during "Rendering drawing ...". Progressive mid-open paints stay gated
|
|
2040
|
+
// by `_progressiveRendering` inside batchConvert / markProgressiveDirty.
|
|
2041
|
+
(_a = this._convertQueue).push.apply(_a, __spreadArray([], __read(entities), false));
|
|
2042
|
+
void this.drainConvertQueue();
|
|
1776
2043
|
};
|
|
1777
2044
|
/**
|
|
1778
2045
|
* @inheritdoc
|
|
@@ -1878,7 +2145,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1878
2145
|
* drawable entity that must be rebuilt (for example ATTRIB → INSERT).
|
|
1879
2146
|
*/
|
|
1880
2147
|
AcTrView2d.prototype.resolveSceneUpdateEntities = function (entities) {
|
|
1881
|
-
var
|
|
2148
|
+
var e_10, _a;
|
|
1882
2149
|
var _b;
|
|
1883
2150
|
var db = (_b = AcApDocManager.instance.curDocument) === null || _b === void 0 ? void 0 : _b.database;
|
|
1884
2151
|
var resolved = [];
|
|
@@ -1900,12 +2167,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
1900
2167
|
resolved.push(target);
|
|
1901
2168
|
}
|
|
1902
2169
|
}
|
|
1903
|
-
catch (
|
|
2170
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
1904
2171
|
finally {
|
|
1905
2172
|
try {
|
|
1906
2173
|
if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);
|
|
1907
2174
|
}
|
|
1908
|
-
finally { if (
|
|
2175
|
+
finally { if (e_10) throw e_10.error; }
|
|
1909
2176
|
}
|
|
1910
2177
|
return resolved;
|
|
1911
2178
|
};
|
|
@@ -2018,6 +2285,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2018
2285
|
}
|
|
2019
2286
|
}
|
|
2020
2287
|
_this._isDirty = true;
|
|
2288
|
+
AcApZoomCmd.rememberOriginalView(_this, btrId);
|
|
2021
2289
|
}, 300, 0);
|
|
2022
2290
|
waiter.start();
|
|
2023
2291
|
};
|
|
@@ -2028,9 +2296,10 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2028
2296
|
// Invalidate any in-flight progressive convert so it neither paints into
|
|
2029
2297
|
// the cleared scene nor double-decrements the processing counter.
|
|
2030
2298
|
this._convertEpoch++;
|
|
2299
|
+
this.clearFontLoadedRedrawTimer();
|
|
2031
2300
|
this._convertQueue.length = 0;
|
|
2032
2301
|
this._numOfEntitiesToProcess = 0;
|
|
2033
|
-
this.
|
|
2302
|
+
this.resetDeferredGeometryQueue();
|
|
2034
2303
|
this._scene.clear();
|
|
2035
2304
|
this._isDirty = true;
|
|
2036
2305
|
this._missedImages.clear();
|
|
@@ -2038,6 +2307,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2038
2307
|
this._externallyFramedLayouts.clear();
|
|
2039
2308
|
this._loadingLayouts.clear();
|
|
2040
2309
|
this._renderer.dispose();
|
|
2310
|
+
eventBus.emit('missed-data-changed', {});
|
|
2041
2311
|
};
|
|
2042
2312
|
/**
|
|
2043
2313
|
* Captures GPU/camera/selection state so another document can occupy this view.
|
|
@@ -2052,6 +2322,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2052
2322
|
externallyFramedLayouts: this._externallyFramedLayouts,
|
|
2053
2323
|
loadingLayouts: this._loadingLayouts,
|
|
2054
2324
|
missedImages: this._missedImages,
|
|
2325
|
+
missedFonts: this._renderer.snapshotMissedFonts(),
|
|
2055
2326
|
selectionIds: this.selectionSet.ids
|
|
2056
2327
|
};
|
|
2057
2328
|
};
|
|
@@ -2061,16 +2332,19 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2061
2332
|
* @param state - Snapshot previously returned by {@link captureSessionState} or {@link beginNewSession}.
|
|
2062
2333
|
*/
|
|
2063
2334
|
AcTrView2d.prototype.restoreSessionState = function (state) {
|
|
2335
|
+
var _a;
|
|
2064
2336
|
this._convertEpoch++;
|
|
2337
|
+
this.clearFontLoadedRedrawTimer();
|
|
2065
2338
|
this._convertQueue.length = 0;
|
|
2066
2339
|
this._numOfEntitiesToProcess = 0;
|
|
2067
|
-
this.
|
|
2340
|
+
this.resetDeferredGeometryQueue();
|
|
2068
2341
|
this._scene = state.scene;
|
|
2069
2342
|
this._layoutViewManager = state.layoutViewManager;
|
|
2070
2343
|
this._initializedLayouts = state.initializedLayouts;
|
|
2071
2344
|
this._externallyFramedLayouts = state.externallyFramedLayouts;
|
|
2072
2345
|
this._loadingLayouts = state.loadingLayouts;
|
|
2073
2346
|
this._missedImages = state.missedImages;
|
|
2347
|
+
this._renderer.replaceMissedFonts((_a = state.missedFonts) !== null && _a !== void 0 ? _a : {});
|
|
2074
2348
|
this.rebindLayerAppearance();
|
|
2075
2349
|
this._layoutViewManager.resize(this.width, this.height);
|
|
2076
2350
|
this.selectionSet.clear();
|
|
@@ -2078,6 +2352,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2078
2352
|
this.selectionSet.add(state.selectionIds);
|
|
2079
2353
|
}
|
|
2080
2354
|
this._isDirty = true;
|
|
2355
|
+
eventBus.emit('missed-data-changed', {});
|
|
2081
2356
|
};
|
|
2082
2357
|
/**
|
|
2083
2358
|
* Detaches the current scene and installs an empty one for a newly opened document.
|
|
@@ -2087,18 +2362,21 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2087
2362
|
AcTrView2d.prototype.beginNewSession = function () {
|
|
2088
2363
|
var parked = this.captureSessionState();
|
|
2089
2364
|
this._convertEpoch++;
|
|
2365
|
+
this.clearFontLoadedRedrawTimer();
|
|
2090
2366
|
this._convertQueue.length = 0;
|
|
2091
2367
|
this._numOfEntitiesToProcess = 0;
|
|
2092
|
-
this.
|
|
2368
|
+
this.resetDeferredGeometryQueue();
|
|
2093
2369
|
this._scene = this.createScene();
|
|
2094
2370
|
this._layoutViewManager = new AcTrLayoutViewManager();
|
|
2095
2371
|
this._initializedLayouts = new Set();
|
|
2096
2372
|
this._externallyFramedLayouts = new Set();
|
|
2097
2373
|
this._loadingLayouts = new Set();
|
|
2098
2374
|
this._missedImages = new Map();
|
|
2375
|
+
this._renderer.clearMissedFonts();
|
|
2099
2376
|
this.rebindLayerAppearance();
|
|
2100
2377
|
this.selectionSet.clear();
|
|
2101
2378
|
this._isDirty = true;
|
|
2379
|
+
eventBus.emit('missed-data-changed', {});
|
|
2102
2380
|
return parked;
|
|
2103
2381
|
};
|
|
2104
2382
|
/**
|
|
@@ -2113,6 +2391,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2113
2391
|
state.externallyFramedLayouts.clear();
|
|
2114
2392
|
state.loadingLayouts.clear();
|
|
2115
2393
|
state.missedImages.clear();
|
|
2394
|
+
state.missedFonts = {};
|
|
2116
2395
|
state.selectionIds = [];
|
|
2117
2396
|
};
|
|
2118
2397
|
/**
|
|
@@ -2132,8 +2411,9 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2132
2411
|
return current == null || current === this;
|
|
2133
2412
|
};
|
|
2134
2413
|
/**
|
|
2135
|
-
* Drains the
|
|
2136
|
-
*
|
|
2414
|
+
* Drains the convert queue on a single serial worker so ENTITY flush chunks
|
|
2415
|
+
* can enqueue without overlapping multiple {@link batchConvert} runs (which
|
|
2416
|
+
* spikes heap on large drawings).
|
|
2137
2417
|
*
|
|
2138
2418
|
* Concurrent callers share the same promise; if more entities are queued
|
|
2139
2419
|
* after a drain finishes, a follow-up drain is started.
|
|
@@ -2242,6 +2522,19 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2242
2522
|
this._rafId = null;
|
|
2243
2523
|
}
|
|
2244
2524
|
};
|
|
2525
|
+
/**
|
|
2526
|
+
* Releases canvas DOM listeners and stops the animation loop.
|
|
2527
|
+
*
|
|
2528
|
+
* Call when this view will no longer be used (manager destroy / split
|
|
2529
|
+
* view teardown). Safe to call more than once.
|
|
2530
|
+
*/
|
|
2531
|
+
AcTrView2d.prototype.dispose = function () {
|
|
2532
|
+
var _a;
|
|
2533
|
+
(_a = this._disposeCanvasTouchCallout) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
2534
|
+
this._disposeCanvasTouchCallout = undefined;
|
|
2535
|
+
this.clearFontLoadedRedrawTimer();
|
|
2536
|
+
this.stopAnimationLoop();
|
|
2537
|
+
};
|
|
2245
2538
|
/**
|
|
2246
2539
|
* @inheritdoc
|
|
2247
2540
|
*/
|
|
@@ -2272,11 +2565,21 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2272
2565
|
return stats;
|
|
2273
2566
|
};
|
|
2274
2567
|
AcTrView2d.prototype.onWindowResize = function () {
|
|
2275
|
-
|
|
2568
|
+
// Refresh size first, then sync WebGL / CSS2D / frustum before notifying
|
|
2569
|
+
// listeners so `worldToScreen` consumers see the new projection.
|
|
2570
|
+
this.refreshViewSize();
|
|
2276
2571
|
this._renderer.setSize(this.width, this.height);
|
|
2277
2572
|
this._css2dRenderer.setSize(this.width, this.height);
|
|
2278
2573
|
this._layoutViewManager.resize(this.width, this.height);
|
|
2279
2574
|
this._isDirty = true;
|
|
2575
|
+
this.events.viewResize.dispatch({
|
|
2576
|
+
width: this.width,
|
|
2577
|
+
height: this.height
|
|
2578
|
+
});
|
|
2579
|
+
// CSS2D badges reproject via `_isDirty`. Canvas overlays (measure /
|
|
2580
|
+
// markup strokes, live preview) paint with `worldToScreen` and listen to
|
|
2581
|
+
// `viewChanged` only — resize must notify them too.
|
|
2582
|
+
this.events.viewChanged.dispatch();
|
|
2280
2583
|
};
|
|
2281
2584
|
AcTrView2d.prototype.startAnimationLoop = function () {
|
|
2282
2585
|
if (this._rafId == null) {
|
|
@@ -2324,7 +2627,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2324
2627
|
* @param layoutBtrId Input the block table record id of the layout
|
|
2325
2628
|
*/
|
|
2326
2629
|
AcTrView2d.prototype.loadLayoutEntitiesIfNeeded = function (layoutBtrId) {
|
|
2327
|
-
var
|
|
2630
|
+
var e_11, _a;
|
|
2328
2631
|
var _this = this;
|
|
2329
2632
|
try {
|
|
2330
2633
|
var db = AcApDocManager.instance.curDocument.database;
|
|
@@ -2395,12 +2698,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2395
2698
|
entities_2.push(entity);
|
|
2396
2699
|
}
|
|
2397
2700
|
}
|
|
2398
|
-
catch (
|
|
2701
|
+
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
2399
2702
|
finally {
|
|
2400
2703
|
try {
|
|
2401
2704
|
if (iterator_1_1 && !iterator_1_1.done && (_a = iterator_1.return)) _a.call(iterator_1);
|
|
2402
2705
|
}
|
|
2403
|
-
finally { if (
|
|
2706
|
+
finally { if (e_11) throw e_11.error; }
|
|
2404
2707
|
}
|
|
2405
2708
|
if (entities_2.length === 0) {
|
|
2406
2709
|
// Empty layout (e.g. a freshly-created paper space tab). Mark as
|
|
@@ -2531,11 +2834,9 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2531
2834
|
switch (_a.label) {
|
|
2532
2835
|
case 0:
|
|
2533
2836
|
if (!(threeEntity instanceof AcTrGroup)) return [3 /*break*/, 2];
|
|
2534
|
-
//
|
|
2535
|
-
//
|
|
2536
|
-
|
|
2537
|
-
if (threeEntity.getSourceEntities().length === 0 &&
|
|
2538
|
-
!this.groupHasPendingGlyphGeometry(threeEntity)) {
|
|
2837
|
+
// Linework-only INSERTs (no empty glyph shells) skip asyncDraw; spatial
|
|
2838
|
+
// boxes are refreshed by syncGroupSpatialBoundsForIndexing after commit.
|
|
2839
|
+
if (!this.groupHasPendingGlyphGeometry(threeEntity)) {
|
|
2539
2840
|
return [2 /*return*/];
|
|
2540
2841
|
}
|
|
2541
2842
|
return [4 /*yield*/, threeEntity.asyncDraw()];
|
|
@@ -2555,7 +2856,139 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2555
2856
|
});
|
|
2556
2857
|
};
|
|
2557
2858
|
AcTrView2d.prototype.needsDeferredFontGeometry = function (threeEntity) {
|
|
2558
|
-
|
|
2859
|
+
if (threeEntity instanceof AcTrGlyphEntity) {
|
|
2860
|
+
return !threeEntity.hasDrawableGeometry();
|
|
2861
|
+
}
|
|
2862
|
+
// Only defer INSERTs that still have empty glyph shells. Linework-only
|
|
2863
|
+
// blocks should commit on the convert path and not occupy the geometry pool.
|
|
2864
|
+
if (threeEntity instanceof AcTrGroup) {
|
|
2865
|
+
return this.groupHasPendingGlyphGeometry(threeEntity);
|
|
2866
|
+
}
|
|
2867
|
+
return false;
|
|
2868
|
+
};
|
|
2869
|
+
AcTrView2d.prototype.clearFontLoadedRedrawTimer = function () {
|
|
2870
|
+
if (this._fontLoadedRedrawTimer != null) {
|
|
2871
|
+
clearTimeout(this._fontLoadedRedrawTimer);
|
|
2872
|
+
this._fontLoadedRedrawTimer = null;
|
|
2873
|
+
}
|
|
2874
|
+
};
|
|
2875
|
+
/**
|
|
2876
|
+
* Coalesces late font-load notifications into one glyph rebuild pass.
|
|
2877
|
+
*/
|
|
2878
|
+
AcTrView2d.prototype.scheduleGlyphRedrawAfterFontLoad = function (fontName) {
|
|
2879
|
+
var _this = this;
|
|
2880
|
+
this.clearFontLoadedRedrawTimer();
|
|
2881
|
+
var epoch = this._convertEpoch;
|
|
2882
|
+
this._fontLoadedRedrawTimer = setTimeout(function () {
|
|
2883
|
+
_this._fontLoadedRedrawTimer = null;
|
|
2884
|
+
if (epoch !== _this._convertEpoch) {
|
|
2885
|
+
return;
|
|
2886
|
+
}
|
|
2887
|
+
void _this.redrawGlyphEntitiesAfterFontLoad(epoch, fontName);
|
|
2888
|
+
}, 50);
|
|
2889
|
+
};
|
|
2890
|
+
/**
|
|
2891
|
+
* Rebuilds text after a late {@link FontManager.events.fontLoaded}.
|
|
2892
|
+
*
|
|
2893
|
+
* Live {@link AcTrGlyphEntity} shells (rare: mid-convert / not yet batched)
|
|
2894
|
+
* are re-drawn in place. Committed text is already flattened into batches and
|
|
2895
|
+
* disposed, so on-demand faces (style `malgun` → Noto Sans KR) need a database
|
|
2896
|
+
* regen once conversion is idle — otherwise Hangul stays baked as '?'.
|
|
2897
|
+
*/
|
|
2898
|
+
AcTrView2d.prototype.redrawGlyphEntitiesAfterFontLoad = function (epoch, fontName) {
|
|
2899
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2900
|
+
var redrawEpoch, glyphs, _a, _b, layout, glyphs_1, glyphs_1_1, glyph, e_12_1, defaults, normalized_1, db;
|
|
2901
|
+
var e_13, _c, e_12, _d;
|
|
2902
|
+
var _e, _f;
|
|
2903
|
+
return __generator(this, function (_g) {
|
|
2904
|
+
switch (_g.label) {
|
|
2905
|
+
case 0:
|
|
2906
|
+
if (epoch !== this._convertEpoch) {
|
|
2907
|
+
return [2 /*return*/];
|
|
2908
|
+
}
|
|
2909
|
+
redrawEpoch = ++this._fontLoadedRedrawEpoch;
|
|
2910
|
+
glyphs = [];
|
|
2911
|
+
try {
|
|
2912
|
+
for (_a = __values(this._scene.layouts.values()), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
2913
|
+
layout = _b.value;
|
|
2914
|
+
layout.layers.forEach(function (layer) {
|
|
2915
|
+
layer.internalObject.traverse(function (obj) {
|
|
2916
|
+
if (obj instanceof AcTrGlyphEntity) {
|
|
2917
|
+
glyphs.push(obj);
|
|
2918
|
+
}
|
|
2919
|
+
});
|
|
2920
|
+
});
|
|
2921
|
+
}
|
|
2922
|
+
}
|
|
2923
|
+
catch (e_13_1) { e_13 = { error: e_13_1 }; }
|
|
2924
|
+
finally {
|
|
2925
|
+
try {
|
|
2926
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
2927
|
+
}
|
|
2928
|
+
finally { if (e_13) throw e_13.error; }
|
|
2929
|
+
}
|
|
2930
|
+
_g.label = 1;
|
|
2931
|
+
case 1:
|
|
2932
|
+
_g.trys.push([1, 6, 7, 8]);
|
|
2933
|
+
glyphs_1 = __values(glyphs), glyphs_1_1 = glyphs_1.next();
|
|
2934
|
+
_g.label = 2;
|
|
2935
|
+
case 2:
|
|
2936
|
+
if (!!glyphs_1_1.done) return [3 /*break*/, 5];
|
|
2937
|
+
glyph = glyphs_1_1.value;
|
|
2938
|
+
if (epoch !== this._convertEpoch ||
|
|
2939
|
+
redrawEpoch !== this._fontLoadedRedrawEpoch) {
|
|
2940
|
+
return [2 /*return*/];
|
|
2941
|
+
}
|
|
2942
|
+
return [4 /*yield*/, glyph.asyncDraw()];
|
|
2943
|
+
case 3:
|
|
2944
|
+
_g.sent();
|
|
2945
|
+
_g.label = 4;
|
|
2946
|
+
case 4:
|
|
2947
|
+
glyphs_1_1 = glyphs_1.next();
|
|
2948
|
+
return [3 /*break*/, 2];
|
|
2949
|
+
case 5: return [3 /*break*/, 8];
|
|
2950
|
+
case 6:
|
|
2951
|
+
e_12_1 = _g.sent();
|
|
2952
|
+
e_12 = { error: e_12_1 };
|
|
2953
|
+
return [3 /*break*/, 8];
|
|
2954
|
+
case 7:
|
|
2955
|
+
try {
|
|
2956
|
+
if (glyphs_1_1 && !glyphs_1_1.done && (_d = glyphs_1.return)) _d.call(glyphs_1);
|
|
2957
|
+
}
|
|
2958
|
+
finally { if (e_12) throw e_12.error; }
|
|
2959
|
+
return [7 /*endfinally*/];
|
|
2960
|
+
case 8:
|
|
2961
|
+
if (glyphs.length > 0) {
|
|
2962
|
+
if (epoch === this._convertEpoch) {
|
|
2963
|
+
this._isDirty = true;
|
|
2964
|
+
}
|
|
2965
|
+
return [2 /*return*/];
|
|
2966
|
+
}
|
|
2967
|
+
// Default preset loads during open are covered by awaitFontsBeforeDraw;
|
|
2968
|
+
// regenerating for those would thrash after every open.
|
|
2969
|
+
if (fontName) {
|
|
2970
|
+
defaults = FontManager.instance.defaultFonts;
|
|
2971
|
+
normalized_1 = fontName.toLowerCase();
|
|
2972
|
+
if (defaults.has(fontName) ||
|
|
2973
|
+
defaults.has(normalized_1) ||
|
|
2974
|
+
__spreadArray([], __read(defaults), false).some(function (name) { return name.toLowerCase() === normalized_1; })) {
|
|
2975
|
+
return [2 /*return*/];
|
|
2976
|
+
}
|
|
2977
|
+
}
|
|
2978
|
+
if (epoch !== this._convertEpoch ||
|
|
2979
|
+
redrawEpoch !== this._fontLoadedRedrawEpoch ||
|
|
2980
|
+
this.isProcessingEntities) {
|
|
2981
|
+
return [2 /*return*/];
|
|
2982
|
+
}
|
|
2983
|
+
db = (_f = (_e = AcApDocManager.instance) === null || _e === void 0 ? void 0 : _e.curDocument) === null || _f === void 0 ? void 0 : _f.database;
|
|
2984
|
+
if (!db) {
|
|
2985
|
+
return [2 /*return*/];
|
|
2986
|
+
}
|
|
2987
|
+
db.regen();
|
|
2988
|
+
return [2 /*return*/];
|
|
2989
|
+
}
|
|
2990
|
+
});
|
|
2991
|
+
});
|
|
2559
2992
|
};
|
|
2560
2993
|
AcTrView2d.prototype.groupHasPendingGlyphGeometry = function (group) {
|
|
2561
2994
|
var pending = false;
|
|
@@ -2569,32 +3002,69 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2569
3002
|
/**
|
|
2570
3003
|
* Runs glyph/group geometry finalize off the main convert loop so other
|
|
2571
3004
|
* entities keep converting while fonts download.
|
|
3005
|
+
*
|
|
3006
|
+
* Jobs are queued with bounded concurrency — unbounded parallel
|
|
3007
|
+
* `asyncDraw` on large INSERT/text drawings can freeze the main thread
|
|
3008
|
+
* during the "Rendering drawing ..." stage.
|
|
2572
3009
|
*/
|
|
2573
3010
|
AcTrView2d.prototype.enqueueDeferredGeometry = function (run, epoch) {
|
|
2574
|
-
var _this = this;
|
|
2575
3011
|
if (epoch !== this._convertEpoch) {
|
|
2576
3012
|
return;
|
|
2577
3013
|
}
|
|
2578
3014
|
this._pendingGeometryJobs++;
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
3015
|
+
this._deferredGeometryQueue.push({ run: run, epoch: epoch });
|
|
3016
|
+
this.pumpDeferredGeometryQueue();
|
|
3017
|
+
};
|
|
3018
|
+
/**
|
|
3019
|
+
* Starts queued deferred geometry jobs up to
|
|
3020
|
+
* {@link DEFERRED_GEOMETRY_CONCURRENCY}.
|
|
3021
|
+
*/
|
|
3022
|
+
AcTrView2d.prototype.pumpDeferredGeometryQueue = function () {
|
|
3023
|
+
var _this = this;
|
|
3024
|
+
var _loop_3 = function () {
|
|
3025
|
+
var job = this_2._deferredGeometryQueue.shift();
|
|
3026
|
+
if (job.epoch !== this_2._convertEpoch) {
|
|
3027
|
+
this_2._pendingGeometryJobs = Math.max(0, this_2._pendingGeometryJobs - 1);
|
|
3028
|
+
return "continue";
|
|
2585
3029
|
}
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
if (_this._pendingGeometryJobs === 0) {
|
|
3030
|
+
this_2._deferredGeometryActive++;
|
|
3031
|
+
void job
|
|
3032
|
+
.run()
|
|
3033
|
+
.then(function () {
|
|
3034
|
+
// Convert counter often hits 0 before fonts finish; without this,
|
|
3035
|
+
// text added later never paints until the user pans/zooms.
|
|
3036
|
+
if (job.epoch === _this._convertEpoch) {
|
|
2594
3037
|
_this._isDirty = true;
|
|
2595
3038
|
}
|
|
2596
|
-
}
|
|
2597
|
-
|
|
3039
|
+
})
|
|
3040
|
+
.catch(function (error) {
|
|
3041
|
+
log.error('[AcTrView2d] Deferred entity geometry failed:', error);
|
|
3042
|
+
})
|
|
3043
|
+
.finally(function () {
|
|
3044
|
+
_this._deferredGeometryActive = Math.max(0, _this._deferredGeometryActive - 1);
|
|
3045
|
+
if (job.epoch === _this._convertEpoch) {
|
|
3046
|
+
_this._pendingGeometryJobs = Math.max(0, _this._pendingGeometryJobs - 1);
|
|
3047
|
+
if (_this._pendingGeometryJobs === 0) {
|
|
3048
|
+
_this._isDirty = true;
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
_this.pumpDeferredGeometryQueue();
|
|
3052
|
+
});
|
|
3053
|
+
};
|
|
3054
|
+
var this_2 = this;
|
|
3055
|
+
while (this._deferredGeometryActive <
|
|
3056
|
+
AcTrView2d.DEFERRED_GEOMETRY_CONCURRENCY &&
|
|
3057
|
+
this._deferredGeometryQueue.length > 0) {
|
|
3058
|
+
_loop_3();
|
|
3059
|
+
}
|
|
3060
|
+
};
|
|
3061
|
+
/** Drops queued deferred geometry and resets counters for a new epoch. */
|
|
3062
|
+
AcTrView2d.prototype.resetDeferredGeometryQueue = function () {
|
|
3063
|
+
this._deferredGeometryQueue.length = 0;
|
|
3064
|
+
// Keep `_deferredGeometryActive`: in-flight runners still own concurrency
|
|
3065
|
+
// slots until their `finally` runs. Zeroing here lets pump over-schedule
|
|
3066
|
+
// when those completions decrement the counter afterward.
|
|
3067
|
+
this._pendingGeometryJobs = 0;
|
|
2598
3068
|
};
|
|
2599
3069
|
/**
|
|
2600
3070
|
* Waits until side-pool glyph/group jobs for the current convert epoch finish.
|
|
@@ -2638,7 +3108,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2638
3108
|
* paper layouts.
|
|
2639
3109
|
*/
|
|
2640
3110
|
AcTrView2d.prototype.ensureViewportViews = function (blockTableRecord, layoutView) {
|
|
2641
|
-
var
|
|
3111
|
+
var e_14, _a;
|
|
2642
3112
|
var iterator = blockTableRecord.newIterator();
|
|
2643
3113
|
try {
|
|
2644
3114
|
for (var iterator_2 = __values(iterator), iterator_2_1 = iterator_2.next(); !iterator_2_1.done; iterator_2_1 = iterator_2.next()) {
|
|
@@ -2651,12 +3121,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2651
3121
|
layoutView.addViewport(viewportView);
|
|
2652
3122
|
}
|
|
2653
3123
|
}
|
|
2654
|
-
catch (
|
|
3124
|
+
catch (e_14_1) { e_14 = { error: e_14_1 }; }
|
|
2655
3125
|
finally {
|
|
2656
3126
|
try {
|
|
2657
3127
|
if (iterator_2_1 && !iterator_2_1.done && (_a = iterator_2.return)) _a.call(iterator_2);
|
|
2658
3128
|
}
|
|
2659
|
-
finally { if (
|
|
3129
|
+
finally { if (e_14) throw e_14.error; }
|
|
2660
3130
|
}
|
|
2661
3131
|
};
|
|
2662
3132
|
/**
|
|
@@ -2666,7 +3136,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2666
3136
|
*/
|
|
2667
3137
|
AcTrView2d.prototype.batchConvert = function (entities_3) {
|
|
2668
3138
|
return __awaiter(this, arguments, void 0, function (entities, options) {
|
|
2669
|
-
var epoch, progressive, yieldGate, yieldToEventLoop,
|
|
3139
|
+
var epoch, progressive, yieldGate, yieldToEventLoop, _loop_4, this_3, i;
|
|
2670
3140
|
var _this = this;
|
|
2671
3141
|
if (options === void 0) { options = {}; }
|
|
2672
3142
|
return __generator(this, function (_a) {
|
|
@@ -2674,13 +3144,13 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2674
3144
|
case 0:
|
|
2675
3145
|
epoch = this._convertEpoch;
|
|
2676
3146
|
progressive = this._progressiveRendering && !options.forExport;
|
|
2677
|
-
yieldGate =
|
|
2678
|
-
?
|
|
2679
|
-
:
|
|
3147
|
+
yieldGate = options.forExport
|
|
3148
|
+
? undefined
|
|
3149
|
+
: new AcCmUiYieldGate(AcTrView2d.OPEN_CONVERT_YIELD_BUDGET_MS);
|
|
2680
3150
|
yieldToEventLoop = function () {
|
|
2681
3151
|
return new Promise(function (resolve) { return setTimeout(resolve, 0); });
|
|
2682
3152
|
};
|
|
2683
|
-
|
|
3153
|
+
_loop_4 = function (i) {
|
|
2684
3154
|
var entity, shouldConvert, directMeta, added, threeEntity_1, isMultiLayerGroup, deferGeometry, isExtendBbox_1, commitEntity, layoutView, viewportView, fileName, error_2, didYield;
|
|
2685
3155
|
return __generator(this, function (_b) {
|
|
2686
3156
|
switch (_b.label) {
|
|
@@ -2690,7 +3160,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2690
3160
|
case 1:
|
|
2691
3161
|
_b.trys.push([1, 9, 10, 11]);
|
|
2692
3162
|
// Document was cleared / replaced while this batch was draining.
|
|
2693
|
-
if (epoch !==
|
|
3163
|
+
if (epoch !== this_3._convertEpoch) {
|
|
2694
3164
|
return [2 /*return*/, "continue"];
|
|
2695
3165
|
}
|
|
2696
3166
|
// Skip the default paper-space viewport (`*Paper_Space`) entirely:
|
|
@@ -2709,21 +3179,21 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2709
3179
|
return [2 /*return*/, "continue"];
|
|
2710
3180
|
}
|
|
2711
3181
|
shouldConvert = options.forExport
|
|
2712
|
-
?
|
|
2713
|
-
:
|
|
3182
|
+
? this_3._entityDisplay.shouldConvertForExport(entity)
|
|
3183
|
+
: this_3._entityDisplay.shouldConvert(entity);
|
|
2714
3184
|
if (!shouldConvert) {
|
|
2715
3185
|
return [2 /*return*/, "continue"];
|
|
2716
3186
|
}
|
|
2717
|
-
directMeta = tryBuildDirectEntityMeta(entity,
|
|
3187
|
+
directMeta = tryBuildDirectEntityMeta(entity, this_3._renderer);
|
|
2718
3188
|
if (directMeta) {
|
|
2719
3189
|
added = false;
|
|
2720
3190
|
try {
|
|
2721
|
-
added =
|
|
3191
|
+
added = this_3._scene.addDirectEntity(directMeta, shouldExtendBboxForDirectEntity(entity));
|
|
2722
3192
|
if (added) {
|
|
2723
|
-
|
|
3193
|
+
this_3.applySessionHiddenObjectState(entity.objectId);
|
|
2724
3194
|
if (progressive) {
|
|
2725
|
-
|
|
2726
|
-
|
|
3195
|
+
this_3.markProgressiveDirty();
|
|
3196
|
+
this_3._progressiveOpenFit.afterGeometryBatch(function () { return _this.resolveLayoutFitBox(); }, i);
|
|
2727
3197
|
}
|
|
2728
3198
|
}
|
|
2729
3199
|
}
|
|
@@ -2735,7 +3205,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2735
3205
|
}
|
|
2736
3206
|
// Append refused (e.g. invisible) — fall through to the legacy path.
|
|
2737
3207
|
}
|
|
2738
|
-
threeEntity_1 =
|
|
3208
|
+
threeEntity_1 = this_3.drawEntity(entity, false);
|
|
2739
3209
|
// Viewports may produce no border geometry (e.g. on a no-plot layer) while
|
|
2740
3210
|
// still needing an AcTrViewportView for model content below.
|
|
2741
3211
|
if (!threeEntity_1 && !(entity instanceof AcDbViewport))
|
|
@@ -2749,19 +3219,19 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2749
3219
|
threeEntity_1.isOnTheSameLayer) {
|
|
2750
3220
|
// Even when a block expands to a single layer bucket, children authored on
|
|
2751
3221
|
// layer "0" still inherit the INSERT layer for ByLayer traits (color, etc.).
|
|
2752
|
-
|
|
3222
|
+
this_3._inheritedLayerMaterialMapper.remap(threeEntity_1.children, '0', threeEntity_1.layerName);
|
|
2753
3223
|
threeEntity_1.userData.insertLayerName = threeEntity_1.layerName;
|
|
2754
3224
|
}
|
|
2755
3225
|
isMultiLayerGroup = threeEntity_1 instanceof AcTrGroup &&
|
|
2756
3226
|
!threeEntity_1.isOnTheSameLayer;
|
|
2757
|
-
deferGeometry = !options.forExport &&
|
|
3227
|
+
deferGeometry = !options.forExport && this_3.needsDeferredFontGeometry(threeEntity_1);
|
|
2758
3228
|
if (!isMultiLayerGroup) return [3 /*break*/, 5];
|
|
2759
3229
|
if (!deferGeometry) return [3 /*break*/, 2];
|
|
2760
|
-
|
|
3230
|
+
this_3.enqueueDeferredGeometry(function () {
|
|
2761
3231
|
return _this.handleGroup(threeEntity_1, progressive, epoch);
|
|
2762
3232
|
}, epoch);
|
|
2763
3233
|
return [3 /*break*/, 4];
|
|
2764
|
-
case 2: return [4 /*yield*/,
|
|
3234
|
+
case 2: return [4 /*yield*/, this_3.handleGroup(threeEntity_1, progressive, epoch)];
|
|
2765
3235
|
case 3:
|
|
2766
3236
|
_b.sent();
|
|
2767
3237
|
_b.label = 4;
|
|
@@ -2795,14 +3265,14 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2795
3265
|
});
|
|
2796
3266
|
}); };
|
|
2797
3267
|
if (!deferGeometry) return [3 /*break*/, 6];
|
|
2798
|
-
|
|
3268
|
+
this_3.enqueueDeferredGeometry(commitEntity, epoch);
|
|
2799
3269
|
return [3 /*break*/, 8];
|
|
2800
3270
|
case 6: return [4 /*yield*/, commitEntity()];
|
|
2801
3271
|
case 7:
|
|
2802
3272
|
_b.sent();
|
|
2803
3273
|
_b.label = 8;
|
|
2804
3274
|
case 8:
|
|
2805
|
-
if (epoch !==
|
|
3275
|
+
if (epoch !== this_3._convertEpoch) {
|
|
2806
3276
|
return [2 /*return*/, "continue"];
|
|
2807
3277
|
}
|
|
2808
3278
|
if (entity instanceof AcDbViewport) {
|
|
@@ -2812,9 +3282,9 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2812
3282
|
// a defensive guard in case a future refactor reorders the
|
|
2813
3283
|
// early-skip — it costs ~nothing and prevents a regression.
|
|
2814
3284
|
if (!AcTrViewportView.isDefaultPaperSpaceViewport(entity)) {
|
|
2815
|
-
layoutView =
|
|
3285
|
+
layoutView = this_3._layoutViewManager.getAt(entity.ownerId);
|
|
2816
3286
|
if (layoutView) {
|
|
2817
|
-
viewportView = new AcTrViewportView(layoutView, entity.toGiViewport(),
|
|
3287
|
+
viewportView = new AcTrViewportView(layoutView, entity.toGiViewport(), this_3._renderer);
|
|
2818
3288
|
layoutView.addViewport(viewportView);
|
|
2819
3289
|
}
|
|
2820
3290
|
}
|
|
@@ -2822,7 +3292,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2822
3292
|
else if (entity instanceof AcDbRasterImage) {
|
|
2823
3293
|
fileName = entity.imageFileName;
|
|
2824
3294
|
if (fileName && !entity.image) {
|
|
2825
|
-
|
|
3295
|
+
this_3._missedImages.set(entity.objectId, fileName);
|
|
2826
3296
|
}
|
|
2827
3297
|
}
|
|
2828
3298
|
return [3 /*break*/, 11];
|
|
@@ -2833,12 +3303,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2833
3303
|
case 10:
|
|
2834
3304
|
// Counter was reset in clear() when the epoch advanced; do not
|
|
2835
3305
|
// decrease again or isProcessingEntities can go negative/warn.
|
|
2836
|
-
if (epoch ===
|
|
2837
|
-
|
|
3306
|
+
if (epoch === this_3._convertEpoch) {
|
|
3307
|
+
this_3.decreaseNumOfEntitiesToProcess();
|
|
2838
3308
|
}
|
|
2839
3309
|
return [7 /*endfinally*/];
|
|
2840
3310
|
case 11:
|
|
2841
|
-
if (epoch !==
|
|
3311
|
+
if (epoch !== this_3._convertEpoch) {
|
|
2842
3312
|
return [2 /*return*/, "continue"];
|
|
2843
3313
|
}
|
|
2844
3314
|
if (!yieldGate) return [3 /*break*/, 13];
|
|
@@ -2846,19 +3316,19 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2846
3316
|
case 12:
|
|
2847
3317
|
didYield = _b.sent();
|
|
2848
3318
|
if (didYield) {
|
|
2849
|
-
|
|
3319
|
+
this_3._progressiveYieldCount++;
|
|
2850
3320
|
}
|
|
2851
3321
|
_b.label = 13;
|
|
2852
3322
|
case 13: return [2 /*return*/];
|
|
2853
3323
|
}
|
|
2854
3324
|
});
|
|
2855
3325
|
};
|
|
2856
|
-
|
|
3326
|
+
this_3 = this;
|
|
2857
3327
|
i = 0;
|
|
2858
3328
|
_a.label = 1;
|
|
2859
3329
|
case 1:
|
|
2860
3330
|
if (!(i < entities.length)) return [3 /*break*/, 4];
|
|
2861
|
-
return [5 /*yield**/,
|
|
3331
|
+
return [5 /*yield**/, _loop_4(i)];
|
|
2862
3332
|
case 2:
|
|
2863
3333
|
_a.sent();
|
|
2864
3334
|
_a.label = 3;
|
|
@@ -2893,7 +3363,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2893
3363
|
AcTrView2d.prototype.handleGroup = function (group_1, progressive_1) {
|
|
2894
3364
|
return __awaiter(this, arguments, void 0, function (group, progressive, epoch) {
|
|
2895
3365
|
var children, objectsGroupByLayer, children_1, children_1_1, child, renderContext, groupObjectId, groupLayerName, groupChildBoxes, aggregateSpatialBbox;
|
|
2896
|
-
var
|
|
3366
|
+
var e_15, _a;
|
|
2897
3367
|
var _this = this;
|
|
2898
3368
|
if (epoch === void 0) { epoch = this._convertEpoch; }
|
|
2899
3369
|
return __generator(this, function (_b) {
|
|
@@ -2935,12 +3405,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2935
3405
|
child.parent = null;
|
|
2936
3406
|
}
|
|
2937
3407
|
}
|
|
2938
|
-
catch (
|
|
3408
|
+
catch (e_15_1) { e_15 = { error: e_15_1 }; }
|
|
2939
3409
|
finally {
|
|
2940
3410
|
try {
|
|
2941
3411
|
if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);
|
|
2942
3412
|
}
|
|
2943
|
-
finally { if (
|
|
3413
|
+
finally { if (e_15) throw e_15.error; }
|
|
2944
3414
|
}
|
|
2945
3415
|
renderContext = group.renderContext;
|
|
2946
3416
|
groupObjectId = group.objectId;
|
|
@@ -2986,7 +3456,11 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
2986
3456
|
// buckets, so selection/highlight still maps back to the same database object.
|
|
2987
3457
|
// Within each layer bucket, the object id remains unique in scene indexing.
|
|
2988
3458
|
var entity = new AcTrEntity(renderContext);
|
|
2989
|
-
|
|
3459
|
+
// Copy the INSERT matrix exactly — applyMatrix4 decomposes and drops
|
|
3460
|
+
// reflections from mirrored block scales.
|
|
3461
|
+
entity.matrix.copy(group.matrix);
|
|
3462
|
+
entity.matrixAutoUpdate = false;
|
|
3463
|
+
entity.matrixWorldNeedsUpdate = true;
|
|
2990
3464
|
entity.objectId = groupObjectId;
|
|
2991
3465
|
entity.ownerId = group.ownerId;
|
|
2992
3466
|
// If block-definition entities are on layer "0", this bucket now uses the layer
|
|
@@ -3002,6 +3476,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
3002
3476
|
for (var i = 0; i < objects.length; i++) {
|
|
3003
3477
|
entity.add(objects[i]);
|
|
3004
3478
|
}
|
|
3479
|
+
entity.updateMatrixWorld(true);
|
|
3005
3480
|
_this._layerAppearance.refreshTextMaterialsInObjectTree(entity);
|
|
3006
3481
|
_this._scene.addEntity(entity, true);
|
|
3007
3482
|
_this.applySessionHiddenObjectState(groupObjectId);
|
|
@@ -3034,17 +3509,27 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
3034
3509
|
}
|
|
3035
3510
|
};
|
|
3036
3511
|
/**
|
|
3037
|
-
* Wall-time between cooperative yields during
|
|
3038
|
-
*
|
|
3039
|
-
*
|
|
3512
|
+
* Wall-time between cooperative yields during scene convert (ms).
|
|
3513
|
+
* Used for both progressive and non-progressive opens so large drawings
|
|
3514
|
+
* (e.g. multi-sheet architectural DWGs) cannot freeze the main thread long
|
|
3515
|
+
* enough for Chromium to show "Page Unresponsive" while the overlay still
|
|
3516
|
+
* reads "Rendering drawing ...". Kept relatively large so convert
|
|
3517
|
+
* throughput stays high; smaller budgets made open 2–3× slower.
|
|
3040
3518
|
*/
|
|
3041
|
-
AcTrView2d.
|
|
3519
|
+
AcTrView2d.OPEN_CONVERT_YIELD_BUDGET_MS = 300;
|
|
3042
3520
|
/**
|
|
3043
3521
|
* Minimum interval between progressive mid-open paints (ms).
|
|
3044
3522
|
* Full-scene WebGL paints dominate open wall time on large drawings;
|
|
3045
|
-
* paint much less often than we yield.
|
|
3523
|
+
* paint much less often than we yield. Independent of convert yields —
|
|
3524
|
+
* non-progressive opens still yield without mid-open WebGL paints.
|
|
3046
3525
|
*/
|
|
3047
3526
|
AcTrView2d.PROGRESSIVE_OPEN_PAINT_INTERVAL_MS = 1000;
|
|
3527
|
+
/**
|
|
3528
|
+
* Max concurrent deferred glyph/INSERT geometry finalizers. Large drawings
|
|
3529
|
+
* enqueue thousands of jobs; keep this modest to limit peak JS heap during
|
|
3530
|
+
* open while retaining reasonable text throughput after convert finishes.
|
|
3531
|
+
*/
|
|
3532
|
+
AcTrView2d.DEFERRED_GEOMETRY_CONCURRENCY = 8;
|
|
3048
3533
|
return AcTrView2d;
|
|
3049
3534
|
}(AcEdBaseView));
|
|
3050
3535
|
export { AcTrView2d };
|