@arcgis/core 6.0.0-next.34 → 6.0.0-next.36
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/Basemap.d.ts +2 -2
- package/analysis/ShadowCastAnalysis.d.ts +11 -5
- package/arcgisGlobal.d.ts +1 -0
- package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
- package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/01f55004d64309f8538b.js +1 -0
- package/assets/esri/core/workers/chunks/0202eb8c2b2865f99981.js +1 -0
- package/assets/esri/core/workers/chunks/{67e533748435253aaba6.js → 0284f608d25c654fcc11.js} +1 -1
- package/assets/esri/core/workers/chunks/{7810586c35dfe1437516.js → 06102715e9a8f218e07c.js} +1 -1
- package/assets/esri/core/workers/chunks/{6029773458ab98600f67.js → 07e5482e1fc69be5de09.js} +1 -1
- package/assets/esri/core/workers/chunks/08140725277de5d2e41a.js +1 -0
- package/assets/esri/core/workers/chunks/{2d9a1f23ec6ce90723ac.js → 0d99bfb75dcb9fa29080.js} +1 -1
- package/assets/esri/core/workers/chunks/10ad7b35b6800d40444e.js +1 -0
- package/assets/esri/core/workers/chunks/1132e28aaa5825b10b6e.js +1 -0
- package/assets/esri/core/workers/chunks/{dd30b02c5978c1c5f511.js → 155861fbd0e5fc2db80c.js} +1 -1
- package/assets/esri/core/workers/chunks/165ca7a97b611c8f26c4.js +1 -0
- package/assets/esri/core/workers/chunks/1ae0c9345626e70affd3.js +2 -0
- package/assets/esri/core/workers/chunks/{cd355baab983033c3ef0.js → 1ec772eaa63eb6937231.js} +1 -1
- package/assets/esri/core/workers/chunks/{5c04835b0b52461183cd.js → 1fd82fcba2758741996a.js} +1 -1
- package/assets/esri/core/workers/chunks/21e1d423ee33f916547e.js +1 -0
- package/assets/esri/core/workers/chunks/{e8e54faf947a582b4cf7.js → 247617c0dbae2386ab3b.js} +1 -1
- package/assets/esri/core/workers/chunks/{97ec46605f16333144b7.js → 26ea39dfdf887f357fce.js} +1 -1
- package/assets/esri/core/workers/chunks/{85de980c5b296ec69323.js → 279089a6a3f08022c678.js} +1 -1
- package/assets/esri/core/workers/chunks/{b657363113f4a37e634b.js → 3223f9fbc76ba9ef8d13.js} +1 -1
- package/assets/esri/core/workers/chunks/322b22a5d54e404bebd5.js +1 -0
- package/assets/esri/core/workers/chunks/{122e75b21699a4e83b15.js → 338d800d4efcc91cead1.js} +1 -1
- package/assets/esri/core/workers/chunks/3537fe95b83a13b156cc.js +1 -0
- package/assets/esri/core/workers/chunks/{f09bc86cd52224febfcb.js → 3b380e64566a6cce59e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{a1e8209d00809c9520a0.js → 3fe4c89acd325d36618d.js} +1 -1
- package/assets/esri/core/workers/chunks/449a2dee17b54946f245.js +1 -0
- package/assets/esri/core/workers/chunks/{311e4969f19df63451dd.js → 4e5405134d079bdf9b7a.js} +1 -1
- package/assets/esri/core/workers/chunks/{d070fcb73ce274ab80e4.js → 5504ec9bd9ee4d10af07.js} +1 -1
- package/assets/esri/core/workers/chunks/552c36b40e5a5ec117fb.js +1 -0
- package/assets/esri/core/workers/chunks/5622f3faa59434772857.js +1 -0
- package/assets/esri/core/workers/chunks/59a1b637d2c107504a04.js +1 -0
- package/assets/esri/core/workers/chunks/59a88dd53f8806bbec06.js +1 -0
- package/assets/esri/core/workers/chunks/5c2fe67527c9d7b4dba3.js +1 -0
- package/assets/esri/core/workers/chunks/5d781c2c6204cffffd0d.js +1 -0
- package/assets/esri/core/workers/chunks/61d36730564c5ac5edab.js +1 -0
- package/assets/esri/core/workers/chunks/6604272ef6fe85279032.js +1 -0
- package/assets/esri/core/workers/chunks/{90c1d10eae7ae71889b0.js → 7400b8c454b47ee4fb3c.js} +1 -1
- package/assets/esri/core/workers/chunks/796c6195b6bf59dcc9bd.js +1 -0
- package/assets/esri/core/workers/chunks/7b45ac83e279fe9516a5.js +1 -0
- package/assets/esri/core/workers/chunks/{2de077c7b971f2c215a6.js → 7ddbde8fdd1cf3c53f50.js} +1 -1
- package/assets/esri/core/workers/chunks/804606b194dc9e71d088.js +1 -0
- package/assets/esri/core/workers/chunks/8102f0bf5707c3be3310.js +1 -0
- package/assets/esri/core/workers/chunks/{676c8c0329d68f9f3ac4.js → 81bcc495e6eaf2cf7474.js} +1 -1
- package/assets/esri/core/workers/chunks/{d1d6154b4af1c9cc497b.js → 934e1f2153e6fad6ed23.js} +1 -1
- package/assets/esri/core/workers/chunks/{e096c1d9d53af74d3207.js → 990e96139b5a1dccb061.js} +1 -1
- package/assets/esri/core/workers/chunks/{f28b63c1179366dac8a2.js → 9e2c30b67bab5795306e.js} +1 -1
- package/assets/esri/core/workers/chunks/{9184c947cdefe06bf551.js → a18c3cbe505a19d29569.js} +1 -1
- package/assets/esri/core/workers/chunks/aa6ee2aa4ff6e6d41efb.js +1 -0
- package/assets/esri/core/workers/chunks/{3fd5c3cd8457ddc68798.js → aa779896fd9e5c341349.js} +1 -1
- package/assets/esri/core/workers/chunks/ac10c7d2c4829a150037.js +1 -0
- package/assets/esri/core/workers/chunks/{e0a7a75709121a26f255.js → afc8a9847f31bb66b13b.js} +1 -1
- package/assets/esri/core/workers/chunks/c7adb7b77721c75891f4.js +1 -0
- package/assets/esri/core/workers/chunks/{bead830a677690eeb6fb.js → ce8ef2eec290e1df6b2a.js} +1 -1
- package/assets/esri/core/workers/chunks/d3369ffed19f4c264dcd.js +1 -0
- package/assets/esri/core/workers/chunks/d3412518a7b518860fbb.js +1 -0
- package/assets/esri/core/workers/chunks/{3048e74e6246324ce6fc.js → d5916500514a41a4758f.js} +1 -1
- package/assets/esri/core/workers/chunks/{c034c30e577d620b8e28.js → dac69c0047488fdf986d.js} +1 -1
- package/assets/esri/core/workers/chunks/dcc782e4bf9e8a8202f9.js +1 -0
- package/assets/esri/core/workers/chunks/dcdf837a452dc0cac582.js +1 -0
- package/assets/esri/core/workers/chunks/{19a4fa965b70fc6f78f6.js → e209cb1f3f14bf576ebe.js} +1 -1
- package/assets/esri/core/workers/chunks/e67ea2f1714e5abeae44.js +1 -0
- package/assets/esri/core/workers/chunks/e8fb2ba7b7a4f0916325.js +1 -0
- package/assets/esri/core/workers/chunks/efcd38aad9aa667001b2.js +1 -0
- package/assets/esri/core/workers/chunks/{3aafdb905c697bc9b1ad.js → f372f4eb5527238c46f5.js} +1 -1
- package/assets/esri/core/workers/chunks/f497968055af459c5da4.js +1 -0
- package/assets/esri/core/workers/chunks/f7123ba1286f64e13e91.js +1 -0
- package/assets/esri/core/workers/chunks/fcb4707c2e95099b9f30.js +1 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/chunks/BlurEmission.glsl.js +9 -4
- package/chunks/RibbonLine.glsl.js +158 -84
- package/chunks/Terrain.glsl.js +9 -9
- package/chunks/libtess-f32.js +1 -1
- package/chunks/libtess-f64.js +1 -1
- package/chunks/lyr3DMain.js +1 -1
- package/chunks/lyr3DWorker.js +2 -2
- package/config.d.ts +3 -3
- package/config.js +1 -1
- package/core/mathUtils.js +1 -1
- package/form/FormTemplate.d.ts +1 -1
- package/geometry/libtess.js +1 -1
- package/geometry/projection/projectors.js +1 -1
- package/identity/Credential.d.ts +1 -1
- package/identity/IdentityManager.d.ts +1 -1
- package/identity/OAuthInfo.d.ts +1 -1
- package/identity/ServerInfo.d.ts +1 -1
- package/kernel.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/GaussianSplatLayer.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/VectorTileLayer.d.ts +2 -2
- package/layers/VideoLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/sources/CSVSource.js +1 -1
- package/layers/graphics/sources/GeoJSONSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +2 -2
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/graphics/sources/support/QueryTask.js +1 -1
- package/layers/graphics/sources/support/timeQueryUtils.js +2 -0
- package/layers/mixins/APIKeyMixin.d.ts +1 -1
- package/layers/ogc/types.d.ts +1 -1
- package/layers/support/TelemetryData.d.ts +28 -4
- package/layers/support/TimeInformation.js +1 -1
- package/layers/support/tiles3DUtils.js +1 -1
- package/layers/support/timeInfoUtils.js +2 -0
- package/layers/video/videoUtils.js +1 -1
- package/package.json +2 -2
- package/rest/query/executeAttributeBinsQuery.js +1 -1
- package/rest/query/executeForExtent.js +1 -1
- package/rest/query/executeForTopCount.js +1 -1
- package/rest/query/executeForTopExtents.js +1 -1
- package/rest/query/executeForTopIds.js +1 -1
- package/rest/query/executeTopFeaturesQuery.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryAttributeBins.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/support/timeUtils.js +1 -1
- package/support/timeUtils.js +1 -1
- package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
- package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
- package/views/2d/engine/webgl/GlyphWorker.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/materialKeyUtils.js +2 -0
- package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/layers/VideoLayerView2D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/placementUtils.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastError.d.ts +40 -0
- package/views/3d/analysis/ShadowCast/ShadowCastError.js +2 -0
- package/views/3d/analysis/ShadowCast/sunlightUtils.js +2 -0
- package/views/3d/analysis/ShadowCastAnalysisView3D.d.ts +16 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
- package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
- package/views/3d/camera/intersectionUtils.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/Lyr3DWorker.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/support/FeatureMemory.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/Tiles3DBVH.js +1 -1
- package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
- package/views/3d/navigation/modes/GroundNavigationMode3D.js +1 -1
- package/views/3d/state/Constraints.js +1 -1
- package/views/3d/state/NearFarHeuristic.js +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
- package/views/3d/support/sphereExtentUtils.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/tileUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl.d.ts +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/widgets/Directions.d.ts +1 -1
- package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
- package/widgets/OrientedImageryViewer.js +2 -2
- package/assets/esri/core/workers/chunks/0f6c0d42100c21367e5c.js +0 -1
- package/assets/esri/core/workers/chunks/176d0a06ebff5a29dedf.js +0 -1
- package/assets/esri/core/workers/chunks/18776a130d96879a68b1.js +0 -1
- package/assets/esri/core/workers/chunks/20a698709c3c11ff2c16.js +0 -1
- package/assets/esri/core/workers/chunks/24ada9511b074dc5ae27.js +0 -1
- package/assets/esri/core/workers/chunks/277263466837e1673f56.js +0 -1
- package/assets/esri/core/workers/chunks/2c8ca43563c4f3e94535.js +0 -1
- package/assets/esri/core/workers/chunks/379ef56f6b32494832a6.js +0 -1
- package/assets/esri/core/workers/chunks/38d852676677e5697864.js +0 -1
- package/assets/esri/core/workers/chunks/38df7b1d58c4bcf693d0.js +0 -1
- package/assets/esri/core/workers/chunks/507ecc3692e6d0700958.js +0 -1
- package/assets/esri/core/workers/chunks/5a9b7eb26f936f03d02e.js +0 -1
- package/assets/esri/core/workers/chunks/5f07f52bb8b7721f08d3.js +0 -1
- package/assets/esri/core/workers/chunks/661847f1b7044f21600f.js +0 -1
- package/assets/esri/core/workers/chunks/6b5c073dddd89d06ed80.js +0 -1
- package/assets/esri/core/workers/chunks/6ddc29a144640acb1192.js +0 -1
- package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +0 -1
- package/assets/esri/core/workers/chunks/6f6d1873753a9c6994aa.js +0 -1
- package/assets/esri/core/workers/chunks/7582654a0fc70910731c.js +0 -1
- package/assets/esri/core/workers/chunks/7e211d8a8ad6c6a7cf3e.js +0 -1
- package/assets/esri/core/workers/chunks/849f446c718e892f39ce.js +0 -1
- package/assets/esri/core/workers/chunks/8517d96fc8ba7b21d845.js +0 -2
- package/assets/esri/core/workers/chunks/a107f16cd004626b5018.js +0 -1
- package/assets/esri/core/workers/chunks/a65951f1d5702cfd996e.js +0 -1
- package/assets/esri/core/workers/chunks/bf62be00f3040f91aaee.js +0 -1
- package/assets/esri/core/workers/chunks/c570b90995c65bbb2e14.js +0 -1
- package/assets/esri/core/workers/chunks/c576bef77e34920af188.js +0 -1
- package/assets/esri/core/workers/chunks/caad4f475d6eb01c2850.js +0 -1
- package/assets/esri/core/workers/chunks/cf1ec61eb2ad147bb931.js +0 -1
- package/assets/esri/core/workers/chunks/daae21cf77864f3293ef.js +0 -1
- package/assets/esri/core/workers/chunks/dc2f93453dfa40f623ab.js +0 -1
- package/assets/esri/core/workers/chunks/e81173724e8de8c1e65b.js +0 -1
- package/assets/esri/core/workers/chunks/e83f9abee611c5b80009.js +0 -1
- package/assets/esri/core/workers/chunks/ec8b7476eac4718eb0ac.js +0 -1
- package/assets/esri/core/workers/chunks/f45064066e1ab041a0b2.js +0 -1
- package/assets/esri/core/workers/chunks/ffe49d9e7df081bef4a5.js +0 -1
- package/views/2d/engine/webgl/hashMosaic.js +0 -2
- package/views/3d/webgl-engine/lib/GaussianSplatPrepassDepthRenderer.js +0 -2
- /package/assets/esri/core/workers/chunks/{8517d96fc8ba7b21d845.js.LICENSE.txt → 1ae0c9345626e70affd3.js.LICENSE.txt} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{EvaluateAmbientOcclusion as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{forwardLocalUp as ee}from"../views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js";import{mainLightIntensity as te}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{LineStipple as ne,computePixelSize as re}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as ie}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readFragmentShadow as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js";import{metersPerRenderUnit as s,screenPixelSizePerDistance as c,inverseProjectionMatrix as l,nearFar as u,viewport as d,pixelRatio as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as
|
|
2
|
+
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{EvaluateAmbientOcclusion as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{forwardLocalUp as ee}from"../views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js";import{mainLightIntensity as te}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{LineStipple as ne,computePixelSize as re}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as ie}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readFragmentShadow as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js";import{metersPerRenderUnit as s,screenPixelSizePerDistance as c,inverseProjectionMatrix as l,nearFar as u,viewport as d,pixelRatio as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as ae,NoPerspectiveRead as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{getPackedUint32Field as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/PackedUint32.glsl.js";import{addProjViewLocalOrigin as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as y,If as b}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{ribbonLineVertexInfoPacking as x,ribbonLineVertexTypePacking as S,ribbonSubdivisionScale as oe}from"../views/3d/webgl-engine/lib/RibbonLineVertexInfo.js";import{alphaCutoff as se}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{animatedAlpha as ce}from"../views/3d/webgl-engine/shaders/animatedAlpha.glsl.js";import{groundMetersToScreenRatio as C,planarDistanceToScreenRatio as w}from"../views/3d/webgl-engine/shaders/lineUniforms.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as E}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";const O=1;function k(O){let k=new D,{attributes:A,varyings:j,vertex:M,fragment:N}=k,{applyMarkerOffset:P,draped:F,shadingEnabled:I,output:L,capType:R,stippleEnabled:z,falloffEnabled:B,wireframe:V,innerColorEnabled:H,hasAnimation:U,hasScreenSizePerspective:W,worldSized:G,imagePattern:le,useFlatJoinVarying:K}=O,q=R===2,J=z&&q,Y=B||J,ue=z||q,X=z&&O.usePerspectiveCorrectStipple,Z=G&&!F,Q=E(O).createBuilder(k,O);M.inputs.add(`position`,()=>Q.getTextureAttribute(`position`)),O.hasVVSize?M.inputs.add(`sizeFeatureAttribute`,()=>Q.getTextureAttribute(`sizeFeatureAttribute`)):M.inputs.add(`size`,()=>O.hasVertexSize?Q.getTextureAttribute(`size`):y`1.0`),O.hasVVOpacity&&M.inputs.add(`opacityFeatureAttribute`,()=>Q.getTextureAttribute(`opacityFeatureAttribute`)),O.hasVVColor?M.inputs.add(`colorFeatureAttribute`,()=>Q.getTextureAttribute(`colorFeatureAttribute`)):M.inputs.add(`color`,()=>O.hasVertexColor?Q.getTextureAttribute(`color`):y`vec4(1.0)`),N.include(i),k.include(t,O),k.include(ne,O),L===11?(k.varyings.add(`objectAndLayerIdColorVarying`,`vec4`),M.code.add(y`
|
|
3
3
|
vec4 getOlidColor() {
|
|
4
4
|
return ${Q.getTextureAttribute(`olidColor`)};
|
|
5
5
|
}
|
|
@@ -7,9 +7,9 @@ import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.gls
|
|
|
7
7
|
void forwardObjectAndLayerIdColor() {
|
|
8
8
|
objectAndLayerIdColorVarying = getOlidColor();
|
|
9
9
|
}
|
|
10
|
-
`),
|
|
10
|
+
`),N.code.add(y`void outputObjectAndLayerIdColor() {
|
|
11
11
|
fragColor = objectAndLayerIdColorVarying;
|
|
12
|
-
}`)):(
|
|
12
|
+
}`)):(M.code.add(y`void forwardObjectAndLayerIdColor() {}`),N.code.add(y`void outputObjectAndLayerIdColor() {}`));let $=P&&!F;return $&&k.include(ie,O),g(M,O),F&&(G||z)&&M.uniforms.add(G?C:w),Z&&M.uniforms.add(s,c),M.uniforms.add(l,u,d,new v(`miterLimit`,e=>e.join===`miter`?e.miterLimit:0)),M.constants.add(`LARGE_HALF_FLOAT`,`float`,65500),M.constants.add(`EPS`,`float`,.001),M.constants.add(`NUM_JOIN_SUBDIVISIONS`,`float`,O.numJoinSubdivisions),A.add(`ribbonLineVertexInfo`,`uint`),j.add(`vColor`,`vec4`),j.add(`vpos`,`vec3`,{invariant:!0}),j.add(`vLineDistance`,`float`),j.add(`vLineWidth`,`float`),K?j.add(`vIsInsideJoin`,`int`,{flat:!0}):j.add(`vPointTag`,`vec2`),j.add(`vStretchFactor`,`float`),j.add(`vJoinCenterLineSDFs`,`vec2`),Z&&j.add(`vJoinLineWidths`,`vec2`),j.add(`vSubdivisionFactor`,`float`),z&&j.add(`vLineSizeInv`,`float`),Y&&j.add(`vLineDistanceNorm`,`float`),q&&(j.add(`vSegmentSDF`,`float`),j.add(`vReverseSegmentSDF`,`float`)),M.code.add(y`vec3 perpendicular(vec3 v) {
|
|
13
13
|
return vec3(v.y, -v.x, 0.0);
|
|
14
14
|
}
|
|
15
15
|
float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
|
|
@@ -20,17 +20,17 @@ float s = sin(a);
|
|
|
20
20
|
float c = cos(a);
|
|
21
21
|
mat2 m = mat2(c, -s, s, c);
|
|
22
22
|
return vec3(m * v.xy, v.z);
|
|
23
|
-
}`),
|
|
23
|
+
}`),M.code.add(y`vec4 projectAndScale(vec4 pos) {
|
|
24
24
|
vec4 posNdc = proj * pos;
|
|
25
25
|
posNdc.xy *= viewport.zw / posNdc.w;
|
|
26
26
|
posNdc.z /= posNdc.w;
|
|
27
27
|
return posNdc;
|
|
28
|
-
}`),
|
|
28
|
+
}`),M.code.add(y`
|
|
29
29
|
void clip(
|
|
30
30
|
inout vec4 pos,
|
|
31
31
|
inout vec4 prev,
|
|
32
32
|
inout vec4 next,
|
|
33
|
-
${b(
|
|
33
|
+
${b(X,y`inout float u0, inout float prevU0, inout float nextU0,`)}
|
|
34
34
|
bool isStartVertex
|
|
35
35
|
) {
|
|
36
36
|
float adjustedNearPlaneDistance = nearFar[0] * 0.99;
|
|
@@ -41,7 +41,7 @@ return posNdc;
|
|
|
41
41
|
if (prev.z < -nearFar[0]) {
|
|
42
42
|
// Previous position in front of near plane
|
|
43
43
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, prev, pos);
|
|
44
|
-
${b(
|
|
44
|
+
${b(X,y`u0 = mix(prevU0, u0, clipFactor); nextU0 = u0;`)}
|
|
45
45
|
pos = mix(prev, pos, clipFactor);
|
|
46
46
|
next = pos;
|
|
47
47
|
} else {
|
|
@@ -51,7 +51,7 @@ return posNdc;
|
|
|
51
51
|
if (next.z < -nearFar[0]) {
|
|
52
52
|
// Next position in front of near plane
|
|
53
53
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, pos, next);
|
|
54
|
-
${b(
|
|
54
|
+
${b(X,y`u0 = mix(u0, nextU0, clipFactor); prevU0 = u0;`)}
|
|
55
55
|
pos = mix(pos, next, clipFactor);
|
|
56
56
|
prev = pos;
|
|
57
57
|
} else {
|
|
@@ -63,36 +63,36 @@ return posNdc;
|
|
|
63
63
|
if (prev.z > -nearFar[0]) {
|
|
64
64
|
// Previous position behind near plane
|
|
65
65
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, pos, prev);
|
|
66
|
-
${b(
|
|
66
|
+
${b(X,y`prevU0 = mix(u0, prevU0, clipFactor);`)}
|
|
67
67
|
prev = mix(pos, prev, clipFactor);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
if (next.z > -nearFar[0]) {
|
|
71
71
|
// Next position behind near plane
|
|
72
72
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, next, pos);
|
|
73
|
-
${b(
|
|
73
|
+
${b(X,y`nextU0 = mix(nextU0, u0, clipFactor);`)}
|
|
74
74
|
next = mix(next, pos, clipFactor);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
`),
|
|
78
|
+
`),M.uniforms.add(f),M.constants.add(`aaWidth`,`float`,1),N.constants.add(`aaWidth`,`float`,1),M.main.add(y`
|
|
79
79
|
uint vertexType = ${h(x,1,y`ribbonLineVertexInfo`)};
|
|
80
80
|
bool isJoin = ${h(S,0,y`vertexType`)} == 0u;
|
|
81
81
|
float lineSide = ${h(S,1,y`vertexType`)} == 0u ? 1.0 : -1.0;
|
|
82
82
|
bool isStartVertex = ${h(S,2,y`vertexType`)} != 0u;
|
|
83
83
|
float subdivisionFactor = float(${h(x,2,y`ribbonLineVertexInfo`)}) / ${y.float(oe)};
|
|
84
84
|
vec3 position = ${Q.getTextureAttribute(`position`)};
|
|
85
|
-
${
|
|
86
|
-
${
|
|
85
|
+
${z?y`float u0 = ${Q.getTextureAttribute(`u0`)};`:``}
|
|
86
|
+
${z&&G?y`
|
|
87
87
|
float prevU0 = ${Q.getTextureAttribute(`u0`,-1)};
|
|
88
88
|
float nextU0 = ${Q.getTextureAttribute(`u0`,1)};
|
|
89
|
-
${b(!
|
|
89
|
+
${b(!F,y`
|
|
90
90
|
u0 *= metersPerRenderUnit;
|
|
91
91
|
prevU0 *= metersPerRenderUnit;
|
|
92
92
|
nextU0 *= metersPerRenderUnit;
|
|
93
93
|
`)}
|
|
94
94
|
`:``}
|
|
95
|
-
${b(!
|
|
95
|
+
${b(!K,y`
|
|
96
96
|
float textureIndexParity = float(${h(x,0,y`ribbonLineVertexInfo`)} % 2u);
|
|
97
97
|
vPointTag = vec2(textureIndexParity, 1.0 - textureIndexParity);
|
|
98
98
|
`)}
|
|
@@ -107,11 +107,47 @@ return posNdc;
|
|
|
107
107
|
vec4 pos = view * vec4(position, 1.0);
|
|
108
108
|
vec4 prev = view * vec4(prevPosition, 1.0);
|
|
109
109
|
vec4 next = view * vec4(nextPosition, 1.0);
|
|
110
|
-
`),$&&
|
|
110
|
+
`),$&&M.main.add(y`vec4 other = isStartVertex ? next : prev;
|
|
111
111
|
bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
|
|
112
112
|
if (!isJoin && !markersHidden) {
|
|
113
113
|
pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
114
|
-
}`),
|
|
114
|
+
}`),k.include(ae),Z&&M.code.add(y`vec2 computePerspectiveInnerJoin(
|
|
115
|
+
vec2 leftDirection,
|
|
116
|
+
vec2 rightDirection,
|
|
117
|
+
float leftLength,
|
|
118
|
+
float rightLength,
|
|
119
|
+
float previousWidth,
|
|
120
|
+
float currentWidth,
|
|
121
|
+
float nextWidth,
|
|
122
|
+
float lineSide,
|
|
123
|
+
bool isStartVertex
|
|
124
|
+
) {
|
|
125
|
+
vec2 leftNormal = vec2(leftDirection.y, -leftDirection.x) * lineSide;
|
|
126
|
+
vec2 rightNormal = vec2(rightDirection.y, -rightDirection.x) * lineSide;
|
|
127
|
+
vec2 segmentOffset = (isStartVertex ? rightNormal : leftNormal) * currentWidth;
|
|
128
|
+
if (min(leftLength, rightLength) <= EPS) {
|
|
129
|
+
return segmentOffset;
|
|
130
|
+
}
|
|
131
|
+
vec2 leftEdge = leftDirection + leftNormal * ((currentWidth - previousWidth) / leftLength);
|
|
132
|
+
vec2 rightEdge = rightDirection + rightNormal * ((nextWidth - currentWidth) / rightLength);
|
|
133
|
+
vec2 offset = (rightNormal - leftNormal) * currentWidth;
|
|
134
|
+
float determinant = leftEdge.x * rightEdge.y - leftEdge.y * rightEdge.x;
|
|
135
|
+
float determinantScale = length(leftEdge) * length(rightEdge);
|
|
136
|
+
const float parallelTolerance = EPS * EPS;
|
|
137
|
+
if (!(abs(determinant) > parallelTolerance * determinantScale)) {
|
|
138
|
+
return segmentOffset;
|
|
139
|
+
}
|
|
140
|
+
float leftDistance = (offset.x * rightEdge.y - offset.y * rightEdge.x) / determinant;
|
|
141
|
+
float rightDistance = (offset.x * leftEdge.y - offset.y * leftEdge.x) / determinant;
|
|
142
|
+
if (!(leftDistance >= -leftLength && leftDistance <= 0.0 &&
|
|
143
|
+
rightDistance >= 0.0 && rightDistance <= rightLength)) {
|
|
144
|
+
return segmentOffset;
|
|
145
|
+
}
|
|
146
|
+
return leftNormal * currentWidth + leftDistance * leftEdge;
|
|
147
|
+
}`),Z&&M.code.add(y`float perspectiveWidthAtOffset(vec2 offset, vec2 segment, float widthAtOrigin, float widthChange) {
|
|
148
|
+
float segmentFraction = dot(offset, segment) / max(dot(segment, segment), EPS * EPS);
|
|
149
|
+
return widthAtOrigin + segmentFraction * widthChange;
|
|
150
|
+
}`),M.code.add(y`
|
|
115
151
|
vec2 computeJoinAndCapDisplacement(
|
|
116
152
|
bool isJoin,
|
|
117
153
|
bool isStartVertex,
|
|
@@ -119,11 +155,12 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
119
155
|
inout vec3 right,
|
|
120
156
|
float lineSide,
|
|
121
157
|
float lineWidth,
|
|
158
|
+
${b(Z,`vec2 neighborWidths,`)}
|
|
122
159
|
float subdivisionFactor,
|
|
123
160
|
float perspectiveDivisor
|
|
124
161
|
) {
|
|
125
|
-
float leftLen = length(left);
|
|
126
|
-
float rightLen = length(right);
|
|
162
|
+
float leftLen = length(${b(Z,y`left.xy`,y`left`)});
|
|
163
|
+
float rightLen = length(${b(Z,y`right.xy`,y`right`)});
|
|
127
164
|
left = leftLen > EPS ? left / leftLen : vec3(0.0);
|
|
128
165
|
right = rightLen > EPS ? right / rightLen : vec3(0.0);
|
|
129
166
|
|
|
@@ -133,31 +170,50 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
133
170
|
float miterDisplacementLen = lineWidth;
|
|
134
171
|
float innerDisplacementLen = lineWidth;
|
|
135
172
|
bool isOutside = false;
|
|
173
|
+
${b(Z,`vec2 innerDisplacement = vec2(0.0);`)}
|
|
136
174
|
|
|
137
175
|
if (isJoin) {
|
|
138
176
|
// Determine if the vertex is on the outside or inside of the join.
|
|
139
177
|
isOutside = (left.x * right.y - left.y * right.x) * lineSide > 0.0;
|
|
140
178
|
|
|
141
179
|
// Compute the miter join position first.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
180
|
+
${b(Z,y`
|
|
181
|
+
vec2 bisector = left.xy + right.xy;
|
|
182
|
+
vec2 segmentDirection = isStartVertex ? right.xy : left.xy;
|
|
183
|
+
vec3 joinDirection = vec3(length(bisector) > EPS ? normalize(bisector) : segmentDirection, 0.0);
|
|
184
|
+
joinDisplacementDir = perpendicular(joinDirection);
|
|
185
|
+
|
|
186
|
+
if (leftLen > EPS && rightLen > EPS) {
|
|
187
|
+
float nDotSeg = dot(joinDisplacementDir, left);
|
|
188
|
+
displacementLen /= length(nDotSeg * left.xy - joinDisplacementDir.xy);
|
|
189
|
+
miterDisplacementLen = displacementLen;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
innerDisplacement = computePerspectiveInnerJoin(
|
|
193
|
+
left.xy, right.xy, leftLen, rightLen,
|
|
194
|
+
neighborWidths.x, lineWidth, neighborWidths.y,
|
|
195
|
+
isOutside ? -lineSide : lineSide, isStartVertex
|
|
196
|
+
);
|
|
197
|
+
innerDisplacementLen = length(innerDisplacement);
|
|
198
|
+
`,y`
|
|
199
|
+
vec3 joinDirection = normalize(left + right);
|
|
200
|
+
joinDisplacementDir = perpendicular(joinDirection);
|
|
201
|
+
|
|
202
|
+
if (leftLen > EPS && rightLen > EPS) {
|
|
203
|
+
float nDotSeg = dot(joinDisplacementDir, left);
|
|
204
|
+
displacementLen /= length(nDotSeg * left - joinDisplacementDir);
|
|
205
|
+
miterDisplacementLen = displacementLen;
|
|
206
|
+
innerDisplacementLen = min(displacementLen, min(leftLen, rightLen) / abs(nDotSeg));
|
|
207
|
+
|
|
208
|
+
// Limit displacement of inner vertices.
|
|
209
|
+
if (!isOutside) {
|
|
210
|
+
displacementLen = innerDisplacementLen;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
`)}
|
|
158
214
|
|
|
159
215
|
// Compute stretch compensation for feathering.
|
|
160
|
-
${b(
|
|
216
|
+
${b(K,y`
|
|
161
217
|
if (subdivisionFactor > 0.0) {
|
|
162
218
|
vIsInsideJoin = 1;
|
|
163
219
|
}
|
|
@@ -191,10 +247,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
191
247
|
}
|
|
192
248
|
|
|
193
249
|
if (isOutside && displacementLen > miterLimit * lineWidth) {
|
|
194
|
-
${b(
|
|
250
|
+
${b(O.roundJoins,y`
|
|
195
251
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
196
252
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
197
|
-
float factor = ${
|
|
253
|
+
float factor = ${z?y`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:y`subdivisionFactor`};
|
|
198
254
|
|
|
199
255
|
float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
|
|
200
256
|
joinDisplacementDir = rotateZ(startDir, -lineSide * factor * rotationAngle);
|
|
@@ -210,19 +266,24 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
210
266
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
211
267
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
212
268
|
|
|
213
|
-
${b(
|
|
269
|
+
${b(z,y`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,y`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
|
|
214
270
|
`)}
|
|
215
271
|
displacementLen = lineWidth;
|
|
216
272
|
}
|
|
217
273
|
} else {
|
|
218
274
|
joinDisplacementDir = perpendicular(isStartVertex ? right : left);
|
|
219
|
-
${
|
|
275
|
+
${R===0?``:y`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`}
|
|
220
276
|
}
|
|
221
277
|
|
|
278
|
+
${b(Z,y`
|
|
279
|
+
if (isJoin && !isOutside) {
|
|
280
|
+
return innerDisplacement;
|
|
281
|
+
}
|
|
282
|
+
`)}
|
|
222
283
|
return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
|
|
223
284
|
}
|
|
224
|
-
`),
|
|
225
|
-
clip(pos, prev, next, ${b(
|
|
285
|
+
`),M.main.add(y`
|
|
286
|
+
clip(pos, prev, next, ${b(X,y`u0, prevU0, nextU0,`)} isStartVertex);
|
|
226
287
|
|
|
227
288
|
vec3 clippedPos = pos.xyz;
|
|
228
289
|
vec3 clippedCenter = mix(pos.xyz, isStartVertex ? next.xyz : prev.xyz, 0.5);
|
|
@@ -234,14 +295,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
234
295
|
vec3 left = (pos.xyz - prev.xyz);
|
|
235
296
|
vec3 right = (next.xyz - pos.xyz);
|
|
236
297
|
|
|
237
|
-
float lineSize = getSize(${b(
|
|
238
|
-
${b(
|
|
239
|
-
${b(
|
|
298
|
+
float lineSize = getSize(${b(W,`clippedPos`)});
|
|
299
|
+
${b(z&&W,`float patternLineSize = getSize(clippedCenter);`)}
|
|
300
|
+
${b(z&&!W,`float patternLineSize = lineSize;`)}
|
|
240
301
|
|
|
241
|
-
${b(
|
|
242
|
-
${b(
|
|
243
|
-
float
|
|
244
|
-
float lineSizeScreen =
|
|
302
|
+
${b(G,y`
|
|
303
|
+
${b(F,y`float lineSizeScreen = lineSize * groundMetersToScreenRatio;`,y`
|
|
304
|
+
float widthPerInverseDepth = lineSize / (metersPerRenderUnit * screenPixelSizePerDistance);
|
|
305
|
+
float lineSizeScreen = widthPerInverseDepth / max(-clippedPos.z, nearFar[0]);
|
|
245
306
|
`)}
|
|
246
307
|
float lineWidth = lineSizeScreen * pixelRatio + aaWidth;
|
|
247
308
|
`,y`
|
|
@@ -249,18 +310,22 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
249
310
|
`)}
|
|
250
311
|
|
|
251
312
|
vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
|
|
252
|
-
${
|
|
253
|
-
`),
|
|
313
|
+
${z?`vLineSizeInv = noPerspectiveWrite(1.0 / ${G?`lineSize`:`max(lineSize, 1.0)`}, pos.w);`:``}
|
|
314
|
+
`),ue&&M.main.add(y`
|
|
254
315
|
float isEndVertex = float(!isStartVertex);
|
|
255
316
|
vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
|
|
256
317
|
vec3 segment = mix(right, left, isEndVertex);
|
|
257
|
-
${
|
|
258
|
-
`),
|
|
259
|
-
${b(
|
|
318
|
+
${q?`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:``}
|
|
319
|
+
`),M.main.add(y`
|
|
320
|
+
${b(K,y`vIsInsideJoin = 0;`)}
|
|
260
321
|
vStretchFactor = 1.0;
|
|
261
322
|
vSubdivisionFactor = 0.0;
|
|
262
323
|
vJoinCenterLineSDFs = vec2(LARGE_HALF_FLOAT);
|
|
263
324
|
|
|
325
|
+
${b(Z,y`
|
|
326
|
+
vec2 neighborWidths = widthPerInverseDepth / max(vec2(prev.w, next.w), vec2(nearFar[0])) * pixelRatio + aaWidth;
|
|
327
|
+
`)}
|
|
328
|
+
|
|
264
329
|
vec2 displacementXY = computeJoinAndCapDisplacement(
|
|
265
330
|
isJoin,
|
|
266
331
|
isStartVertex,
|
|
@@ -268,9 +333,17 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
268
333
|
right,
|
|
269
334
|
lineSide,
|
|
270
335
|
lineWidth,
|
|
336
|
+
${b(Z,`neighborWidths,`)}
|
|
271
337
|
subdivisionFactor,
|
|
272
338
|
pos.w
|
|
273
339
|
);
|
|
340
|
+
${b(Z,y`
|
|
341
|
+
// Feathering must use each strip's width at the displaced vertex, not at the original join.
|
|
342
|
+
float leftWidth = perspectiveWidthAtOffset(displacementXY, pos.xy - prev.xy, lineWidth, lineWidth - neighborWidths.x);
|
|
343
|
+
float rightWidth = perspectiveWidthAtOffset(displacementXY, next.xy - pos.xy, lineWidth, neighborWidths.y - lineWidth);
|
|
344
|
+
// Match vJoinCenterLineSDFs: right first, selected when vSubdivisionFactor > 0.5.
|
|
345
|
+
vJoinLineWidths = noPerspectiveWrite(vec2(rightWidth, leftWidth), pos.w);
|
|
346
|
+
`)}
|
|
274
347
|
vec3 segmentDirection = isStartVertex ? right : left;
|
|
275
348
|
|
|
276
349
|
/**
|
|
@@ -285,10 +358,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
285
358
|
float lineDistNorm = noPerspectiveWrite(lineSide, pos.w);
|
|
286
359
|
|
|
287
360
|
vLineDistance = lineWidth * lineDistNorm;
|
|
288
|
-
${
|
|
361
|
+
${Y?y`vLineDistanceNorm = lineDistNorm;`:``}
|
|
289
362
|
|
|
290
363
|
pos.xyz += displacement;
|
|
291
|
-
`),
|
|
364
|
+
`),M.main.add(y`if (isJoin) {
|
|
292
365
|
vec2 joinCenterToVertex = displacementXY;
|
|
293
366
|
vec2 leftCenterlineDir = left.xy;
|
|
294
367
|
vec2 rightCenterlineDir = right.xy;
|
|
@@ -303,31 +376,31 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
|
|
|
303
376
|
),
|
|
304
377
|
pos.w
|
|
305
378
|
);
|
|
306
|
-
}`),
|
|
379
|
+
}`),q&&M.main.add(y`vec2 segmentDir = normalize(segment.xy);
|
|
307
380
|
vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
|
|
308
|
-
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),
|
|
309
|
-
float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),
|
|
381
|
+
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),z&&(F?M.main.add(`float stippleDistanceToScreenRatio = ${G?`groundMetersToScreenRatio`:`planarDistanceToScreenRatio`};`):M.main.add(y`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
|
|
382
|
+
float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),M.main.add(y`
|
|
310
383
|
float segmentLengthScreenDouble = length(segment.xy);
|
|
311
384
|
float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
|
|
312
385
|
float discreteStippleDistanceToScreenRatio = discretizeStippleDistanceToScreenRatio(stippleDistanceToScreenRatio);
|
|
313
|
-
float segmentLengthRender = ${b(
|
|
386
|
+
float segmentLengthRender = ${b(G,y`abs(mix(nextU0 - u0, u0 - prevU0, isEndVertex))`,y`length(mix(nextPosition - position, position - prevPosition, isEndVertex))`)};
|
|
314
387
|
|
|
315
|
-
${b(!
|
|
316
|
-
float segmentStartRender = ${b(
|
|
388
|
+
${b(!F||G,y`
|
|
389
|
+
float segmentStartRender = ${b(G,y`mix(u0, prevU0, isEndVertex)`,y`mix(u0, u0 - segmentLengthRender, isEndVertex)`)};
|
|
317
390
|
`)}
|
|
318
391
|
|
|
319
392
|
vStipplePatternStretch = stippleDistanceToScreenRatio / discreteStippleDistanceToScreenRatio;
|
|
320
|
-
`),
|
|
321
|
-
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):
|
|
322
|
-
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),
|
|
393
|
+
`),F?M.main.add(y`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteStippleDistanceToScreenRatio / stippleDistanceToScreenRatio;
|
|
394
|
+
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):M.main.add(y`float startPseudoScreen = segmentStartRender * discreteStippleDistanceToScreenRatio;
|
|
395
|
+
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),M.uniforms.add(new v(`stipplePatternPixelSize`,e=>re(e))),M.main.add(y`
|
|
323
396
|
float patternLength = patternLineSize * stipplePatternPixelSize;
|
|
324
397
|
vec2 stippleDistanceLimits;
|
|
325
398
|
|
|
326
|
-
${b(
|
|
399
|
+
${b(G,y`
|
|
327
400
|
stippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
|
|
328
401
|
vStipplePatternStretch = 1.0;
|
|
329
402
|
|
|
330
|
-
${b(
|
|
403
|
+
${b(le,y`
|
|
331
404
|
// The v-coordinate used in case of an image pattern.
|
|
332
405
|
bool isLeft = lineSide < 0.0;
|
|
333
406
|
vStippleV = isLeft ? 0.0 : 1.0;
|
|
@@ -352,7 +425,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
352
425
|
vStippleDistance += (stippleDisplacementFactor - isEndVertex) * (stippleDistanceLimits.y - stippleDistanceLimits.x);
|
|
353
426
|
}
|
|
354
427
|
|
|
355
|
-
${b(
|
|
428
|
+
${b(X,y`
|
|
356
429
|
float segmentStartInverseW = 1.0 / mix(pos.w, prev.w, isEndVertex);
|
|
357
430
|
float segmentEndInverseW = 1.0 / mix(next.w, pos.w, isEndVertex);
|
|
358
431
|
vStipplePerspective = noPerspectiveWrite(
|
|
@@ -368,7 +441,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
368
441
|
// Disable stipple distance limits on caps
|
|
369
442
|
vStippleLimitsAndCaps.zw = isJoin ? vec2(0.0) :
|
|
370
443
|
isStartVertex ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
|
|
371
|
-
`)),
|
|
444
|
+
`)),M.main.add(y`
|
|
372
445
|
// Convert back into NDC
|
|
373
446
|
pos.xy = (pos.xy / viewport.zw) * pos.w;
|
|
374
447
|
pos.z = pos.z * pos.w;
|
|
@@ -376,50 +449,51 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
376
449
|
vColor = getColor();
|
|
377
450
|
vColor.a = noPerspectiveWrite(vColor.a, pos.w);
|
|
378
451
|
|
|
379
|
-
${
|
|
452
|
+
${V&&!F?`pos.z -= EPS * pos.w;`:``}
|
|
380
453
|
|
|
381
454
|
// transform final position to camera space for slicing
|
|
382
455
|
vpos = (inverseProjectionMatrix * pos).xyz;
|
|
383
456
|
gl_Position = pos;
|
|
384
457
|
forwardObjectAndLayerIdColor();
|
|
385
|
-
}`),
|
|
458
|
+
}`),k.include(T,O),k.include(m),N.include(p),N.include(se),N.include(e,O),N.main.add(`discardBySlice(vpos);`),N.code.add(y`
|
|
386
459
|
float lineFeatheringFactor(float lineWidth, float lineDistance) {
|
|
387
460
|
/**
|
|
388
461
|
* Determine whether we are inside the feathering region or not, under
|
|
389
462
|
* consideration of triangle stretch and the distance to the centerline.
|
|
390
463
|
*/
|
|
391
|
-
bool isInsideJoin = ${
|
|
464
|
+
bool isInsideJoin = ${K?y`vIsInsideJoin == 1`:y`any(equal(vPointTag, vec2(0.0)))`};
|
|
392
465
|
float stretchFactor = isInsideJoin ? noPerspectiveRead(vStretchFactor) : 1.0;
|
|
393
466
|
float featherWidth = 2.0;
|
|
394
467
|
// Keep the filter in render-target pixels, including when its two sides overlap on a subpixel stroke.
|
|
395
468
|
float featherStartDistance = lineWidth - featherWidth / stretchFactor;
|
|
396
|
-
float
|
|
469
|
+
float straightLineWidth = ${Z?y`noPerspectiveRead(vSubdivisionFactor > 0.5 ? vJoinLineWidths.x : vJoinLineWidths.y)`:`lineWidth`};
|
|
470
|
+
float straightFeatherStartDistance = straightLineWidth - featherWidth;
|
|
397
471
|
float value = abs(lineDistance);
|
|
398
472
|
float feather = (value - featherStartDistance) / (lineWidth - featherStartDistance);
|
|
399
473
|
vec2 joinCenterSDFs = noPerspectiveRead(vJoinCenterLineSDFs);
|
|
400
474
|
float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joinCenterSDFs.y);
|
|
401
|
-
float straightFeather = (joinCenterDistance - straightFeatherStartDistance) /
|
|
475
|
+
float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / featherWidth;
|
|
402
476
|
feather = isInsideJoin ? max(feather, straightFeather) : feather;
|
|
403
477
|
float coverage = min(lineWidth - aaWidth, 1.0);
|
|
404
478
|
return clamp(1.0 - feather, 0.0, coverage);
|
|
405
479
|
}
|
|
406
|
-
`),
|
|
480
|
+
`),N.main.add(y`
|
|
407
481
|
float lineWidth = noPerspectiveRead(vLineWidth);
|
|
408
482
|
float lineDistance = noPerspectiveRead(vLineDistance);
|
|
409
|
-
${b(
|
|
410
|
-
`),
|
|
411
|
-
vec4 finalColor = albedo;`):(
|
|
483
|
+
${b(Y,y`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
|
|
484
|
+
`),J&&N.main.add(y`float nominalLineWidth = lineWidth - aaWidth;`),V?N.main.add(y`vec4 albedo = vec4(1.0, 0.0, 1.0, 1.0);
|
|
485
|
+
vec4 finalColor = albedo;`):(q&&N.main.add(y`
|
|
412
486
|
float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
|
|
413
487
|
vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
|
|
414
488
|
|
|
415
489
|
float fragmentRadius = length(fragmentPosition);
|
|
416
|
-
float fragmentCapSDF = (fragmentRadius - ${
|
|
490
|
+
float fragmentCapSDF = (fragmentRadius - ${J?`nominalLineWidth`:`lineWidth`}) * 0.5; // Divide by 2 to transform from double pixel scale
|
|
417
491
|
float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
|
|
418
492
|
|
|
419
493
|
if (capCoverage < alphaCutoff) {
|
|
420
494
|
discard;
|
|
421
495
|
}
|
|
422
|
-
`),
|
|
496
|
+
`),J?N.main.add(y`vec2 stipplePosition = vec2(
|
|
423
497
|
min(getStippleCapDistance(), 0.0) * nominalLineWidth,
|
|
424
498
|
lineDistance
|
|
425
499
|
);
|
|
@@ -427,11 +501,11 @@ float stippleRadius = length(stipplePosition);
|
|
|
427
501
|
float stippleCapSDF = (stippleRadius - nominalLineWidth) * 0.5;
|
|
428
502
|
float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
|
|
429
503
|
float lineCoverage = min(lineFeatheringFactor(lineWidth, lineDistance), capCoverage);
|
|
430
|
-
float stippleAlpha = lineCoverage > 0.0 ? min(stippleCoverage, lineCoverage) / lineCoverage : 0.0;`):
|
|
431
|
-
color.a = noPerspectiveRead(color.a);`),
|
|
504
|
+
float stippleAlpha = lineCoverage > 0.0 ? min(stippleCoverage, lineCoverage) / lineCoverage : 0.0;`):N.main.add(y`float stippleAlpha = getStippleAlpha(lineWidth);`),L!==11&&N.main.add(y`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),N.uniforms.add(new _(`intrinsicColor`,e=>e.color)).main.add(y`vec4 color = intrinsicColor * vColor;
|
|
505
|
+
color.a = noPerspectiveRead(color.a);`),H&&N.uniforms.add(new _(`innerColor`,e=>e.innerColor??e.color),new v(`innerWidth`,(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(y`float distToInner = abs(lineDistance) - innerWidth;
|
|
432
506
|
float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
|
|
433
507
|
float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
|
|
434
|
-
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),
|
|
508
|
+
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),N.main.add(`vec4 albedo = blendStipple(color, stippleAlpha);`),B&&(N.uniforms.add(new v(`falloff`,e=>e.falloff)),N.main.add(y`albedo.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),N.main.add(y`albedo.a *= ${J?`lineCoverage`:`lineFeatheringFactor(lineWidth, lineDistance)`};`),U&&(M.main.add(`vec4 animatedAlphaTimeStamps = ${Q.getTextureAttribute(`timeStamps`)};`),k.include(ce,O),N.main.add(`albedo.a *= animatedAlpha();`)),I?(k.include(ee,O),M.main.add(y`forwardLocalUp(position, localOrigin);`),M.main.add(`forwardLinearDepthToReadShadow();`),k.include(o,O),N.include(r,O),N.include(n,O),N.uniforms.add(te).main.add(y`vec3 normal = normalize(upNormal);
|
|
435
509
|
float additionalAmbientScale = additionalDirectedAmbientLight(normal);
|
|
436
510
|
float shadow = readFragmentShadow(additionalAmbientScale);
|
|
437
511
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
@@ -440,4 +514,4 @@ vec3 viewDirection = normalize((inverseViewMatrix * vec4(vpos, 0.0)).xyz);
|
|
|
440
514
|
vec4 finalColor = vec4(
|
|
441
515
|
evaluateSceneLighting(normal, albedo.rgb, shadow, 1.0 - ssao, additionalLight,viewDirection, normal),
|
|
442
516
|
albedo.a
|
|
443
|
-
);`)):
|
|
517
|
+
);`)):N.main.add(`vec4 finalColor = albedo;`)),N.main.add(y`outputColorHighlightOLID(applySlice(finalColor, vpos), albedo.rgb);`),k}const A=Object.freeze(Object.defineProperty({__proto__:null,build:k,numRoundJoinSubdivisions:1},Symbol.toStringTag,{value:`Module`}));export{A as R,k as b,O as n};
|
package/chunks/Terrain.glsl.js
CHANGED
|
@@ -21,7 +21,6 @@ return normalize(n);
|
|
|
21
21
|
|
|
22
22
|
float additionalAmbientScale = additionalDirectedAmbientLight(lightAlignment);
|
|
23
23
|
float shadow = readShadow(additionalAmbientScale, vpos);
|
|
24
|
-
float ssao = evaluateAmbientOcclusionInverse();
|
|
25
24
|
vec4 tileColor = getTileColor();
|
|
26
25
|
|
|
27
26
|
${M(q,j`vec4 overlayColorOpaque = getOverlayColor(ovColorTex, vtcOverlay);
|
|
@@ -36,13 +35,12 @@ return normalize(n);
|
|
|
36
35
|
if (sliced) {
|
|
37
36
|
tileColor *= groundSliceOpacity;
|
|
38
37
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
vec4 finalColor = vec4(evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal), tileColor.a);
|
|
38
|
+
`);let l=j`float ssao = evaluateAmbientOcclusionInverse();
|
|
39
|
+
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
40
|
+
vec3 albedo = tileColor.rgb;
|
|
41
|
+
vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
42
|
+
finalColor = vec4(evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal), tileColor.a);`;R.main.add(j`
|
|
43
|
+
vec4 finalColor = vec4(0.0);
|
|
46
44
|
${M(o,j`vec4 overlayWaterMask = getOverlayColor(waterNormals, vtcOverlay);
|
|
47
45
|
float waterNormalLength = length(overlayWaterMask);
|
|
48
46
|
if (waterNormalLength > 0.95) {
|
|
@@ -54,7 +52,9 @@ return normalize(n);
|
|
|
54
52
|
float opacity = sliced ? groundSliceOpacity : 1.0;
|
|
55
53
|
// un-gamma the ground color to mix in linear space
|
|
56
54
|
finalColor = mix(groundColor, waterColorNonLinear, waterColorLinear.w) * opacity;
|
|
57
|
-
}
|
|
55
|
+
} else {
|
|
56
|
+
${l}
|
|
57
|
+
}`,l)}
|
|
58
58
|
${M(G,j`vec2 dVuv = fwidth(vuv0);
|
|
59
59
|
vec2 edgeFactors = smoothstep(vec2(0.0), 1.5 * dVuv, min(vuv0, 1.0 - vuv0));
|
|
60
60
|
float edgeFactor = 1.0 - min(edgeFactors.x, edgeFactors.y);
|
package/chunks/libtess-f32.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
async function e(e={}){var t,n=e,r=``,i=``;function a(e){return n.locateFile?n.locateFile(e,i):i+e}var o;try{i=new URL(`.`,r).href}catch{}o=async e=>{var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)};var s=console.log.bind(console),c=console.error.bind(console),l,u=!1,d,f,p,m,h,g,_,v,y,b,x,S,C=!1;function w(){var e=Z.buffer;n.HEAP8=p=new Int8Array(e),n.HEAP16=h=new Int16Array(e),m=new Uint8Array(e),g=new Uint16Array(e),n.HEAP32=_=new Int32Array(e),v=new Uint32Array(e),n.HEAPF32=y=new Float32Array(e),n.HEAPF64=b=new Float64Array(e),x=new BigInt64Array(e),S=new BigUint64Array(e)}function ee(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)pe(n.preRun.shift());D(fe)}function te(){C=!0,$.u()}function ne(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)de(n.postRun.shift());D(ue)}function T(e){n.onAbort?.(e),e=`Aborted(`+e+`)`,c(e),u=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw f?.(t),t}var E;function re(){return n.locateFile?a(`libtess-f32.wasm`):new URL(`libtess-f32.wasm`,``).href}function ie(e){if(e==E&&l)return new Uint8Array(l);throw`both async and sync fetching of the wasm failed`}async function ae(e){if(!l)try{var t=await o(e);return new Uint8Array(t)}catch{}return ie(e)}async function oe(e,t){try{var n=await ae(e);return await WebAssembly.instantiate(n,t)}catch(e){c(`failed to asynchronously prepare wasm: ${e}`),T(e)}}async function se(e,t,n){if(!e)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){c(`wasm streaming compile failed: ${e}`),c(`falling back to ArrayBuffer instantiation`)}return oe(t,n)}function ce(){return{a:pt}}async function le(){function e(e,t){return $=e.exports,ft($),w(),$}function t(t){return e(t.instance)}var r=ce();return n.instantiateWasm?new Promise((t,i)=>{n.instantiateWasm(r,(n,r)=>{t(e(n))})}):(E??=re(),t(await se(l,E,r)))}var D=e=>{for(;e.length>0;)e.shift()(n)},ue=[],de=e=>ue.push(e),fe=[],pe=e=>fe.push(e),O=e=>X(e),k=()=>dt(),A=new TextDecoder,j=(e,t,n,r)=>{var i=t+n;if(r)return i;for(;e[t]&&!(t>=i);)++t;return t},M=(e,t,n)=>{if(!e)return``;var r=j(m,e,t,n);return A.decode(m.subarray(e,r))},me=(e,t,n,r)=>T(`Assertion failed: ${M(e)}, at: `+[t?M(t):`unknown filename`,n,r?M(r):`unknown function`]),he=()=>T(``),N=e=>{for(var t=``;;){var n=m[e++];if(!n)return t;t+=String.fromCharCode(n)}},P={},F={},I={},ge=class extends Error{constructor(e){super(e),this.name=`BindingError`}},L=e=>{throw new ge(e)};function _e(e,t,n={}){var r=t.name;if(e||L(`type "${r}" must have a positive integer typeid pointer`),F.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;L(`Cannot register type '${r}' twice`)}if(F[e]=t,delete I[e],P.hasOwnProperty(e)){var i=P[e];delete P[e],i.forEach(e=>e())}}function R(e,t,n={}){return _e(e,t,n)}var z=(e,t,n)=>{switch(t){case 1:return n?e=>p[e]:e=>m[e];case 2:return n?e=>h[e>>1]:e=>g[e>>1];case 4:return n?e=>_[e>>2]:e=>v[e>>2];case 8:return n?e=>x[e>>3]:e=>S[e>>3];default:throw TypeError(`invalid integer width (${t}): ${e}`)}},ve=(e,t,n,r,i)=>{t=N(t);let a=r===0n,o=e=>e;if(a){let e=n*8;o=t=>BigInt.asUintN(e,t),i=o(i)}R(e,{name:t,fromWireType:o,toWireType:(e,t)=>(typeof t==`number`&&(t=BigInt(t)),t),readValueFromPointer:z(t,n,!a),destructorFunction:null})},ye=(e,t,n,r)=>{t=N(t),R(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:r},readValueFromPointer:function(e){return this.fromWireType(m[e])},destructorFunction:null})},B=[],V=[0,1,,1,null,1,!0,1,!1,1],be=e=>{e>9&&--V[e+1]===0&&(V[e]=void 0,B.push(e))},H={toValue:e=>(e||L(`Cannot use deleted val. handle = ${e}`),V[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let t=B.pop()||V.length;return V[t]=e,V[t+1]=1,t}}}};function U(e){return this.fromWireType(v[e>>2])}var xe={name:`emscripten::val`,fromWireType:e=>{var t=H.toValue(e);return be(e),t},toWireType:(e,t)=>H.toHandle(t),readValueFromPointer:U,destructorFunction:null},Se=e=>R(e,xe),Ce=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(y[e>>2])};case 8:return function(e){return this.fromWireType(b[e>>3])};default:throw TypeError(`invalid float width (${t}): ${e}`)}},we=(e,t,n)=>{t=N(t),R(e,{name:t,fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:Ce(t,n),destructorFunction:null})},Te=(e,t)=>Object.defineProperty(t,"name",{value:e}),Ee=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function De(e){for(var t=1;t<e.length;++t)if(e[t]!==null&&e[t].destructorFunction===void 0)return!0;return!1}function Oe(e,t,n,r,i,a){var o=t.length;o<2&&L(`argTypes array size mismatch! Must at least get return value and 'this' types!`),t[1];var s=De(t),c=!t[0].isVoid,l=o-2,u=Array(l),d=[],f=[];return Te(e,function(...e){f.length=0;var n;d.length=1,d[0]=i;for(var a=0;a<l;++a)u[a]=t[a+2].toWireType(f,e[a]),d.push(u[a]);var o=r(...d);function p(e){if(s)Ee(f);else for(var r=2;r<t.length;r++){var i=r===1?n:u[r-2];t[r].destructorFunction!==null&&t[r].destructorFunction(i)}if(c)return t[0].fromWireType(e)}return p(o)})}var ke=(e,t,n)=>{if(e[t].overloadTable===void 0){var r=e[t];e[t]=function(...r){return e[t].overloadTable.hasOwnProperty(r.length)||L(`Function '${n}' called with an invalid number of arguments (${r.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[r.length].apply(this,r)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}},Ae=(e,t,r)=>{n.hasOwnProperty(e)?((r===void 0||n[e].overloadTable!==void 0&&n[e].overloadTable[r]!==void 0)&&L(`Cannot register public name '${e}' twice`),ke(n,e,e),n[e].overloadTable.hasOwnProperty(r)&&L(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,n[e].argCount=r)},je=(e,t)=>{for(var n=[],r=0;r<e;r++)n.push(v[t+r*4>>2]);return n},Me=class extends Error{constructor(e){super(e),this.name=`InternalError`}},W=e=>{throw new Me(e)},Ne=(e,t,r)=>{n.hasOwnProperty(e)||W(`Replacing nonexistent public symbol`),n[e].overloadTable!==void 0&&r!==void 0?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},G=e=>Q.get(e),Pe=(e,t,n=!1)=>{e=N(e);function r(){return G(t)}var i=r();return typeof i!=`function`&&L(`unknown function pointer with signature ${e}: ${t}`),i};class Fe extends Error{}var Ie=e=>{var t=K(e),n=N(t);return J(t),n},Le=(e,t)=>{var n=[],r={};function i(e){r[e]||F[e]||(I[e]?I[e].forEach(i):(n.push(e),r[e]=!0))}throw t.forEach(i),new Fe(`${e}: `+n.map(Ie).join([`, `]))},Re=(e,t,n)=>{e.forEach(e=>I[e]=t);function r(t){var r=n(t);r.length!==e.length&&W(`Mismatched type converter count`);for(var i=0;i<e.length;++i)R(e[i],r[i])}var i=Array(t.length),a=[],o=0;for(let[e,n]of t.entries())F.hasOwnProperty(n)?i[e]=F[n]:(a.push(n),P.hasOwnProperty(n)||(P[n]=[]),P[n].push(()=>{i[e]=F[n],++o,o===a.length&&r(i)}));a.length===0&&r(i)},ze=e=>{e=e.trim();let t=e.indexOf(`(`);return t===-1?e:e.slice(0,t)},Be=(e,t,n,r,i,a,o,s)=>{var c=je(t,n);e=N(e),e=ze(e),i=Pe(r,i,o),Ae(e,function(){Le(`Cannot call ${e} due to unbound types`,c)},t-1),Re([],c,n=>{var r=[n[0],null].concat(n.slice(1));return Ne(e,Oe(e,r,null,i,a),t-1),[]})},Ve=(e,t,n,r,i)=>{t=N(t);let a=r===0,o=e=>e;if(a){var s=32-8*n;o=e=>e<<s>>>s,i=o(i)}R(e,{name:t,fromWireType:o,toWireType:(e,t)=>t,readValueFromPointer:z(t,n,r!==0),destructorFunction:null})},He=(e,t,n)=>{var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function i(e){var t=v[e>>2],n=v[e+4>>2];return new r(p.buffer,n,t)}n=N(n),R(e,{name:n,fromWireType:i,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},Ue=(e,t,n,r)=>{if(!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.codePointAt(o);if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63,o++}}return t[n]=0,n-i},We=(e,t,n)=>Ue(e,m,t,n),Ge=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},Ke=(e,t)=>{t=N(t),R(e,{name:t,fromWireType(e){var t=v[e>>2],n=M(e+4,t,!0);return J(e),n},toWireType(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n,r=typeof t==`string`;r||ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT==1||L(`Cannot pass non-string to std::string`),n=r?Ge(t):t.length;var i=q(4+n+1),a=i+4;return v[i>>2]=n,r?We(t,a,n+1):m.set(t,a),e!==null&&e.push(J,i),i},readValueFromPointer:U,destructorFunction(e){J(e)}})},qe=new TextDecoder(`utf-16le`),Je=(e,t,n)=>{var r=e>>1,i=j(g,r,t/2,n);return qe.decode(g.subarray(r,i))},Ye=(e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,i=n<e.length*2?n/2:e.length,a=0;a<i;++a){var o=e.charCodeAt(a);h[t>>1]=o,t+=2}return h[t>>1]=0,t-r},Xe=e=>e.length*2,Ze=(e,t,n)=>{for(var r=``,i=e>>2,a=0;!(a>=t/4);a++){var o=v[i+a];if(!o&&!n)break;r+=String.fromCodePoint(o)}return r},Qe=(e,t,n)=>{if(n??=2147483647,n<4)return 0;for(var r=t,i=r+n-4,a=0;a<e.length;++a){var o=e.codePointAt(a);if(o>65535&&a++,_[t>>2]=o,t+=4,t+4>i)break}return _[t>>2]=0,t-r},$e=e=>{for(var t=0,n=0;n<e.length;++n)e.codePointAt(n)>65535&&n++,t+=4;return t},et=(e,t,n)=>{n=N(n);var r,i,a;t===2?(r=Je,i=Ye,a=Xe):(r=Ze,i=Qe,a=$e),R(e,{name:n,fromWireType:e=>{var n=v[e>>2],i=r(e+4,n*t,!0);return J(e),i},toWireType:(e,r)=>{typeof r!=`string`&&L(`Cannot pass non-string to C++ string type ${n}`);var o=a(r),s=q(4+o+t);return v[s>>2]=o/t,i(r,s+4,o+t),e!==null&&e.push(J,s),s},readValueFromPointer:U,destructorFunction(e){J(e)}})},tt=(e,t)=>{t=N(t),R(e,{isVoid:!0,name:t,fromWireType:()=>void 0,toWireType:(e,t)=>void 0})},nt=()=>{throw 1/0},rt=()=>2147483648,it=(e,t)=>Math.ceil(e/t)*t,at=e=>{var t=(e-Z.buffer.byteLength+65535)/65536|0;try{return Z.grow(t),w(),1}catch{}},ot=e=>{var t=m.length;e>>>=0;var n=rt();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),at(Math.min(n,it(Math.max(e,i),65536))))return!0}return!1},st=[null,[],[]],ct=(e,t=0,n,r)=>{var i=j(e,t,n,r);return A.decode(e.buffer?e.subarray(t,i):new Uint8Array(e.slice(t,i)))},lt=(e,t)=>{var n=st[e];t===0||t===10?((e===1?s:c)(ct(n)),n.length=0):n.push(t)},ut=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=v[t>>2],s=v[t+4>>2];t+=8;for(var c=0;c<s;c++)lt(e,m[o+c]);i+=s}return v[r>>2]=i,0};if(n.noExitRuntime&&n.noExitRuntime,n.print&&(s=n.print),n.printErr&&(c=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var K,q,J,Y,X,dt,Z,Q;function ft(e){K=e.v,q=e.x,J=e.y,Y=e.z,X=e.A,dt=e.B,Z=e.t,Q=e.w}var pt={a:me,n:he,j:ve,r:ye,l:Se,i:we,e:Be,c:Ve,b:He,m:Ke,g:et,s:tt,o:nt,p:ot,k:ut,f:gt,q:_t,h:ht,d:mt};function mt(e,t,n){var r=k();try{G(e)(t,n)}catch(e){if(O(r),e!==e+0)throw e;Y(1,0)}}function ht(e,t){var n=k();try{G(e)(t)}catch(e){if(O(n),e!==e+0)throw e;Y(1,0)}}function gt(e,t){var n=k();try{return G(e)(t)}catch(e){if(O(n),e!==e+0)throw e;Y(1,0)}}function _t(e,t,n,r){var i=k();try{return G(e)(t,n,r)}catch(e){if(O(i),e!==e+0)throw e;Y(1,0)}}function vt(){ee();function e(){n.calledRun=!0,u||(te(),d?.(n),n.onRuntimeInitialized?.(),ne())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var $=await le();return vt(),t=C?n:new Promise((e,t)=>{d=e,f=t}),t}export{e as default};
|
|
2
|
+
async function e(e={}){var t=e,n=``,r=``;function i(e){return t.locateFile?t.locateFile(e,r):r+e}var a;try{r=new URL(`.`,n).href}catch{}a=async e=>{var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)};var o=console.log.bind(console),s=console.error.bind(console),c,l=!1;class u{}class ee extends u{}function d(){return Q.buffer}function f(){if(!v?.buffer?.resizable){var e=d();t.HEAP8=v=new Int8Array(e),t.HEAP16=A=new Int16Array(e),C=new Uint8Array(e),j=new Uint16Array(e),t.HEAP32=M=new Int32Array(e),N=new Uint32Array(e),t.HEAPF32=V=new Float32Array(e),t.HEAPF64=H=new Float64Array(e),P=new BigInt64Array(e),F=new BigUint64Array(e)}}function p(){var e=t.preRun;e&&(typeof e==`function`&&(e=[e]),b.push(...e)),ce(b)}function m(){$.t()}function h(){var e=t.postRun;e&&(typeof e==`function`&&(e=[e]),y.push(...e)),ce(y)}function g(e){throw t.onAbort?.(e),e=`Aborted(${e})`,s(e),l=!0,e+=`. Build with -sASSERTIONS for more info.`,new WebAssembly.RuntimeError(e)}var _;function te(){return t.locateFile?i(`libtess-f32.wasm`):new URL(`libtess-f32.wasm`,``).href}function ne(e){throw`both async and sync fetching of the wasm failed`}async function re(e){try{var t=await a(e);return new Uint8Array(t)}catch{}return ne()}async function ie(e,t){try{var n=await re(e);return await WebAssembly.instantiate(n,t)}catch(e){s(`failed to asynchronously prepare wasm: ${e}`),g(e)}}async function ae(e,t,n){try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){s(`wasm streaming compile failed: ${e}`),s(`falling back to ArrayBuffer instantiation`)}return ie(t,n)}function oe(){return{a:dt}}async function se(){function e(e){return $=e.exports,ut($),f(),$}function n(t){return e(t.instance)}var r=oe(),i=t.instantiateWasm;return i?new Promise(t=>{i(r,n=>t(e(n)))}):(_??=te(),n(await ae(c,_,r)))}var v,ce=e=>{for(;e.length>0;)e.shift()(t)},y=[],b=[],x=e=>st(e),S=()=>ct(),le=()=>g(``),C,w=e=>{for(var t=``;;){var n=C[e++];if(!n)return t;t+=String.fromCharCode(n)}},T={},E={},D={};class ue extends Error{constructor(e){super(e),this.name=`BindingError`}}var O=e=>{throw new ue(e)};function de(e,t,n={}){var r=t.name;if(e||O(`type "${r}" must have a positive integer typeid pointer`),E.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;O(`Cannot register type '${r}' twice`)}if(E[e]=t,delete D[e],T.hasOwnProperty(e)){var i=T[e];delete T[e],i.forEach(e=>e())}}function k(e,t,n={}){return de(e,t,n)}var A,j,M,N,P,F,I=(e,t,n)=>{switch(t){case 1:return n?e=>v[e]:e=>C[e];case 2:return n?e=>A[e>>1]:e=>j[e>>1];case 4:return n?e=>M[e>>2]:e=>N[e>>2];case 8:return n?e=>P[e>>3]:e=>F[e>>3];default:throw TypeError(`invalid integer width (${t}): ${e}`)}},fe=(e,t,n,r,i)=>{t=w(t);let a=r===0n,o=e=>e;if(a){let e=n*8;o=t=>BigInt.asUintN(e,t),i=o(i)}k(e,{name:t,fromWireType:o,toWireType:(e,t)=>(typeof t==`number`&&(t=BigInt(t)),t),readValueFromPointer:I(t,n,!a),destructorFunction:null})},pe=(e,t,n,r)=>{t=w(t),k(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:r},readValueFromPointer:function(e){return this.fromWireType(C[e])},destructorFunction:null})},L=[],R=[0,1,,1,null,1,!0,1,!1,1],me=e=>{e>9&&--R[e+1]===0&&(R[e]=void 0,L.push(e))},z={toValue:e=>(e||O(`Cannot use deleted val. handle = ${e}`),R[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let t=L.pop()||R.length;return R[t]=e,R[t+1]=1,t}}}};function B(e){return this.fromWireType(N[e>>2])}var he={name:`emscripten::val`,fromWireType:e=>{var t=z.toValue(e);return me(e),t},toWireType:(e,t)=>z.toHandle(t),readValueFromPointer:B,destructorFunction:null},ge=e=>k(e,he),V,H,_e=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(V[e>>2])};case 8:return function(e){return this.fromWireType(H[e>>3])};default:throw TypeError(`invalid float width (${t}): ${e}`)}},ve=(e,t,n)=>{t=w(t),k(e,{name:t,fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:_e(t,n),destructorFunction:null})},ye=(e,t)=>Object.defineProperty(t,"name",{value:e}),be=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function xe(e){for(var t=1;t<e.length;++t)if(e[t]!==null&&e[t].destructorFunction===void 0)return!0;return!1}function Se(e){for(var t=1;t<e.length;++t)if(e[t]!==null&&e[t].argStackAlloc)return!0;return!1}function Ce(e,t,n,r,i,a){var o=t.length;o<2&&O(`argTypes array size mismatch! Must at least get return value and receiver (this) types!`);var s=t[1]!==null&&n!==null,c=xe(t),l=Se(t),u=l&&!a&&!c;l&&!u&&(c=!0);var ee=!t[0].isVoid,d=o-2,f=Array(d),p=[],m=[];return ye(e,function(...e){m.length=0;var n;u&&(n=S());var a,o;try{p.length=s?2:1,p[0]=i;for(var l=0;l<d;++l){var h=t[l+2];f[l]=h.toWireType(u&&h.argStackAlloc?null:m,e[l]),p.push(f[l])}o=r(...p)}finally{u&&x(n)}function g(e){if(c)be(m);else for(var n=2;n<t.length;n++){var r=n===1?a:f[n-2];t[n].destructorFunction!==null&&t[n].destructorFunction(r)}if(ee)return t[0].fromWireType(e)}return g(o)})}var we=(e,t,n)=>{if(e[t].overloadTable===void 0){var r=e[t];e[t]=function(...r){return e[t].overloadTable.hasOwnProperty(r.length)||O(`Function '${n}' called with an invalid number of arguments (${r.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[r.length].apply(this,r)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}},Te=(e,n,r)=>{t.hasOwnProperty(e)?((r===void 0||t[e].overloadTable!==void 0&&t[e].overloadTable[r]!==void 0)&&O(`Cannot register public name '${e}' twice`),we(t,e,e),t[e].overloadTable.hasOwnProperty(r)&&O(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),t[e].overloadTable[r]=n):(t[e]=n,t[e].argCount=r)},Ee=(e,t)=>{for(var n=[],r=0;r<e;r++)n.push(N[t+r*4>>2]);return n};class De extends Error{constructor(e){super(e),this.name=`InternalError`}}var U=e=>{throw new De(e)},Oe=(e,n,r)=>{t.hasOwnProperty(e)||U(`Replacing nonexistent public symbol`),t[e].overloadTable!==void 0&&r!==void 0?t[e].overloadTable[r]=n:(t[e]=n,t[e].argCount=r)},W=e=>lt.get(e),ke=(e,t,n=!1)=>{e=w(e);function r(){return W(t)}var i=r();return typeof i!=`function`&&O(`unknown function pointer with signature ${e}: ${t}`),i};class Ae extends Error{}var je=e=>{var t=J(e),n=w(t);return X(t),n},Me=(e,t)=>{var n=[],r={};function i(e){r[e]||E[e]||(D[e]?D[e].forEach(i):(n.push(e),r[e]=!0))}throw t.forEach(i),new Ae(`${e}: `+n.map(je).join([`, `]))},Ne=(e,t,n)=>{e.forEach(e=>D[e]=t);function r(t){var r=n(t);r.length!==e.length&&U(`Mismatched type converter count`);for(var i=0;i<e.length;++i)k(e[i],r[i])}var i=Array(t.length),a=[],o=0;for(let[e,n]of t.entries())E.hasOwnProperty(n)?i[e]=E[n]:(a.push(n),T.hasOwnProperty(n)||(T[n]=[]),T[n].push(()=>{i[e]=E[n],++o,o===a.length&&r(i)}));a.length===0&&r(i)},Pe=e=>{e=e.trim();let t=e.indexOf(`(`);return t===-1?e:e.slice(0,t)},Fe=(e,t,n,r,i,a,o,s)=>{var c=Ee(t,n);e=w(e),e=Pe(e),i=ke(r,i,o),Te(e,function(){Me(`Cannot call ${e} due to unbound types`,c)},t-1),Ne([],c,n=>{var r=[n[0],null].concat(n.slice(1));return Oe(e,Ce(e,r,null,i,a,o),t-1),[]})},Ie=(e,t,n,r,i)=>{t=w(t);let a=r===0,o=e=>e;if(a){var s=32-8*n;o=e=>e<<s>>>s,i=o(i)}k(e,{name:t,fromWireType:o,toWireType:(e,t)=>t,readValueFromPointer:I(t,n,r!==0),destructorFunction:null})},Le=(e,t,n)=>{var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function i(e){var t=N[e>>2],n=N[e+4>>2];return new r(v.buffer,n,t)}n=w(n),k(e,{name:n,fromWireType:i,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},Re=(e,t,n,r)=>{if(!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.codePointAt(o);if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63,o++}}return t[n]=0,n-i},ze=(e,t,n)=>Re(e,C,t,n),Be=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},G=new TextDecoder,K=(e,t,n,r)=>{var i=t+n;if(r)return i;for(;e[t]&&!(t>=i);)++t;return t},Ve=(e,t,n)=>{if(!e)return``;var r=K(C,e,t,n);return G.decode(C.subarray(e,r))},He=(e,t)=>{t=w(t),k(e,{name:t,fromWireType(e){var t=N[e>>2],n=Ve(e+4,t,!0);return X(e),n},toWireType(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n,r=typeof t==`string`;r||ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT==1||O(`Cannot pass non-string to std::string`),n=r?Be(t):t.length;var i=Y(4+n+1),a=i+4;return N[i>>2]=n,r?ze(t,a,n+1):C.set(t,a),e!==null&&e.push(X,i),i},readValueFromPointer:B,destructorFunction(e){X(e)}})},Ue=new TextDecoder(`utf-16le`),We=(e,t,n)=>{var r=e>>1,i=K(j,r,t/2,n);return Ue.decode(j.subarray(r,i))},Ge=(e,t,n=2147483647)=>{if(n<2)return 0;n-=2;for(var r=t,i=n<e.length*2?n/2:e.length,a=0;a<i;++a){var o=e.charCodeAt(a);A[t>>1]=o,t+=2}return A[t>>1]=0,t-r},Ke=e=>e.length*2,qe=(e,t,n)=>{for(var r=``,i=e>>2,a=0;!(a>=t/4);a++){var o=N[i+a];if(!o&&!n)break;r+=String.fromCodePoint(o)}return r},Je=(e,t,n=2147483647)=>{if(n<4)return 0;for(var r=t,i=r+n-4,a=0;a<e.length;++a){var o=e.codePointAt(a);if(o>65535&&a++,M[t>>2]=o,t+=4,t+4>i)break}return M[t>>2]=0,t-r},Ye=e=>{for(var t=0,n=0;n<e.length;++n)e.codePointAt(n)>65535&&n++,t+=4;return t},Xe=(e,t,n)=>{n=w(n);var r,i,a;t===2?(r=We,i=Ge,a=Ke):(r=qe,i=Je,a=Ye),k(e,{name:n,fromWireType:e=>{var n=N[e>>2],i=r(e+4,n*t,!0);return X(e),i},toWireType:(e,r)=>{typeof r!=`string`&&O(`Cannot pass non-string to C++ string type ${n}`);var o=a(r),s=Y(4+o+t);return N[s>>2]=o/t,i(r,s+4,o+t),e!==null&&e.push(X,s),s},readValueFromPointer:B,destructorFunction(e){X(e)}})},Ze=(e,t)=>{t=w(t),k(e,{isVoid:!0,name:t,fromWireType:()=>void 0,toWireType:(e,t)=>void 0})},Qe=()=>{throw new ee},$e=()=>2147483648,et=(e,t)=>Math.ceil(e/t)*t,tt=e=>{var t=(e-Q.buffer.byteLength+65535)/65536|0;try{return Q.grow(t),f(),1}catch{}},nt=e=>{var t=C.length;e>>>=0;var n=$e();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),tt(Math.min(n,et(Math.max(e,i),65536))))return!0}return!1},rt=[null,[],[]],it=(e,t=0,n,r)=>{var i=K(e,t,n,r);return G.decode(e.buffer?e.subarray(t,i):new Uint8Array(e.slice(t,i)))},at=(e,t)=>{var n=rt[e];!t||t===10?((e===1?o:s)(it(n)),n.length=0):n.push(t)},ot=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=N[t>>2],s=N[t+4>>2];t+=8;for(var c=0;c<s;c++)at(e,C[o+c]);i+=s}return N[r>>2]=i,0};t.noExitRuntime&&t.noExitRuntime,t.print&&(o=t.print),t.printErr&&(s=t.printErr),t.arguments&&t.arguments,t.thisProgram&&t.thisProgram;var q=t.preInit;if(q)for(typeof q==`function`&&(t.preInit=q=[q]);q.length>0;)q.shift()();var J,Y,X,Z,st,ct,Q,lt;function ut(e){J=e.u,Y=e.w,X=e.x,Z=e.y,st=e.z,ct=e.A,Q=e.s,lt=e.v}var dt={o:le,h:fe,q:pe,k:ge,g:ve,d:Fe,b:Ie,a:Le,l:He,f:Xe,r:Ze,m:Qe,n:nt,i:ot,e:mt,p:ht,j:pt,c:ft};function ft(e,t,n){var r=S();try{W(e)(t,n)}catch(e){if(x(r),!(e instanceof u))throw e;Z(1,0)}}function pt(e,t){var n=S();try{W(e)(t)}catch(e){if(x(n),!(e instanceof u))throw e;Z(1,0)}}function mt(e,t){var n=S();try{return W(e)(t)}catch(e){if(x(n),!(e instanceof u))throw e;Z(1,0)}}function ht(e,t,n,r){var i=S();try{return W(e)(t,n,r)}catch(e){if(x(i),!(e instanceof u))throw e;Z(1,0)}}async function gt(){p();var e=t.setStatus;e&&(e(`Running...`),await new Promise(e=>setTimeout(e,1)),setTimeout(e,1,``)),l||(m(),t.onRuntimeInitialized?.(),h())}var $=await se();return await gt(),t}export{e as default};
|