{"version":3,"sources":["jsdelivr-header.js","/npm/@coconut-xr/koestlich@0.3.12/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNS,WAAY,cAAe,YAAe,eAC1C,WAAc,cACvB,MAAM,aAAe,IAAI,QACnB,qBAAuB,IAAI,eAC1B,MAAM,oBAAsB,IAAI,QACvC,MAAM,eAAiB,IAAI,QACrB,eAAiB,IAAI,QACrB,iBAAmB,IAAI,WAC7B,SAAS,yBAAyB,EAAG,GACjC,GAAI,EAAE,aAAe,EAAE,WACnB,OAAO,EAAE,WAAa,EAAE,WAE5B,GAAI,EAAE,cAAgB,EAAE,YACpB,OAAO,EAAE,YAAc,EAAE,YAE7B,MAAM,EAAU,gBAAgB,EAAE,QAC5B,EAAU,gBAAgB,EAAE,QASlC,GARe,MAAX,IACA,EAAQ,eAAiB,EAAE,EAC3B,EAAE,EAAI,EAAQ,cAEH,MAAX,IACA,EAAQ,eAAiB,EAAE,EAC3B,EAAE,EAAI,EAAQ,cAEH,MAAX,GAAmB,IAAY,EAAS,CACxC,EAAQ,iBAAiB,sBAAsB,IAAI,qBACnD,EAAE,OAAO,iBAAiB,gBAAgB,IAAI,EAAE,OAAO,iBAAiB,iBACxE,EAAQ,mBAAmB,kBAC3B,eAAe,gBAAgB,iBAAiB,UAChD,IAAI,EAAW,eAAe,EAI9B,OAHI,qBAAqB,IAAI,EAAQ,kBAAkB,eAAiB,IACpE,GAAY,GAET,CACX,CACA,OAAI,EAAE,IAAM,EAAE,EACH,EAAE,EAAI,EAAE,EAEZ,EAAE,GAAK,EAAE,EACpB,QACO,SAAS,iBAAiB,GAC7B,EAAS,mBAAmB,yBAChC,CAEA,SAAS,gBAAgB,GACrB,GAAqB,MAAjB,EAAO,OAGX,OAAI,EAAO,kBAAkB,OAClB,EAAO,OAEX,gBAAgB,EAAO,OAClC,QACO,MAAM,kBAAoB,CAC7B,cAAe,qBAEV,KAAK,oBACL,KAAK,mBACL,KAAK,oBACL,KAAK,wBACL,KAAK,4BACL,KAAK,wBACL,KAAK,wBACL,KAAK,kBACL,KAAK,kBACL,KAAK,uBACL,KAAK,8BACL,KAAK,8BACL,KAAK","file":"/npm/@coconut-xr/koestlich@0.3.12/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@coconut-xr/koestlich@0.3.12/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { Quaternion, TextureLoader, Vector3 } from \"three\";\nimport { Bucket } from \"./bucket.js\";\nconst normalHelper = new Vector3();\nconst positionNormalHelper = new Vector3();\nexport const cameraWorldPosition = new Vector3();\nconst positonHelper1 = new Vector3();\nconst positonHelper2 = new Vector3();\nconst quaternionHelper = new Quaternion();\nfunction reversePainterSortStable(a, b) {\n    if (a.groupOrder !== b.groupOrder) {\n        return a.groupOrder - b.groupOrder;\n    }\n    if (a.renderOrder !== b.renderOrder) {\n        return a.renderOrder - b.renderOrder;\n    }\n    const aBucket = getBucketParent(a.object);\n    const bBucket = getBucketParent(b.object);\n    if (aBucket != null) {\n        aBucket.screenSpaceZ ??= a.z;\n        a.z = aBucket.screenSpaceZ;\n    }\n    if (bBucket != null) {\n        bBucket.screenSpaceZ ??= b.z;\n        b.z = bBucket.screenSpaceZ;\n    }\n    if (aBucket != null && aBucket === bBucket) {\n        aBucket.getWorldPosition(positionNormalHelper).sub(cameraWorldPosition);\n        b.object.getWorldPosition(positonHelper1).sub(a.object.getWorldPosition(positonHelper2));\n        aBucket.getWorldQuaternion(quaternionHelper);\n        positonHelper1.applyQuaternion(quaternionHelper.invert());\n        let distance = positonHelper1.z;\n        if (positionNormalHelper.dot(aBucket.getWorldDirection(normalHelper)) < 0) {\n            distance = -distance;\n        }\n        return distance;\n    }\n    if (a.z !== b.z) {\n        return b.z - a.z;\n    }\n    return a.id - b.id;\n}\nexport function patchRenderOrder(renderer) {\n    renderer.setTransparentSort(reversePainterSortStable);\n}\n//TODO: replace with reference to bucket\nfunction getBucketParent(object) {\n    if (object.parent == null) {\n        return undefined;\n    }\n    if (object.parent instanceof Bucket) {\n        return object.parent;\n    }\n    return getBucketParent(object.parent);\n}\nexport const PlatformConstants = {\n    TextureLoader: TextureLoader,\n};\nexport * from \"./vector.js\";\nexport * from \"./utils.js\";\nexport * from \"./bucket.js\";\nexport * from \"./background.js\";\nexport * from \"./scroll-handler.js\";\nexport * from \"./transition.js\";\nexport * from \"./transition.js\";\nexport * from \"./node.js\";\nexport * from \"./root.js\";\nexport * from \"./component.js\";\nexport * from \"./properties/index.js\";\nexport * from \"./components/index.js\";\nexport * from \"./test.js\";\n"]}