BabylonJS / Babylon.js

Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
http://www.babylonjs.com
Apache License 2.0
23.07k stars 3.41k forks source link

Custom bundle/build throws error v3.1.0-beta6 #3249

Closed tommhuth closed 6 years ago

tommhuth commented 6 years ago

Error is thrown from Scene as far as I can see:

Uncaught TypeError: Right-hand side of 'instanceof' is not an object
    at SubMesh.intersects (babylon.custom.js:26186)
    at Mesh.AbstractMesh.intersects (babylon.custom.js:15099)
    at Scene._internalPick (babylon.custom.js:21201)
    at Scene.pick (babylon.custom.js:21279)
    at HTMLCanvasElement._onPointerDown (babylon.custom.js:19159)

In the constructor for scene I find the following:

if (BABYLON.Tools.IsWindowObjectExist()) {
   this.attachControl();
}

If i uncomment that, the error disappears, and everything seems to work as expected. This only happens with custom bundle tho, not with the basic NPM installed Babylonjs.

sebavan commented 6 years ago

Thanks for reporting. Ping @RaananW to investigate.

sebavan commented 6 years ago

By the way @tommhuth, could you share the config you are using in case it depends of it ?

tommhuth commented 6 years ago

sure!

this is my entire config (not sure what you need here, my deps are listed in "custom"):

{
    "build": {
        "filename": "babylon.custom.js",
        "minFilename": "babylon.js",
        "minWorkerFilename": "babylon.worker.js",
        "declarationFilename": "babylon.d.ts",
        "declarationModuleFilename": "babylon.module.d.ts",
        "outputDirectory": "../../../stacky/resources",
        "playgroundDirectory": "../../Playground/",
        "intellisenseFile": "babylon.d.txt",
        "intellisenseSources": [
            "../../dist/preview release/babylon.d.ts",
            "../../dist/preview release/gui/babylon.gui.d.ts"
        ],
        "outputCustomConfigurationsDirectory": "../../dist/preview release/customConfigurations",
        "srcOutputDirectory": "../../src/",
        "currentConfig": "custom"
    },
    "buildConfigurations": {
        "all": [
            "standardMaterial",
            "pbrMaterial",
            "freeCamera",
            "arcRotateCamera",
            "hemisphericLight",
            "pointLight",
            "directionalLight",
            "spotLight",
            "animations",
            "actions",
            "sprites",
            "picking",
            "collisions",
            "particles",
            "gpuParticles",
            "solidParticles",
            "additionalMeshes",
            "meshBuilder",
            "audio",
            "additionalTextures",
            "shadows",
            "loader",
            "userData",
            "offline",
            "fresnel",
            "multiMaterial",
            "touchCamera",
            "procedural",
            "gamepad",
            "additionalCameras",
            "postProcesses",
            "renderingPipeline",
            "additionalRenderingPipeline",
            "defaultRenderingPipeline",
            "depthRenderer",
            "geometryBufferRenderer",
            "additionalPostProcesses",
            "additionalPostProcess_blur",
            "additionalPostProcess_fxaa",
            "additionalPostProcess_imageProcessing",
            "bones",
            "hdr",
            "polygonMesh",
            "csg",
            "lensFlares",
            "physics",
            "textureFormats",
            "debug",
            "morphTargets",
            "octrees",
            "simd",
            "vr",
            "virtualJoystick",
            "optimizations",
            "highlights",
            "assetsManager",
            "serialization",
            "probes",
            "layer",
            "textureTools",
            "cameraBehaviors",
            "nullEngine",
            "instrumentation",
            "backgroundMaterial",
            "environmentHelper"
        ],
        "custom": [ 
            "meshBuilder",
            "standardMaterial",
            "freeCamera",
            "directionalLight",
            "physics",
            "csg",
            "animations"
        ],
        "minimal": [
            "standardMaterial",
            "freeCamera",
            "hemisphericLight"
        ],
        "minimalWithBuilder": [
            "meshBuilder",
            "standardMaterial",
            "freeCamera",
            "hemisphericLight"
        ],
        "minimalGLTFViewer": [
            "standardMaterial",
            "pbrMaterial",
            "freeCamera",
            "arcRotateCamera",
            "hemisphericLight",
            "pointLight",
            "directionalLight",
            "spotLight",
            "animations",
            "actions",
            "sprites",
            "picking",
            "collisions",
            "particles",
            "solidParticles",
            "additionalMeshes",
            "meshBuilder",
            "audio",
            "additionalTextures",
            "shadows",
            "loader",
            "userData",
            "offline",
            "fresnel",
            "multiMaterial",
            "touchCamera",
            "procedural",
            "gamepad",
            "additionalCameras",
            "postProcesses",
            "renderingPipeline",
            "additionalRenderingPipeline",
            "defaultRenderingPipeline",
            "depthRenderer",
            "geometryBufferRenderer",
            "additionalPostProcesses",
            "additionalPostProcess_blur",
            "additionalPostProcess_fxaa",
            "additionalPostProcess_imageProcessing",
            "bones",
            "hdr",
            "polygonMesh",
            "csg",
            "lensFlares",
            "physics",
            "textureFormats",
            "debug",
            "morphTargets",
            "octrees",
            "simd",
            "vr",
            "virtualJoystick",
            "optimizations",
            "highlights",
            "assetsManager",
            "serialization",
            "probes",
            "layer",
            "textureTools",
            "cameraBehaviors",
            "instrumentation",
            "backgroundMaterial",
            "environmentHelper",
            "materialsLibrary/babylon.gridMaterial.js",
            "loaders/babylon.glTFFileLoader.js"
        ],
        "distributed": [
            "minimalGLTFViewer"
        ]
    },
    "workloads": {
        "core": {
            "files": [
                "../../src/babylon.types.js",
                "../../src/Events/babylon.keyboardEvents.js",
                "../../src/Events/babylon.pointerEvents.js",
                "../../src/Math/babylon.math.js",
                "../../src/Math/babylon.math.scalar.js",
                "../../src/babylon.mixins.js",
                "../../src/Tools/babylon.decorators.js",
                "../../src/Tools/babylon.observable.js",
                "../../src/Tools/babylon.smartArray.js",
                "../../src/Tools/babylon.tools.js",
                "../../src/States/babylon.alphaCullingState.js",
                "../../src/States/babylon.depthCullingState.js",
                "../../src/States/babylon.stencilState.js",
                "../../src/Engine/babylon.engine.js",
                "../../src/babylon.node.js",
                "../../src/Culling/babylon.boundingSphere.js",
                "../../src/Culling/babylon.boundingBox.js",
                "../../src/Culling/babylon.boundingInfo.js",
                "../../src/Mesh/babylon.transformNode.js",
                "../../src/Mesh/babylon.abstractMesh.js",
                "../../src/Lights/babylon.light.js",
                "../../src/Cameras/babylon.camera.js",
                "../../src/Rendering/babylon.renderingManager.js",
                "../../src/Rendering/babylon.renderingGroup.js",
                "../../src/babylon.scene.js",
                "../../src/Mesh/babylon.buffer.js",
                "../../src/Mesh/babylon.vertexBuffer.js",
                "../../src/Materials/Textures/babylon.internalTexture.js",
                "../../src/Materials/Textures/babylon.baseTexture.js",
                "../../src/Materials/Textures/babylon.texture.js",
                "../../src/Mesh/babylon.mesh.js",
                "../../src/Mesh/babylon.subMesh.js",
                "../../src/Materials/babylon.effect.js",
                "../../src/Materials/babylon.materialHelper.js",
                "../../src/Materials/babylon.material.js",
                "../../src/Materials/babylon.uniformBuffer.js",
                "../../src/Materials/babylon.pushMaterial.js",
                "../../src/Mesh/babylon.mesh.vertexData.js",
                "../../src/Mesh/babylon.geometry.js",
                "../../src/PostProcess/babylon.postProcessManager.js",
                "../../src/Tools/babylon.performanceMonitor.js",
                "../../src/Materials/babylon.imageProcessingConfiguration.js",
                "../../src/Materials/Textures/babylon.colorGradingTexture.js",
                "../../src/Materials/babylon.colorCurves.js"
            ],
            "shaderIncludes": [
                "depthPrePass"
            ]
        },
        "particles": {
            "files": [
                "../../src/Particles/babylon.particle.js",
                "../../src/Particles/babylon.particleSystem.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "particles.vertex",
                "particles.fragment"
            ]
        },
        "gpuParticles": {
            "files": [
                "../../src/Particles/babylon.gpuParticleSystem.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "gpuRenderParticles.vertex",
                "gpuRenderParticles.fragment",
                "gpuUpdateParticles.vertex",
                "gpuUpdateParticles.fragment"
            ]
        },
        "nullEngine": {
            "files": [
                "../../src/Engine/babylon.nullEngine.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "instrumentation": {
            "files": [
                "../../src/Instrumentation/babylon.engineInstrumentation.js",
                "../../src/Instrumentation/babylon.sceneInstrumentation.js",
                "../../src/Instrumentation/babylon.timeToken.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "cameraBehaviors": {
            "files": [
                "../../src/Behaviors/Cameras/babylon.framingBehavior.js",
                "../../src/Behaviors/Cameras/babylon.bouncingBehavior.js",
                "../../src/Behaviors/Cameras/babylon.autoRotationBehavior.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "textureTools": {
            "files": [
                "../../src/Tools/babylon.textureTools.js"
            ],
            "dependUpon": [
                "core",
                "postProcesses"
            ]
        },
        "solidParticles": {
            "files": [
                "../../src/Particles/babylon.solidParticle.js",
                "../../src/Particles/babylon.solidParticleSystem.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "collisions": {
            "files": [
                "../../src/Collisions/babylon.collider.js",
                "../../src/Collisions/babylon.collisionCoordinator.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "picking": {
            "files": [
                "../../src/Collisions/babylon.pickingInfo.js",
                "../../src/Culling/babylon.ray.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "sprites": {
            "files": [
                "../../src/Sprites/babylon.spriteManager.js",
                "../../src/Sprites/babylon.sprite.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "sprites.vertex",
                "sprites.fragment"
            ]
        },
        "animations": {
            "files": [
                "../../src/Animations/babylon.animation.js",
                "../../src/Animations/babylon.runtimeAnimation.js",
                "../../src/Animations/babylon.animatable.js",
                "../../src/Animations/babylon.easing.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "actions": {
            "files": [
                "../../src/Actions/babylon.condition.js",
                "../../src/Actions/babylon.action.js",
                "../../src/Actions/babylon.actionManager.js",
                "../../src/Actions/babylon.interpolateValueAction.js",
                "../../src/Actions/babylon.directActions.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "additionalMeshes": {
            "files": [
                "../../src/Mesh/babylon.groundMesh.js",
                "../../src/Mesh/babylon.instancedMesh.js",
                "../../src/Mesh/babylon.linesMesh.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "color.vertex",
                "color.fragment"
            ]
        },
        "meshBuilder": {
            "files": [
                "../../src/Mesh/babylon.meshBuilder.js"
            ],
            "dependUpon": [
                "core",
                "shaderMaterial"
            ]
        },
        "shaderMaterial": {
            "files": [
                "../../src/Materials/babylon.shaderMaterial.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "standardMaterial": {
            "files": [
                "../../src/Materials/babylon.standardMaterial.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "default.vertex",
                "default.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "pointCloudVertexDeclaration",
                "bumpVertexDeclaration",
                "clipPlaneVertexDeclaration",
                "fogVertexDeclaration",
                "morphTargetsVertexGlobalDeclaration",
                "morphTargetsVertexDeclaration",
                "logDepthDeclaration",
                "morphTargetsVertex",
                "instancesVertex",
                "bonesVertex",
                "bumpVertex",
                "clipPlaneVertex",
                "fogVertex",
                "shadowsVertex",
                "pointCloudVertex",
                "logDepthVertex",
                "helperFunctions",
                "lightFragmentDeclaration",
                "lightsFragmentFunctions",
                "lightUboDeclaration",
                "defaultVertexDeclaration",
                "defaultFragmentDeclaration",
                "defaultUboDeclaration",
                "shadowsFragmentFunctions",
                "fresnelFunction",
                "reflectionFunction",
                "imageProcessingDeclaration",
                "imageProcessingFunctions",
                "bumpFragmentFunctions",
                "clipPlaneFragmentDeclaration",
                "logDepthDeclaration",
                "fogFragmentDeclaration",
                "clipPlaneFragment",
                "bumpFragment",
                "lightFragment",
                "logDepthFragment",
                "fogFragment"
            ]
        },
        "pbrMaterial": {
            "files": [
                "../../src/Materials/PBR/babylon.pbrBaseMaterial.js",
                "../../src/Materials/PBR/babylon.pbrBaseSimpleMaterial.js",
                "../../src/Materials/PBR/babylon.pbrMaterial.js",
                "../../src/Materials/PBR/babylon.pbrMetallicRoughnessMaterial.js",
                "../../src/Materials/PBR/babylon.pbrSpecularGlossinessMaterial.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "pbr.vertex",
                "pbr.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "bumpVertexDeclaration",
                "clipPlaneVertexDeclaration",
                "fogVertexDeclaration",
                "morphTargetsVertexGlobalDeclaration",
                "morphTargetsVertexDeclaration",
                "logDepthDeclaration",
                "morphTargetsVertex",
                "instancesVertex",
                "bonesVertex",
                "bumpVertex",
                "clipPlaneVertex",
                "fogVertex",
                "shadowsVertex",
                "logDepthVertex",
                "lightFragmentDeclaration",
                "lightUboDeclaration",
                "pbrVertexDeclaration",
                "pbrFragmentDeclaration",
                "pbrUboDeclaration",
                "fresnelFunction",
                "reflectionFunction",
                "shadowsFragmentFunctions",
                "pbrFunctions",
                "imageProcessingDeclaration",
                "imageProcessingFunctions",
                "harmonicsFunctions",
                "pbrLightFunctions",
                "helperFunctions",
                "bumpFragmentFunctions",
                "clipPlaneFragmentDeclaration",
                "logDepthDeclaration",
                "fogFragmentDeclaration",
                "clipPlaneFragment",
                "bumpFragment",
                "lightFragment",
                "logDepthFragment",
                "fogFragment"
            ]
        },
        "freeCamera": {
            "files": [
                "../../src/Cameras/babylon.cameraInputsManager.js",
                "../../src/Cameras/Inputs/babylon.freeCameraMouseInput.js",
                "../../src/Cameras/Inputs/babylon.freeCameraKeyboardMoveInput.js",
                "../../src/Cameras/babylon.freeCameraInputsManager.js",
                "../../src/Cameras/babylon.targetCamera.js",
                "../../src/Cameras/babylon.freeCamera.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "arcRotateCamera": {
            "files": [
                "../../src/Cameras/babylon.cameraInputsManager.js",
                "../../src/Cameras/babylon.targetCamera.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraKeyboardMoveInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraMouseWheelInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraPointersInput.js",
                "../../src/Cameras/babylon.arcRotateCamera.js",
                "../../src/Cameras/babylon.arcRotateCameraInputsManager.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "hemisphericLight": {
            "files": [
                "../../src/Lights/babylon.hemisphericLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "pointLight": {
            "files": [
                "../../src/Lights/babylon.shadowLight.js",
                "../../src/Lights/babylon.pointLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "directionalLight": {
            "files": [
                "../../src/Lights/babylon.shadowLight.js",
                "../../src/Lights/babylon.directionalLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "spotLight": {
            "files": [
                "../../src/Lights/babylon.shadowLight.js",
                "../../src/Lights/babylon.spotLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "audio": {
            "files": [
                "../../src/Audio/babylon.audioEngine.js",
                "../../src/Audio/babylon.sound.js",
                "../../src/Audio/babylon.soundtrack.js",
                "../../src/Audio/babylon.analyser.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "additionalTextures": {
            "files": [
                "../../src/Materials/Textures/babylon.cubeTexture.js",
                "../../src/Materials/Textures/babylon.renderTargetTexture.js",
                "../../src/Materials/Textures/babylon.multiRenderTarget.js",
                "../../src/Materials/Textures/babylon.mirrorTexture.js",
                "../../src/Materials/Textures/babylon.refractionTexture.js",
                "../../src/Materials/Textures/babylon.dynamicTexture.js",
                "../../src/Materials/Textures/babylon.videoTexture.js",
                "../../src/Materials/Textures/babylon.rawTexture.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "shadows": {
            "files": [
                "../../src/Lights/Shadows/babylon.shadowGenerator.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "shadowMap.vertex",
                "shadowMap.fragment",
                "depthBoxBlur.fragment"
            ]
        },
        "loader": {
            "files": [
                "../../src/Loading/babylon.loadingScreen.js",
                "../../src/Loading/babylon.sceneLoader.js",
                "../../src/Loading/Plugins/babylon.babylonFileLoader.js",
                "../../src/Tools/babylon.filesInput.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "stringDictionary": {
            "files": [
                "../../src/Tools/babylon.stringDictionary.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "userData": {
            "files": [
                "../../src/Tools/babylon.tags.js",
                "../../src/Tools/babylon.andOrNotEvaluator.js"
            ],
            "dependUpon": [
                "core",
                "stringDictionary"
            ]
        },
        "offline": {
            "files": [
                "../../src/Tools/babylon.database.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "fresnel": {
            "files": [
                "../../src/Materials/babylon.fresnelParameters.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "multiMaterial": {
            "files": [
                "../../src/Materials/babylon.multiMaterial.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "touchCamera": {
            "files": [
                "../../src/Cameras/Inputs/babylon.freeCameraTouchInput.js",
                "../../src/Cameras/babylon.touchCamera.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "procedural": {
            "files": [
                "../../src/Materials/Textures/Procedurals/babylon.proceduralTexture.js",
                "../../src/Materials/Textures/Procedurals/babylon.customProceduralTexture.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "procedural.vertex"
            ]
        },
        "gamepad": {
            "files": [
                "../../src/Cameras/Inputs/babylon.freeCameraGamepadInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraGamepadInput.js",
                "../../src/Gamepad/babylon.gamepadManager.js",
                "../../src/Gamepad/babylon.gamepad.js",
                "../../src/Gamepad/babylon.xboxGamepad.js",
                "../../src/Gamepad/Controllers/babylon.poseEnabledController.js",
                "../../src/Gamepad/Controllers/babylon.webVRController.js",
                "../../src/Gamepad/Controllers/babylon.oculusTouchController.js",
                "../../src/Gamepad/Controllers/babylon.viveController.js",
                "../../src/Gamepad/Controllers/babylon.genericController.js",
                "../../src/Gamepad/Controllers/babylon.windowsMotionController.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "additionalCameras": {
            "files": [
                "../../src/Cameras/babylon.followCamera.js",
                "../../src/Cameras/babylon.universalCamera.js",
                "../../src/Cameras/babylon.gamepadCamera.js"
            ],
            "dependUpon": [
                "gamepad"
            ]
        },
        "depthRenderer": {
            "files": [
                "../../src/Rendering/babylon.depthRenderer.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "depth.vertex",
                "depth.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "instancesVertex",
                "bonesVertex"
            ]
        },
        "geometryBufferRenderer": {
            "files": [
                "../../src/Rendering/babylon.geometryBufferRenderer.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "geometry.vertex",
                "geometry.fragment"
            ],
            "shaderIncludes": [
                "mrtFragmentDeclaration",
                "bones300Declaration",
                "instances300Declaration",
                "instancesVertex",
                "bonesVertex"
            ]
        },
        "postProcesses": {
            "files": [
                "../../src/PostProcess/babylon.postProcess.js",
                "../../src/PostProcess/babylon.passPostProcess.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "postprocess.vertex",
                "pass.fragment"
            ]
        },
        "additionalPostProcess_blur": {
            "files": [
                "../../src/PostProcess/babylon.blurPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "kernelBlur.vertex",
                "kernelBlur.fragment"
            ],
            "shaderIncludes": [
                "kernelBlurFragment",
                "kernelBlurFragment2",
                "kernelBlurVaryingDeclaration",
                "kernelBlurVertex"
            ]
        },
        "additionalPostProcess_fxaa": {
            "files": [
                "../../src/PostProcess/babylon.fxaaPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "fxaa.vertex",
                "fxaa.fragment"
            ]
        },
        "additionalPostProcess_highlights": {
            "files": [
                "../../src/PostProcess/babylon.highlightsPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "highlights.fragment"
            ]
        },
        "additionalPostProcess_imageProcessing": {
            "files": [
                "../../src/PostProcess/babylon.imageProcessingPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "imageProcessing.fragment"
            ],
            "shaderIncludes": [
                "imageProcessingDeclaration",
                "imageProcessingFunctions"
            ]
        },
        "additionalPostProcesses": {
            "files": [
                "../../src/PostProcess/babylon.refractionPostProcess.js",
                "../../src/PostProcess/babylon.blackAndWhitePostProcess.js",
                "../../src/PostProcess/babylon.convolutionPostProcess.js",
                "../../src/PostProcess/babylon.filterPostProcess.js",
                "../../src/PostProcess/babylon.fxaaPostProcess.js",
                "../../src/PostProcess/babylon.volumetricLightScatteringPostProcess.js",
                "../../src/PostProcess/babylon.colorCorrectionPostProcess.js",
                "../../src/PostProcess/babylon.tonemapPostProcess.js",
                "../../src/PostProcess/babylon.displayPassPostProcess.js",
                "../../src/PostProcess/babylon.highlightsPostProcess.js",
                "../../src/PostProcess/babylon.imageProcessingPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "refraction.fragment",
                "blackAndWhite.fragment",
                "convolution.fragment",
                "filter.fragment",
                "fxaa.fragment",
                "volumetricLightScattering.fragment",
                "volumetricLightScatteringPass.fragment",
                "colorCorrection.fragment",
                "tonemap.fragment",
                "displayPass.fragment",
                "highlights.fragment",
                "imageProcessing.fragment"
            ]
        },
        "renderingPipeline": {
            "files": [
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js",
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js",
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js",
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js"
            ],
            "dependUpon": [
                "postProcesses"
            ]
        },
        "additionalRenderingPipeline": {
            "files": [
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.ssaoRenderingPipeline.js",
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.ssao2RenderingPipeline.js",
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.lensRenderingPipeline.js",
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.standardRenderingPipeline.js"
            ],
            "dependUpon": [
                "renderingPipeline",
                "depthRenderer"
            ],
            "shaders": [
                "ssao.fragment",
                "ssao2.fragment",
                "ssaoCombine.fragment",
                "chromaticAberration.fragment",
                "lensHighlights.fragment",
                "depthOfField.fragment",
                "standard.fragment"
            ]
        },
        "defaultRenderingPipeline": {
            "files": [
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.defaultRenderingPipeline.js"
            ],
            "dependUpon": [
                "renderingPipeline",
                "additionalPostProcess_fxaa"
            ]
        },
        "bones": {
            "files": [
                "../../src/Bones/babylon.bone.js",
                "../../src/Bones/babylon.boneIKController.js",
                "../../src/Bones/babylon.boneLookController.js",
                "../../src/Bones/babylon.skeleton.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "hdr": {
            "files": [
                "../../src/Math/babylon.sphericalPolynomial.js",
                "../../src/Tools/HDR/babylon.cubemapToSphericalPolynomial.js",
                "../../src/Tools/HDR/babylon.panoramaToCubemap.js",
                "../../src/Tools/HDR/babylon.hdr.js",
                "../../src/Materials/Textures/babylon.hdrCubeTexture.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "csg": {
            "files": [
                "../../src/Mesh/babylon.csg.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "polygonMesh": {
            "files": [
                "../../src/Tools/babylon.earcut.js",
                "../../src/Mesh/babylon.polygonMesh.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "lensFlares": {
            "files": [
                "../../src/LensFlare/babylon.lensFlare.js",
                "../../src/LensFlare/babylon.lensFlareSystem.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "lensFlare.vertex",
                "lensFlare.fragment"
            ]
        },
        "physics": {
            "files": [
                "../../src/Physics/babylon.physicsJoint.js",
                "../../src/Physics/babylon.physicsImpostor.js",
                "../../src/Physics/babylon.physicsEngine.js",
                "../../src/Physics/babylon.physicsHelper.js",
                "../../src/Physics/Plugins/babylon.cannonJSPlugin.js",
                "../../src/Physics/Plugins/babylon.oimoJSPlugin.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "textureFormats": {
            "files": [
                "../../src/Tools/babylon.tga.js",
                "../../src/Tools/babylon.dds.js",
                "../../src/Tools/babylon.khronosTextureContainer.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "debug": {
            "files": [
                "../../src/Debug/babylon.skeletonViewer.js",
                "../../src/Debug/babylon.axesViewer.js",
                "../../src/Debug/babylon.boneAxesViewer.js",
                "../../src/Debug/babylon.rayHelper.js",
                "../../src/Debug/babylon.debugLayer.js",
                "../../src/Debug/babylon.physicsViewer.js",
                "../../src/Rendering/babylon.boundingBoxRenderer.js"
            ],
            "dependUpon": [
                "shaderMaterial",
                "additionalMeshes",
                "standardMaterial",
                "stringDictionary",
                "actions"
            ],
            "shaders": [
                "color.vertex",
                "color.fragment"
            ]
        },
        "morphTargets": {
            "files": [
                "../../src/Morph/babylon.morphTarget.js",
                "../../src/Morph/babylon.morphTargetManager.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "octrees": {
            "files": [
                "../../src/Culling/Octrees/babylon.octree.js",
                "../../src/Culling/Octrees/babylon.octreeBlock.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "simd": {
            "files": [
                "../../src/Math/babylon.math.SIMD.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "vr": {
            "files": [
                "../../src/PostProcess/babylon.vrDistortionCorrectionPostProcess.js",
                "../../src/PostProcess/babylon.anaglyphPostProcess.js",
                "../../src/PostProcess/babylon.stereoscopicInterlacePostProcess.js",
                "../../src/Cameras/Inputs/babylon.freeCameraDeviceOrientationInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraVRDeviceOrientationInput.js",
                "../../src/Cameras/VR/babylon.vrCameraMetrics.js",
                "../../src/Cameras/VR/babylon.webVRCamera.js",
                "../../src/Cameras/babylon.deviceOrientationCamera.js",
                "../../src/Cameras/VR/babylon.vrDeviceOrientationCamera.js",
                "../../src/Cameras/babylon.stereoscopicCameras.js",
                "../../src/Cameras/VR/babylon.vrExperienceHelper.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "anaglyph.fragment",
                "stereoscopicInterlace.fragment",
                "vrDistortionCorrection.fragment"
            ]
        },
        "virtualJoystick": {
            "files": [
                "../../src/Tools/babylon.virtualJoystick.js",
                "../../src/Cameras/babylon.virtualJoysticksCamera.js",
                "../../src/Cameras/Inputs/babylon.freeCameraVirtualJoystickInput.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "optimizations": {
            "files": [
                "../../src/Mesh/babylon.meshSimplification.js",
                "../../src/Mesh/babylon.meshLODLevel.js",
                "../../src/Tools/babylon.sceneOptimizer.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "highlights": {
            "files": [
                "../../src/Rendering/babylon.outlineRenderer.js",
                "../../src/Rendering/babylon.edgesRenderer.js",
                "../../src/Layer/babylon.highlightlayer.js"
            ],
            "dependUpon": [
                "shaderMaterial"
            ],
            "shaders": [
                "glowBlurPostProcess.fragment",
                "glowMapGeneration.fragment",
                "glowMapGeneration.vertex",
                "glowMapMerge.fragment",
                "glowMapMerge.vertex",
                "line.vertex",
                "line.fragment",
                "outline.vertex",
                "outline.fragment"
            ]
        },
        "assetsManager": {
            "files": [
                "../../src/Tools/babylon.assetsManager.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "serialization": {
            "files": [
                "../../src/Tools/babylon.sceneSerializer.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "probes": {
            "files": [
                "../../src/Probes/babylon.reflectionProbe.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "layer": {
            "files": [
                "../../src/Layer/babylon.layer.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "layer.vertex",
                "layer.fragment"
            ]
        },
        "backgroundMaterial": {
            "files": [
                "../../src/Materials/Background/babylon.backgroundMaterial.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "background.vertex",
                "background.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "pointCloudVertexDeclaration",
                "bumpVertexDeclaration",
                "clipPlaneVertexDeclaration",
                "fogVertexDeclaration",
                "morphTargetsVertexGlobalDeclaration",
                "morphTargetsVertexDeclaration",
                "logDepthDeclaration",
                "morphTargetsVertex",
                "instancesVertex",
                "bonesVertex",
                "bumpVertex",
                "clipPlaneVertex",
                "fogVertex",
                "shadowsVertex",
                "pointCloudVertex",
                "logDepthVertex",
                "helperFunctions",
                "lightFragmentDeclaration",
                "lightsFragmentFunctions",
                "lightUboDeclaration",
                "backgroundVertexDeclaration",
                "backgroundFragmentDeclaration",
                "backgroundUboDeclaration",
                "shadowsFragmentFunctions",
                "fresnelFunction",
                "reflectionFunction",
                "imageProcessingDeclaration",
                "imageProcessingFunctions",
                "bumpFragmentFunctions",
                "clipPlaneFragmentDeclaration",
                "logDepthDeclaration",
                "fogFragmentDeclaration",
                "clipPlaneFragment",
                "bumpFragment",
                "lightFragment",
                "logDepthFragment",
                "fogFragment"
            ]
        },
        "environmentHelper": {
            "files": [
                "../../src/Helpers/babylon.environmentHelper.js"
            ],
            "dependUpon": [
                "core",
                "backgroundMaterial",
                "additionalTextures"
            ]
        }
    },
    "typescript": [
        "../../src/**/*.ts",
        "!../../src/**/*.d.ts"
    ],
    "workers": [
        {
            "variable": "BABYLON.CollisionWorker",
            "files": [
                "../../src/Collisions/babylon.collider.js",
                "../../src/Collisions/babylon.collisionWorker.js",
                "../../src/Collisions/babylon.collisionCoordinator.js",
                "../../src/Math/babylon.math.js"
            ]
        }
    ],
    "modules": [
        "materialsLibrary",
        "postProcessesLibrary",
        "proceduralTexturesLibrary",
        "loaders",
        "serializers",
        "inspector",
        "gui"
    ],
    "materialsLibrary": {
        "libraries": [
            {
                "files": [
                    "../../materialsLibrary/src/shadowOnly/babylon.shadowOnlyMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/shadowOnly/shadowOnly.vertex.fx",
                    "../../materialsLibrary/src/shadowOnly/shadowOnly.fragment.fx"
                ],
                "output": "babylon.shadowOnlyMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/gradient/babylon.gradientMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/gradient/gradient.vertex.fx",
                    "../../materialsLibrary/src/gradient/gradient.fragment.fx"
                ],
                "output": "babylon.gradientMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/normal/babylon.normalMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/normal/normal.vertex.fx",
                    "../../materialsLibrary/src/normal/normal.fragment.fx"
                ],
                "output": "babylon.normalMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/lava/babylon.lavaMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/lava/lava.vertex.fx",
                    "../../materialsLibrary/src/lava/lava.fragment.fx"
                ],
                "output": "babylon.lavaMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/simple/babylon.simpleMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/simple/simple.vertex.fx",
                    "../../materialsLibrary/src/simple/simple.fragment.fx"
                ],
                "output": "babylon.simpleMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/water/babylon.waterMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/water/water.vertex.fx",
                    "../../materialsLibrary/src/water/water.fragment.fx"
                ],
                "output": "babylon.waterMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/fire/babylon.fireMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/fire/fire.vertex.fx",
                    "../../materialsLibrary/src/fire/fire.fragment.fx"
                ],
                "output": "babylon.fireMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/fur/babylon.furMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/fur/fur.vertex.fx",
                    "../../materialsLibrary/src/fur/fur.fragment.fx"
                ],
                "output": "babylon.furMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/terrain/babylon.terrainMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/terrain/terrain.vertex.fx",
                    "../../materialsLibrary/src/terrain/terrain.fragment.fx"
                ],
                "output": "babylon.terrainMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/triPlanar/babylon.triPlanarMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/triPlanar/triplanar.vertex.fx",
                    "../../materialsLibrary/src/triPlanar/triplanar.fragment.fx"
                ],
                "output": "babylon.triPlanarMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/sky/babylon.skyMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/sky/sky.vertex.fx",
                    "../../materialsLibrary/src/sky/sky.fragment.fx"
                ],
                "output": "babylon.skyMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/grid/babylon.gridmaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/grid/grid.vertex.fx",
                    "../../materialsLibrary/src/grid/grid.fragment.fx"
                ],
                "output": "babylon.gridMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/custom/babylon.customMaterial.ts"
                ],
                "output": "babylon.customMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/cell/babylon.cellMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/cell/cell.vertex.fx",
                    "../../materialsLibrary/src/cell/cell.fragment.fx"
                ],
                "output": "babylon.cellMaterial.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../materialsLibrary/",
            "distOutputDirectory": "/materialsLibrary/",
            "buildAsModule": true,
            "moduleName": "babylonjs-materials",
            "outputFilename": "babylonjs.materials",
            "moduleDeclaration": "BJSMaterials",
            "extendsRoot": true
        }
    },
    "postProcessesLibrary": {
        "libraries": [
            {
                "files": [
                    "../../postProcessLibrary/src/asciiArt/babylon.asciiArtPostProcess.ts"
                ],
                "shaderFiles": [
                    "../../postProcessLibrary/src/asciiArt/asciiart.fragment.fx"
                ],
                "output": "babylon.asciiArtPostProcess.js"
            },
            {
                "files": [
                    "../../postProcessLibrary/src/digitalRain/babylon.digitalRainPostProcess.ts"
                ],
                "shaderFiles": [
                    "../../postProcessLibrary/src/digitalRain/digitalrain.fragment.fx"
                ],
                "output": "babylon.digitalRainPostProcess.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../postProcessLibrary/",
            "distOutputDirectory": "/postProcessesLibrary/",
            "buildAsModule": true,
            "moduleName": "babylonjs-post-process",
            "outputFilename": "babylonjs.postProcess",
            "moduleDeclaration": "BJSPostProcess",
            "extendsRoot": true
        }
    },
    "proceduralTexturesLibrary": {
        "libraries": [
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/wood/babylon.woodProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/wood/woodProceduralTexture.fragment.fx"
                ],
                "output": "babylon.woodProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/fire/babylon.fireProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/fire/fireProceduralTexture.fragment.fx"
                ],
                "output": "babylon.fireProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/cloud/babylon.cloudProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/cloud/cloudProceduralTexture.fragment.fx"
                ],
                "output": "babylon.cloudProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/grass/babylon.grassProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/grass/grassProceduralTexture.fragment.fx"
                ],
                "output": "babylon.grassProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/road/babylon.roadProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/road/roadProceduralTexture.fragment.fx"
                ],
                "output": "babylon.roadProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/brick/babylon.brickProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/brick/brickProceduralTexture.fragment.fx"
                ],
                "output": "babylon.brickProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/marble/babylon.marbleProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/marble/marbleProceduralTexture.fragment.fx"
                ],
                "output": "babylon.marbleProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/starfield/babylon.starfieldProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/starfield/starfieldProceduralTexture.fragment.fx"
                ],
                "output": "babylon.starfieldProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/normalMap/babylon.normalMapProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/normalMap/normalMapProceduralTexture.fragment.fx"
                ],
                "output": "babylon.normalMapProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/perlinNoise/babylon.perlinNoiseProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/perlinNoise/perlinNoiseProceduralTexture.fragment.fx"
                ],
                "output": "babylon.perlinNoiseProceduralTexture.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../proceduralTexturesLibrary/",
            "distOutputDirectory": "/proceduralTexturesLibrary/",
            "buildAsModule": true,
            "moduleName": "babylonjs-procedural-textures",
            "outputFilename": "babylonjs.proceduralTextures",
            "moduleDeclaration": "BJSProceduralTextures",
            "extendsRoot": true
        }
    },
    "loaders": {
        "libraries": [
            {
                "files": [
                    "../../loaders/src/STL/babylon.stlFileLoader.ts"
                ],
                "output": "babylon.stlFileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/OBJ/babylon.objFileLoader.ts"
                ],
                "output": "babylon.objFileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/glTF/babylon.glTFFileLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFBinaryExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFMaterialsCommonExtension.ts"
                ],
                "doNotIncludeInBundle": true,
                "output": "babylon.glTF1FileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/glTF/babylon.glTFFileLoader.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/2.0/Extensions/MSFT_lod.ts",
                    "../../loaders/src/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.ts"
                ],
                "doNotIncludeInBundle": true,
                "output": "babylon.glTF2FileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/glTF/babylon.glTFFileLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFBinaryExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFMaterialsCommonExtension.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/2.0/Extensions/MSFT_lod.ts",
                    "../../loaders/src/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.ts"
                ],
                "output": "babylon.glTFFileLoader.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../loaders/",
            "distOutputDirectory": "/loaders/",
            "buildAsModule": true,
            "moduleName": "babylonjs-loaders",
            "outputFilename": "babylonjs.loaders",
            "moduleDeclaration": "BJSLoaders",
            "extendsRoot": true
        }
    },
    "serializers": {
        "libraries": [
            {
                "files": [
                    "../../serializers/src/OBJ/babylon.objSerializer.ts"
                ],
                "output": "babylon.objSerializer.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../serializers/",
            "distOutputDirectory": "/serializers/",
            "buildAsModule": true,
            "moduleName": "babylonjs-serializers",
            "outputFilename": "babylonjs.serializers",
            "moduleDeclaration": "BJSSerializers",
            "extendsRoot": true
        }
    },
    "gui": {
        "libraries": [
            {
                "files": [
                    "../../gui/src/advancedDynamicTexture.ts",
                    "../../gui/src/measure.ts",
                    "../../gui/src/math2D.ts",
                    "../../gui/src/valueAndUnit.ts",
                    "../../gui/src/controls/control.ts",
                    "../../gui/src/controls/container.ts",
                    "../../gui/src/controls/stackPanel.ts",
                    "../../gui/src/controls/rectangle.ts",
                    "../../gui/src/controls/ellipse.ts",
                    "../../gui/src/controls/line.ts",
                    "../../gui/src/controls/slider.ts",
                    "../../gui/src/controls/checkbox.ts",
                    "../../gui/src/controls/radioButton.ts",
                    "../../gui/src/controls/textBlock.ts",
                    "../../gui/src/controls/image.ts",
                    "../../gui/src/controls/button.ts",
                    "../../gui/src/controls/colorpicker.ts",
                    "../../gui/src/controls/inputText.ts",
                    "../../gui/src/controls/virtualKeyboard.ts"
                ],
                "output": "babylon.gui.js",
                "buildAsModule": true,
                "moduleName": "babylonjs-gui",
                "moduleDeclaration": "GUI"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../gui/",
            "distOutputDirectory": "/gui/"
        }
    },
    "inspector": {
        "libraries": [
            {
                "files": [
                    "../../inspector/src/Inspector.ts",
                    "../../inspector/src/properties.ts",
                    "../../inspector/src/properties_gui.ts",
                    "../../inspector/src/gui/BasicElement.ts",
                    "../../inspector/src/adapters/Adapter.ts",
                    "../../inspector/src/adapters/CameraAdapter.ts",
                    "../../inspector/src/adapters/PhysicsImpostorAdapter.ts",
                    "../../inspector/src/adapters/GUIAdapter.ts",
                    "../../inspector/src/adapters/SoundAdapter.ts",
                    "../../inspector/src/adapters/TextureAdapter.ts",
                    "../../inspector/src/adapters/LightAdapter.ts",
                    "../../inspector/src/adapters/MaterialAdapter.ts",
                    "../../inspector/src/adapters/MeshAdapter.ts",
                    "../../inspector/src/adapters/PhysicsImpostorAdapter.ts",
                    "../../inspector/src/details/DetailPanel.ts",
                    "../../inspector/src/details/Property.ts",
                    "../../inspector/src/details/PropertyLine.ts",
                    "../../inspector/src/gui/ColorElement.ts",
                    "../../inspector/src/gui/ColorPickerElement.ts",
                    "../../inspector/src/gui/CubeTextureElement.ts",
                    "../../inspector/src/gui/HDRCubeTextureElement.ts",
                    "../../inspector/src/gui/SearchBar.ts",
                    "../../inspector/src/gui/TextureElement.ts",
                    "../../inspector/src/gui/Tooltip.ts",
                    "../../inspector/src/helpers/Helpers.ts",
                    "../../inspector/src/scheduler/Scheduler.ts",
                    "../../inspector/src/tabs/Tab.ts",
                    "../../inspector/src/tabs/PropertyTab.ts",
                    "../../inspector/src/tabs/CameraTab.ts",
                    "../../inspector/src/tabs/GUITab.ts",
                    "../../inspector/src/tabs/PhysicsTab.ts",
                    "../../inspector/src/tabs/SoundTab.ts",
                    "../../inspector/src/tabs/TextureTab.ts",
                    "../../inspector/src/tabs/LightTab.ts",
                    "../../inspector/src/tabs/MaterialTab.ts",
                    "../../inspector/src/tabs/MeshTab.ts",
                    "../../inspector/src/tabs/SceneTab.ts",
                    "../../inspector/src/tabs/ConsoleTab.ts",
                    "../../inspector/src/tabs/StatsTab.ts",
                    "../../inspector/src/tabs/TabBar.ts",
                    "../../inspector/src/tools/AbstractTool.ts",
                    "../../inspector/src/tools/PauseScheduleTool.ts",
                    "../../inspector/src/tools/PickTool.ts",
                    "../../inspector/src/tools/PopupTool.ts",
                    "../../inspector/src/tools/RefreshTool.ts",
                    "../../inspector/src/tools/LabelTool.ts",
                    "../../inspector/src/tools/Toolbar.ts",
                    "../../inspector/src/tools/DisposeTool.ts",
                    "../../inspector/src/tree/TreeItem.ts",
                    "../../inspector/src/treetools/AbstractTreeTool.ts",
                    "../../inspector/src/treetools/BoundingBox.ts",
                    "../../inspector/src/treetools/CameraPOV.ts",
                    "../../inspector/src/treetools/SoundInteractions.ts",
                    "../../inspector/src/treetools/Checkbox.ts",
                    "../../inspector/src/treetools/DebugArea.ts",
                    "../../inspector/src/treetools/Info.ts",
                    "../../inspector/src/lib.d.ts"
                ],
                "sassFiles": [
                    "../../inspector/sass/**/*.scss"
                ],
                "output": "babylon.inspector.js",
                "webpack": "../../inspector/webpack.config.js",
                "bundle": "true",
                "moduleDeclaration": "INSPECTOR"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../inspector/",
            "distOutputDirectory": "/inspector/"
        }
    }
}
sebavan commented 6 years ago

Cool will help a lot @RaananW for the investigation.

tommhuth commented 6 years ago

A quick follow up: I'm getting the same kind of error when trying to use the physicsHelper.gravitationalField:

babylon.custom.js:26186 Uncaught TypeError: Right-hand side of 'instanceof' is not an object
    at SubMesh.intersects (babylon.custom.js:26186)
    at Mesh.AbstractMesh.intersects (babylon.custom.js:15099)
    at Ray.intersectsMesh (babylon.custom.js:42550)
    at PhysicsRadialExplosionEvent.getImpostorForceAndContactPoint (babylon.custom.js:39645)
    at babylon.custom.js:39555
    at Array.forEach (<anonymous>)
    at PhysicsHelper.applyRadialExplosionForce (babylon.custom.js:39554)
    at PhysicsGravitationalFieldEvent._tick (babylon.custom.js:39757)
    at PhysicsGravitationalFieldEvent.enable (babylon.custom.js:39724)
    at lowerCamera (scene.js:99)

Again this does not happen unless a custom build is used. Is this bug related?

sebavan commented 6 years ago

Can you replace:

"physics": { "files": [ "../../src/Physics/babylon.physicsJoint.js", "../../src/Physics/babylon.physicsImpostor.js", "../../src/Physics/babylon.physicsEngine.js", "../../src/Physics/babylon.physicsHelper.js", "../../src/Physics/Plugins/babylon.cannonJSPlugin.js", "../../src/Physics/Plugins/babylon.oimoJSPlugin.js" ], "dependUpon": [ "core" ] },

with: "physics": { "files": [ "../../src/Physics/babylon.physicsJoint.js", "../../src/Physics/babylon.physicsImpostor.js", "../../src/Physics/babylon.physicsEngine.js", "../../src/Physics/babylon.physicsHelper.js", "../../src/Physics/Plugins/babylon.cannonJSPlugin.js", "../../src/Physics/Plugins/babylon.oimoJSPlugin.js" ], "dependUpon": [ "core", "picking" ] },

I suspect physics to need picking.

tommhuth commented 6 years ago

That did not help -- I'm already explicitly including "picking" in my custom build. Looks like there's a bug somewhere in SubMesh.prototype.intersects?

RaananW commented 6 years ago

I am fixing a different part of the build process now, will look into that later on today. Maybe something's wrong with the new build process of the physics helper.

sebavan commented 6 years ago

@tommhuth did you try the change with the latest cause intersect has normally been fixed here: https://github.com/BabylonJS/Babylon.js/commit/a6bebf9803860b82942fd7a02fab42ffc70be46c

sebavan commented 6 years ago

Also @tommhuth Could you share a quick repro (aside of your config) so that I can fix them all at once ?

RaananW commented 6 years ago

Hi, could you try with the following configuration?

If this solves the issue, we will need to discuss it internally :)

{
    "build": {
        "filename": "babylon.custom.js",
        "minFilename": "babylon.js",
        "minWorkerFilename": "babylon.worker.js",
        "declarationFilename": "babylon.d.ts",
        "declarationModuleFilename": "babylon.module.d.ts",
        "outputDirectory": "../../../stacky/resources",
        "playgroundDirectory": "../../Playground/",
        "intellisenseFile": "babylon.d.txt",
        "intellisenseSources": [
            "../../dist/preview release/babylon.d.ts",
            "../../dist/preview release/gui/babylon.gui.d.ts"
        ],
        "outputCustomConfigurationsDirectory": "../../dist/preview release/customConfigurations",
        "srcOutputDirectory": "../../src/",
        "currentConfig": "custom"
    },
    "buildConfigurations": {
        "all": [
            "standardMaterial",
            "pbrMaterial",
            "freeCamera",
            "arcRotateCamera",
            "hemisphericLight",
            "pointLight",
            "directionalLight",
            "spotLight",
            "animations",
            "actions",
            "sprites",
            "picking",
            "collisions",
            "particles",
            "gpuParticles",
            "solidParticles",
            "additionalMeshes",
            "meshBuilder",
            "audio",
            "additionalTextures",
            "shadows",
            "loader",
            "userData",
            "offline",
            "fresnel",
            "multiMaterial",
            "touchCamera",
            "procedural",
            "gamepad",
            "additionalCameras",
            "postProcesses",
            "renderingPipeline",
            "additionalRenderingPipeline",
            "defaultRenderingPipeline",
            "depthRenderer",
            "geometryBufferRenderer",
            "additionalPostProcesses",
            "additionalPostProcess_blur",
            "additionalPostProcess_fxaa",
            "additionalPostProcess_imageProcessing",
            "bones",
            "hdr",
            "polygonMesh",
            "csg",
            "lensFlares",
            "physics",
            "textureFormats",
            "debug",
            "morphTargets",
            "octrees",
            "simd",
            "vr",
            "virtualJoystick",
            "optimizations",
            "highlights",
            "assetsManager",
            "serialization",
            "probes",
            "layer",
            "textureTools",
            "cameraBehaviors",
            "nullEngine",
            "instrumentation",
            "backgroundMaterial",
            "environmentHelper"
        ],
        "custom": [
            "meshBuilder",
            "standardMaterial",
            "freeCamera",
            "directionalLight",
            "physics",
            "csg",
            "animations"
        ],
        "minimal": [
            "standardMaterial",
            "freeCamera",
            "hemisphericLight"
        ],
        "minimalWithBuilder": [
            "meshBuilder",
            "standardMaterial",
            "freeCamera",
            "hemisphericLight"
        ],
        "minimalGLTFViewer": [
            "standardMaterial",
            "pbrMaterial",
            "freeCamera",
            "arcRotateCamera",
            "hemisphericLight",
            "pointLight",
            "directionalLight",
            "spotLight",
            "animations",
            "actions",
            "sprites",
            "picking",
            "collisions",
            "particles",
            "solidParticles",
            "additionalMeshes",
            "meshBuilder",
            "audio",
            "additionalTextures",
            "shadows",
            "loader",
            "userData",
            "offline",
            "fresnel",
            "multiMaterial",
            "touchCamera",
            "procedural",
            "gamepad",
            "additionalCameras",
            "postProcesses",
            "renderingPipeline",
            "additionalRenderingPipeline",
            "defaultRenderingPipeline",
            "depthRenderer",
            "geometryBufferRenderer",
            "additionalPostProcesses",
            "additionalPostProcess_blur",
            "additionalPostProcess_fxaa",
            "additionalPostProcess_imageProcessing",
            "bones",
            "hdr",
            "polygonMesh",
            "csg",
            "lensFlares",
            "physics",
            "textureFormats",
            "debug",
            "morphTargets",
            "octrees",
            "simd",
            "vr",
            "virtualJoystick",
            "optimizations",
            "highlights",
            "assetsManager",
            "serialization",
            "probes",
            "layer",
            "textureTools",
            "cameraBehaviors",
            "instrumentation",
            "backgroundMaterial",
            "environmentHelper",
            "materialsLibrary/babylon.gridMaterial.js",
            "loaders/babylon.glTFFileLoader.js"
        ],
        "distributed": [
            "minimalGLTFViewer"
        ]
    },
    "workloads": {
        "core": {
            "files": [
                "../../src/babylon.types.js",
                "../../src/Events/babylon.keyboardEvents.js",
                "../../src/Events/babylon.pointerEvents.js",
                "../../src/Math/babylon.math.js",
                "../../src/Math/babylon.math.scalar.js",
                "../../src/babylon.mixins.js",
                "../../src/Tools/babylon.decorators.js",
                "../../src/Tools/babylon.observable.js",
                "../../src/Tools/babylon.smartArray.js",
                "../../src/Tools/babylon.tools.js",
                "../../src/States/babylon.alphaCullingState.js",
                "../../src/States/babylon.depthCullingState.js",
                "../../src/States/babylon.stencilState.js",
                "../../src/Engine/babylon.engine.js",
                "../../src/babylon.node.js",
                "../../src/Culling/babylon.boundingSphere.js",
                "../../src/Culling/babylon.boundingBox.js",
                "../../src/Culling/babylon.boundingInfo.js",
                "../../src/Mesh/babylon.transformNode.js",
                "../../src/Mesh/babylon.abstractMesh.js",
                "../../src/Lights/babylon.light.js",
                "../../src/Cameras/babylon.camera.js",
                "../../src/Rendering/babylon.renderingManager.js",
                "../../src/Rendering/babylon.renderingGroup.js",
                "../../src/babylon.scene.js",
                "../../src/Mesh/babylon.buffer.js",
                "../../src/Mesh/babylon.vertexBuffer.js",
                "../../src/Materials/Textures/babylon.internalTexture.js",
                "../../src/Materials/Textures/babylon.baseTexture.js",
                "../../src/Materials/Textures/babylon.texture.js",
                "../../src/Mesh/babylon.mesh.js",
                "../../src/Mesh/babylon.subMesh.js",
                "../../src/Materials/babylon.effect.js",
                "../../src/Materials/babylon.materialHelper.js",
                "../../src/Materials/babylon.material.js",
                "../../src/Materials/babylon.uniformBuffer.js",
                "../../src/Materials/babylon.pushMaterial.js",
                "../../src/Mesh/babylon.mesh.vertexData.js",
                "../../src/Mesh/babylon.geometry.js",
                "../../src/PostProcess/babylon.postProcessManager.js",
                "../../src/Tools/babylon.performanceMonitor.js",
                "../../src/Materials/babylon.imageProcessingConfiguration.js",
                "../../src/Materials/Textures/babylon.colorGradingTexture.js",
                "../../src/Materials/babylon.colorCurves.js",
                "../../src/Mesh/babylon.linesMesh.js"
            ],
            "shaderIncludes": [
                "depthPrePass"
            ]
        },
        "particles": {
            "files": [
                "../../src/Particles/babylon.particle.js",
                "../../src/Particles/babylon.particleSystem.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "particles.vertex",
                "particles.fragment"
            ]
        },
        "gpuParticles": {
            "files": [
                "../../src/Particles/babylon.gpuParticleSystem.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "gpuRenderParticles.vertex",
                "gpuRenderParticles.fragment",
                "gpuUpdateParticles.vertex",
                "gpuUpdateParticles.fragment"
            ]
        },
        "nullEngine": {
            "files": [
                "../../src/Engine/babylon.nullEngine.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "instrumentation": {
            "files": [
                "../../src/Instrumentation/babylon.engineInstrumentation.js",
                "../../src/Instrumentation/babylon.sceneInstrumentation.js",
                "../../src/Instrumentation/babylon.timeToken.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "cameraBehaviors": {
            "files": [
                "../../src/Behaviors/Cameras/babylon.framingBehavior.js",
                "../../src/Behaviors/Cameras/babylon.bouncingBehavior.js",
                "../../src/Behaviors/Cameras/babylon.autoRotationBehavior.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "textureTools": {
            "files": [
                "../../src/Tools/babylon.textureTools.js"
            ],
            "dependUpon": [
                "core",
                "postProcesses"
            ]
        },
        "solidParticles": {
            "files": [
                "../../src/Particles/babylon.solidParticle.js",
                "../../src/Particles/babylon.solidParticleSystem.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "collisions": {
            "files": [
                "../../src/Collisions/babylon.collider.js",
                "../../src/Collisions/babylon.collisionCoordinator.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "picking": {
            "files": [
                "../../src/Collisions/babylon.pickingInfo.js",
                "../../src/Culling/babylon.ray.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "sprites": {
            "files": [
                "../../src/Sprites/babylon.spriteManager.js",
                "../../src/Sprites/babylon.sprite.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "sprites.vertex",
                "sprites.fragment"
            ]
        },
        "animations": {
            "files": [
                "../../src/Animations/babylon.animation.js",
                "../../src/Animations/babylon.runtimeAnimation.js",
                "../../src/Animations/babylon.animatable.js",
                "../../src/Animations/babylon.easing.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "actions": {
            "files": [
                "../../src/Actions/babylon.condition.js",
                "../../src/Actions/babylon.action.js",
                "../../src/Actions/babylon.actionManager.js",
                "../../src/Actions/babylon.interpolateValueAction.js",
                "../../src/Actions/babylon.directActions.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "additionalMeshes": {
            "files": [
                "../../src/Mesh/babylon.groundMesh.js",
                "../../src/Mesh/babylon.instancedMesh.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "color.vertex",
                "color.fragment"
            ]
        },
        "meshBuilder": {
            "files": [
                "../../src/Mesh/babylon.meshBuilder.js"
            ],
            "dependUpon": [
                "core",
                "shaderMaterial"
            ]
        },
        "shaderMaterial": {
            "files": [
                "../../src/Materials/babylon.shaderMaterial.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "standardMaterial": {
            "files": [
                "../../src/Materials/babylon.standardMaterial.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "default.vertex",
                "default.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "pointCloudVertexDeclaration",
                "bumpVertexDeclaration",
                "clipPlaneVertexDeclaration",
                "fogVertexDeclaration",
                "morphTargetsVertexGlobalDeclaration",
                "morphTargetsVertexDeclaration",
                "logDepthDeclaration",
                "morphTargetsVertex",
                "instancesVertex",
                "bonesVertex",
                "bumpVertex",
                "clipPlaneVertex",
                "fogVertex",
                "shadowsVertex",
                "pointCloudVertex",
                "logDepthVertex",
                "helperFunctions",
                "lightFragmentDeclaration",
                "lightsFragmentFunctions",
                "lightUboDeclaration",
                "defaultVertexDeclaration",
                "defaultFragmentDeclaration",
                "defaultUboDeclaration",
                "shadowsFragmentFunctions",
                "fresnelFunction",
                "reflectionFunction",
                "imageProcessingDeclaration",
                "imageProcessingFunctions",
                "bumpFragmentFunctions",
                "clipPlaneFragmentDeclaration",
                "logDepthDeclaration",
                "fogFragmentDeclaration",
                "clipPlaneFragment",
                "bumpFragment",
                "lightFragment",
                "logDepthFragment",
                "fogFragment"
            ]
        },
        "pbrMaterial": {
            "files": [
                "../../src/Materials/PBR/babylon.pbrBaseMaterial.js",
                "../../src/Materials/PBR/babylon.pbrBaseSimpleMaterial.js",
                "../../src/Materials/PBR/babylon.pbrMaterial.js",
                "../../src/Materials/PBR/babylon.pbrMetallicRoughnessMaterial.js",
                "../../src/Materials/PBR/babylon.pbrSpecularGlossinessMaterial.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "pbr.vertex",
                "pbr.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "bumpVertexDeclaration",
                "clipPlaneVertexDeclaration",
                "fogVertexDeclaration",
                "morphTargetsVertexGlobalDeclaration",
                "morphTargetsVertexDeclaration",
                "logDepthDeclaration",
                "morphTargetsVertex",
                "instancesVertex",
                "bonesVertex",
                "bumpVertex",
                "clipPlaneVertex",
                "fogVertex",
                "shadowsVertex",
                "logDepthVertex",
                "lightFragmentDeclaration",
                "lightUboDeclaration",
                "pbrVertexDeclaration",
                "pbrFragmentDeclaration",
                "pbrUboDeclaration",
                "fresnelFunction",
                "reflectionFunction",
                "shadowsFragmentFunctions",
                "pbrFunctions",
                "imageProcessingDeclaration",
                "imageProcessingFunctions",
                "harmonicsFunctions",
                "pbrLightFunctions",
                "helperFunctions",
                "bumpFragmentFunctions",
                "clipPlaneFragmentDeclaration",
                "logDepthDeclaration",
                "fogFragmentDeclaration",
                "clipPlaneFragment",
                "bumpFragment",
                "lightFragment",
                "logDepthFragment",
                "fogFragment"
            ]
        },
        "freeCamera": {
            "files": [
                "../../src/Cameras/babylon.cameraInputsManager.js",
                "../../src/Cameras/Inputs/babylon.freeCameraMouseInput.js",
                "../../src/Cameras/Inputs/babylon.freeCameraKeyboardMoveInput.js",
                "../../src/Cameras/babylon.freeCameraInputsManager.js",
                "../../src/Cameras/babylon.targetCamera.js",
                "../../src/Cameras/babylon.freeCamera.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "arcRotateCamera": {
            "files": [
                "../../src/Cameras/babylon.cameraInputsManager.js",
                "../../src/Cameras/babylon.targetCamera.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraKeyboardMoveInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraMouseWheelInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraPointersInput.js",
                "../../src/Cameras/babylon.arcRotateCamera.js",
                "../../src/Cameras/babylon.arcRotateCameraInputsManager.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "hemisphericLight": {
            "files": [
                "../../src/Lights/babylon.hemisphericLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "pointLight": {
            "files": [
                "../../src/Lights/babylon.shadowLight.js",
                "../../src/Lights/babylon.pointLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "directionalLight": {
            "files": [
                "../../src/Lights/babylon.shadowLight.js",
                "../../src/Lights/babylon.directionalLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "spotLight": {
            "files": [
                "../../src/Lights/babylon.shadowLight.js",
                "../../src/Lights/babylon.spotLight.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "audio": {
            "files": [
                "../../src/Audio/babylon.audioEngine.js",
                "../../src/Audio/babylon.sound.js",
                "../../src/Audio/babylon.soundtrack.js",
                "../../src/Audio/babylon.analyser.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "additionalTextures": {
            "files": [
                "../../src/Materials/Textures/babylon.cubeTexture.js",
                "../../src/Materials/Textures/babylon.renderTargetTexture.js",
                "../../src/Materials/Textures/babylon.multiRenderTarget.js",
                "../../src/Materials/Textures/babylon.mirrorTexture.js",
                "../../src/Materials/Textures/babylon.refractionTexture.js",
                "../../src/Materials/Textures/babylon.dynamicTexture.js",
                "../../src/Materials/Textures/babylon.videoTexture.js",
                "../../src/Materials/Textures/babylon.rawTexture.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "shadows": {
            "files": [
                "../../src/Lights/Shadows/babylon.shadowGenerator.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "shadowMap.vertex",
                "shadowMap.fragment",
                "depthBoxBlur.fragment"
            ]
        },
        "loader": {
            "files": [
                "../../src/Loading/babylon.loadingScreen.js",
                "../../src/Loading/babylon.sceneLoader.js",
                "../../src/Loading/Plugins/babylon.babylonFileLoader.js",
                "../../src/Tools/babylon.filesInput.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "stringDictionary": {
            "files": [
                "../../src/Tools/babylon.stringDictionary.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "userData": {
            "files": [
                "../../src/Tools/babylon.tags.js",
                "../../src/Tools/babylon.andOrNotEvaluator.js"
            ],
            "dependUpon": [
                "core",
                "stringDictionary"
            ]
        },
        "offline": {
            "files": [
                "../../src/Tools/babylon.database.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "fresnel": {
            "files": [
                "../../src/Materials/babylon.fresnelParameters.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "multiMaterial": {
            "files": [
                "../../src/Materials/babylon.multiMaterial.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "touchCamera": {
            "files": [
                "../../src/Cameras/Inputs/babylon.freeCameraTouchInput.js",
                "../../src/Cameras/babylon.touchCamera.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "procedural": {
            "files": [
                "../../src/Materials/Textures/Procedurals/babylon.proceduralTexture.js",
                "../../src/Materials/Textures/Procedurals/babylon.customProceduralTexture.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "procedural.vertex"
            ]
        },
        "gamepad": {
            "files": [
                "../../src/Cameras/Inputs/babylon.freeCameraGamepadInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraGamepadInput.js",
                "../../src/Gamepad/babylon.gamepadManager.js",
                "../../src/Gamepad/babylon.gamepad.js",
                "../../src/Gamepad/babylon.xboxGamepad.js",
                "../../src/Gamepad/Controllers/babylon.poseEnabledController.js",
                "../../src/Gamepad/Controllers/babylon.webVRController.js",
                "../../src/Gamepad/Controllers/babylon.oculusTouchController.js",
                "../../src/Gamepad/Controllers/babylon.viveController.js",
                "../../src/Gamepad/Controllers/babylon.genericController.js",
                "../../src/Gamepad/Controllers/babylon.windowsMotionController.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "additionalCameras": {
            "files": [
                "../../src/Cameras/babylon.followCamera.js",
                "../../src/Cameras/babylon.universalCamera.js",
                "../../src/Cameras/babylon.gamepadCamera.js"
            ],
            "dependUpon": [
                "gamepad"
            ]
        },
        "depthRenderer": {
            "files": [
                "../../src/Rendering/babylon.depthRenderer.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "depth.vertex",
                "depth.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "instancesVertex",
                "bonesVertex"
            ]
        },
        "geometryBufferRenderer": {
            "files": [
                "../../src/Rendering/babylon.geometryBufferRenderer.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "geometry.vertex",
                "geometry.fragment"
            ],
            "shaderIncludes": [
                "mrtFragmentDeclaration",
                "bones300Declaration",
                "instances300Declaration",
                "instancesVertex",
                "bonesVertex"
            ]
        },
        "postProcesses": {
            "files": [
                "../../src/PostProcess/babylon.postProcess.js",
                "../../src/PostProcess/babylon.passPostProcess.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "postprocess.vertex",
                "pass.fragment"
            ]
        },
        "additionalPostProcess_blur": {
            "files": [
                "../../src/PostProcess/babylon.blurPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "kernelBlur.vertex",
                "kernelBlur.fragment"
            ],
            "shaderIncludes": [
                "kernelBlurFragment",
                "kernelBlurFragment2",
                "kernelBlurVaryingDeclaration",
                "kernelBlurVertex"
            ]
        },
        "additionalPostProcess_fxaa": {
            "files": [
                "../../src/PostProcess/babylon.fxaaPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "fxaa.vertex",
                "fxaa.fragment"
            ]
        },
        "additionalPostProcess_highlights": {
            "files": [
                "../../src/PostProcess/babylon.highlightsPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "highlights.fragment"
            ]
        },
        "additionalPostProcess_imageProcessing": {
            "files": [
                "../../src/PostProcess/babylon.imageProcessingPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "imageProcessing.fragment"
            ],
            "shaderIncludes": [
                "imageProcessingDeclaration",
                "imageProcessingFunctions"
            ]
        },
        "additionalPostProcesses": {
            "files": [
                "../../src/PostProcess/babylon.refractionPostProcess.js",
                "../../src/PostProcess/babylon.blackAndWhitePostProcess.js",
                "../../src/PostProcess/babylon.convolutionPostProcess.js",
                "../../src/PostProcess/babylon.filterPostProcess.js",
                "../../src/PostProcess/babylon.fxaaPostProcess.js",
                "../../src/PostProcess/babylon.volumetricLightScatteringPostProcess.js",
                "../../src/PostProcess/babylon.colorCorrectionPostProcess.js",
                "../../src/PostProcess/babylon.tonemapPostProcess.js",
                "../../src/PostProcess/babylon.displayPassPostProcess.js",
                "../../src/PostProcess/babylon.highlightsPostProcess.js",
                "../../src/PostProcess/babylon.imageProcessingPostProcess.js"
            ],
            "dependUpon": [
                "postProcesses"
            ],
            "shaders": [
                "refraction.fragment",
                "blackAndWhite.fragment",
                "convolution.fragment",
                "filter.fragment",
                "fxaa.fragment",
                "volumetricLightScattering.fragment",
                "volumetricLightScatteringPass.fragment",
                "colorCorrection.fragment",
                "tonemap.fragment",
                "displayPass.fragment",
                "highlights.fragment",
                "imageProcessing.fragment"
            ]
        },
        "renderingPipeline": {
            "files": [
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js",
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js",
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js",
                "../../src/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js"
            ],
            "dependUpon": [
                "postProcesses"
            ]
        },
        "additionalRenderingPipeline": {
            "files": [
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.ssaoRenderingPipeline.js",
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.ssao2RenderingPipeline.js",
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.lensRenderingPipeline.js",
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.standardRenderingPipeline.js"
            ],
            "dependUpon": [
                "renderingPipeline",
                "depthRenderer"
            ],
            "shaders": [
                "ssao.fragment",
                "ssao2.fragment",
                "ssaoCombine.fragment",
                "chromaticAberration.fragment",
                "lensHighlights.fragment",
                "depthOfField.fragment",
                "standard.fragment"
            ]
        },
        "defaultRenderingPipeline": {
            "files": [
                "../../src/PostProcess/RenderPipeline/Pipelines/babylon.defaultRenderingPipeline.js"
            ],
            "dependUpon": [
                "renderingPipeline",
                "additionalPostProcess_fxaa"
            ]
        },
        "bones": {
            "files": [
                "../../src/Bones/babylon.bone.js",
                "../../src/Bones/babylon.boneIKController.js",
                "../../src/Bones/babylon.boneLookController.js",
                "../../src/Bones/babylon.skeleton.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "hdr": {
            "files": [
                "../../src/Math/babylon.sphericalPolynomial.js",
                "../../src/Tools/HDR/babylon.cubemapToSphericalPolynomial.js",
                "../../src/Tools/HDR/babylon.panoramaToCubemap.js",
                "../../src/Tools/HDR/babylon.hdr.js",
                "../../src/Materials/Textures/babylon.hdrCubeTexture.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "csg": {
            "files": [
                "../../src/Mesh/babylon.csg.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "polygonMesh": {
            "files": [
                "../../src/Tools/babylon.earcut.js",
                "../../src/Mesh/babylon.polygonMesh.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "lensFlares": {
            "files": [
                "../../src/LensFlare/babylon.lensFlare.js",
                "../../src/LensFlare/babylon.lensFlareSystem.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "lensFlare.vertex",
                "lensFlare.fragment"
            ]
        },
        "physics": {
            "files": [
                "../../src/Physics/babylon.physicsJoint.js",
                "../../src/Physics/babylon.physicsImpostor.js",
                "../../src/Physics/babylon.physicsEngine.js",
                "../../src/Physics/babylon.physicsHelper.js",
                "../../src/Physics/Plugins/babylon.cannonJSPlugin.js",
                "../../src/Physics/Plugins/babylon.oimoJSPlugin.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "textureFormats": {
            "files": [
                "../../src/Tools/babylon.tga.js",
                "../../src/Tools/babylon.dds.js",
                "../../src/Tools/babylon.khronosTextureContainer.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "debug": {
            "files": [
                "../../src/Debug/babylon.skeletonViewer.js",
                "../../src/Debug/babylon.axesViewer.js",
                "../../src/Debug/babylon.boneAxesViewer.js",
                "../../src/Debug/babylon.rayHelper.js",
                "../../src/Debug/babylon.debugLayer.js",
                "../../src/Debug/babylon.physicsViewer.js",
                "../../src/Rendering/babylon.boundingBoxRenderer.js"
            ],
            "dependUpon": [
                "shaderMaterial",
                "additionalMeshes",
                "standardMaterial",
                "stringDictionary",
                "actions"
            ],
            "shaders": [
                "color.vertex",
                "color.fragment"
            ]
        },
        "morphTargets": {
            "files": [
                "../../src/Morph/babylon.morphTarget.js",
                "../../src/Morph/babylon.morphTargetManager.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "octrees": {
            "files": [
                "../../src/Culling/Octrees/babylon.octree.js",
                "../../src/Culling/Octrees/babylon.octreeBlock.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "simd": {
            "files": [
                "../../src/Math/babylon.math.SIMD.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "vr": {
            "files": [
                "../../src/PostProcess/babylon.vrDistortionCorrectionPostProcess.js",
                "../../src/PostProcess/babylon.anaglyphPostProcess.js",
                "../../src/PostProcess/babylon.stereoscopicInterlacePostProcess.js",
                "../../src/Cameras/Inputs/babylon.freeCameraDeviceOrientationInput.js",
                "../../src/Cameras/Inputs/babylon.arcRotateCameraVRDeviceOrientationInput.js",
                "../../src/Cameras/VR/babylon.vrCameraMetrics.js",
                "../../src/Cameras/VR/babylon.webVRCamera.js",
                "../../src/Cameras/babylon.deviceOrientationCamera.js",
                "../../src/Cameras/VR/babylon.vrDeviceOrientationCamera.js",
                "../../src/Cameras/babylon.stereoscopicCameras.js",
                "../../src/Cameras/VR/babylon.vrExperienceHelper.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "anaglyph.fragment",
                "stereoscopicInterlace.fragment",
                "vrDistortionCorrection.fragment"
            ]
        },
        "virtualJoystick": {
            "files": [
                "../../src/Tools/babylon.virtualJoystick.js",
                "../../src/Cameras/babylon.virtualJoysticksCamera.js",
                "../../src/Cameras/Inputs/babylon.freeCameraVirtualJoystickInput.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "optimizations": {
            "files": [
                "../../src/Mesh/babylon.meshSimplification.js",
                "../../src/Mesh/babylon.meshLODLevel.js",
                "../../src/Tools/babylon.sceneOptimizer.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "highlights": {
            "files": [
                "../../src/Rendering/babylon.outlineRenderer.js",
                "../../src/Rendering/babylon.edgesRenderer.js",
                "../../src/Layer/babylon.highlightlayer.js"
            ],
            "dependUpon": [
                "shaderMaterial"
            ],
            "shaders": [
                "glowBlurPostProcess.fragment",
                "glowMapGeneration.fragment",
                "glowMapGeneration.vertex",
                "glowMapMerge.fragment",
                "glowMapMerge.vertex",
                "line.vertex",
                "line.fragment",
                "outline.vertex",
                "outline.fragment"
            ]
        },
        "assetsManager": {
            "files": [
                "../../src/Tools/babylon.assetsManager.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "serialization": {
            "files": [
                "../../src/Tools/babylon.sceneSerializer.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "probes": {
            "files": [
                "../../src/Probes/babylon.reflectionProbe.js"
            ],
            "dependUpon": [
                "core"
            ]
        },
        "layer": {
            "files": [
                "../../src/Layer/babylon.layer.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "layer.vertex",
                "layer.fragment"
            ]
        },
        "backgroundMaterial": {
            "files": [
                "../../src/Materials/Background/babylon.backgroundMaterial.js"
            ],
            "dependUpon": [
                "core"
            ],
            "shaders": [
                "background.vertex",
                "background.fragment"
            ],
            "shaderIncludes": [
                "bonesDeclaration",
                "instancesDeclaration",
                "pointCloudVertexDeclaration",
                "bumpVertexDeclaration",
                "clipPlaneVertexDeclaration",
                "fogVertexDeclaration",
                "morphTargetsVertexGlobalDeclaration",
                "morphTargetsVertexDeclaration",
                "logDepthDeclaration",
                "morphTargetsVertex",
                "instancesVertex",
                "bonesVertex",
                "bumpVertex",
                "clipPlaneVertex",
                "fogVertex",
                "shadowsVertex",
                "pointCloudVertex",
                "logDepthVertex",
                "helperFunctions",
                "lightFragmentDeclaration",
                "lightsFragmentFunctions",
                "lightUboDeclaration",
                "backgroundVertexDeclaration",
                "backgroundFragmentDeclaration",
                "backgroundUboDeclaration",
                "shadowsFragmentFunctions",
                "fresnelFunction",
                "reflectionFunction",
                "imageProcessingDeclaration",
                "imageProcessingFunctions",
                "bumpFragmentFunctions",
                "clipPlaneFragmentDeclaration",
                "logDepthDeclaration",
                "fogFragmentDeclaration",
                "clipPlaneFragment",
                "bumpFragment",
                "lightFragment",
                "logDepthFragment",
                "fogFragment"
            ]
        },
        "environmentHelper": {
            "files": [
                "../../src/Helpers/babylon.environmentHelper.js"
            ],
            "dependUpon": [
                "core",
                "backgroundMaterial",
                "additionalTextures"
            ]
        }
    },
    "typescript": [
        "../../src/**/*.ts",
        "!../../src/**/*.d.ts"
    ],
    "workers": [
        {
            "variable": "BABYLON.CollisionWorker",
            "files": [
                "../../src/Collisions/babylon.collider.js",
                "../../src/Collisions/babylon.collisionWorker.js",
                "../../src/Collisions/babylon.collisionCoordinator.js",
                "../../src/Math/babylon.math.js"
            ]
        }
    ],
    "modules": [
        "materialsLibrary",
        "postProcessesLibrary",
        "proceduralTexturesLibrary",
        "loaders",
        "serializers",
        "inspector",
        "gui"
    ],
    "materialsLibrary": {
        "libraries": [
            {
                "files": [
                    "../../materialsLibrary/src/shadowOnly/babylon.shadowOnlyMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/shadowOnly/shadowOnly.vertex.fx",
                    "../../materialsLibrary/src/shadowOnly/shadowOnly.fragment.fx"
                ],
                "output": "babylon.shadowOnlyMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/gradient/babylon.gradientMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/gradient/gradient.vertex.fx",
                    "../../materialsLibrary/src/gradient/gradient.fragment.fx"
                ],
                "output": "babylon.gradientMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/normal/babylon.normalMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/normal/normal.vertex.fx",
                    "../../materialsLibrary/src/normal/normal.fragment.fx"
                ],
                "output": "babylon.normalMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/lava/babylon.lavaMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/lava/lava.vertex.fx",
                    "../../materialsLibrary/src/lava/lava.fragment.fx"
                ],
                "output": "babylon.lavaMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/simple/babylon.simpleMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/simple/simple.vertex.fx",
                    "../../materialsLibrary/src/simple/simple.fragment.fx"
                ],
                "output": "babylon.simpleMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/water/babylon.waterMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/water/water.vertex.fx",
                    "../../materialsLibrary/src/water/water.fragment.fx"
                ],
                "output": "babylon.waterMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/fire/babylon.fireMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/fire/fire.vertex.fx",
                    "../../materialsLibrary/src/fire/fire.fragment.fx"
                ],
                "output": "babylon.fireMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/fur/babylon.furMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/fur/fur.vertex.fx",
                    "../../materialsLibrary/src/fur/fur.fragment.fx"
                ],
                "output": "babylon.furMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/terrain/babylon.terrainMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/terrain/terrain.vertex.fx",
                    "../../materialsLibrary/src/terrain/terrain.fragment.fx"
                ],
                "output": "babylon.terrainMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/triPlanar/babylon.triPlanarMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/triPlanar/triplanar.vertex.fx",
                    "../../materialsLibrary/src/triPlanar/triplanar.fragment.fx"
                ],
                "output": "babylon.triPlanarMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/sky/babylon.skyMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/sky/sky.vertex.fx",
                    "../../materialsLibrary/src/sky/sky.fragment.fx"
                ],
                "output": "babylon.skyMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/grid/babylon.gridmaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/grid/grid.vertex.fx",
                    "../../materialsLibrary/src/grid/grid.fragment.fx"
                ],
                "output": "babylon.gridMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/custom/babylon.customMaterial.ts"
                ],
                "output": "babylon.customMaterial.js"
            },
            {
                "files": [
                    "../../materialsLibrary/src/cell/babylon.cellMaterial.ts"
                ],
                "shaderFiles": [
                    "../../materialsLibrary/src/cell/cell.vertex.fx",
                    "../../materialsLibrary/src/cell/cell.fragment.fx"
                ],
                "output": "babylon.cellMaterial.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../materialsLibrary/",
            "distOutputDirectory": "/materialsLibrary/",
            "buildAsModule": true,
            "moduleName": "babylonjs-materials",
            "outputFilename": "babylonjs.materials",
            "moduleDeclaration": "BJSMaterials",
            "extendsRoot": true
        }
    },
    "postProcessesLibrary": {
        "libraries": [
            {
                "files": [
                    "../../postProcessLibrary/src/asciiArt/babylon.asciiArtPostProcess.ts"
                ],
                "shaderFiles": [
                    "../../postProcessLibrary/src/asciiArt/asciiart.fragment.fx"
                ],
                "output": "babylon.asciiArtPostProcess.js"
            },
            {
                "files": [
                    "../../postProcessLibrary/src/digitalRain/babylon.digitalRainPostProcess.ts"
                ],
                "shaderFiles": [
                    "../../postProcessLibrary/src/digitalRain/digitalrain.fragment.fx"
                ],
                "output": "babylon.digitalRainPostProcess.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../postProcessLibrary/",
            "distOutputDirectory": "/postProcessesLibrary/",
            "buildAsModule": true,
            "moduleName": "babylonjs-post-process",
            "outputFilename": "babylonjs.postProcess",
            "moduleDeclaration": "BJSPostProcess",
            "extendsRoot": true
        }
    },
    "proceduralTexturesLibrary": {
        "libraries": [
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/wood/babylon.woodProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/wood/woodProceduralTexture.fragment.fx"
                ],
                "output": "babylon.woodProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/fire/babylon.fireProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/fire/fireProceduralTexture.fragment.fx"
                ],
                "output": "babylon.fireProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/cloud/babylon.cloudProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/cloud/cloudProceduralTexture.fragment.fx"
                ],
                "output": "babylon.cloudProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/grass/babylon.grassProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/grass/grassProceduralTexture.fragment.fx"
                ],
                "output": "babylon.grassProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/road/babylon.roadProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/road/roadProceduralTexture.fragment.fx"
                ],
                "output": "babylon.roadProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/brick/babylon.brickProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/brick/brickProceduralTexture.fragment.fx"
                ],
                "output": "babylon.brickProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/marble/babylon.marbleProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/marble/marbleProceduralTexture.fragment.fx"
                ],
                "output": "babylon.marbleProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/starfield/babylon.starfieldProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/starfield/starfieldProceduralTexture.fragment.fx"
                ],
                "output": "babylon.starfieldProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/normalMap/babylon.normalMapProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/normalMap/normalMapProceduralTexture.fragment.fx"
                ],
                "output": "babylon.normalMapProceduralTexture.js"
            },
            {
                "files": [
                    "../../proceduralTexturesLibrary/src/perlinNoise/babylon.perlinNoiseProceduralTexture.ts"
                ],
                "shaderFiles": [
                    "../../proceduralTexturesLibrary/src/perlinNoise/perlinNoiseProceduralTexture.fragment.fx"
                ],
                "output": "babylon.perlinNoiseProceduralTexture.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../proceduralTexturesLibrary/",
            "distOutputDirectory": "/proceduralTexturesLibrary/",
            "buildAsModule": true,
            "moduleName": "babylonjs-procedural-textures",
            "outputFilename": "babylonjs.proceduralTextures",
            "moduleDeclaration": "BJSProceduralTextures",
            "extendsRoot": true
        }
    },
    "loaders": {
        "libraries": [
            {
                "files": [
                    "../../loaders/src/STL/babylon.stlFileLoader.ts"
                ],
                "output": "babylon.stlFileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/OBJ/babylon.objFileLoader.ts"
                ],
                "output": "babylon.objFileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/glTF/babylon.glTFFileLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFBinaryExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFMaterialsCommonExtension.ts"
                ],
                "doNotIncludeInBundle": true,
                "output": "babylon.glTF1FileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/glTF/babylon.glTFFileLoader.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/2.0/Extensions/MSFT_lod.ts",
                    "../../loaders/src/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.ts"
                ],
                "doNotIncludeInBundle": true,
                "output": "babylon.glTF2FileLoader.js"
            },
            {
                "files": [
                    "../../loaders/src/glTF/babylon.glTFFileLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFBinaryExtension.ts",
                    "../../loaders/src/glTF/1.0/babylon.glTFMaterialsCommonExtension.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderInterfaces.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoader.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderUtils.ts",
                    "../../loaders/src/glTF/2.0/babylon.glTFLoaderExtension.ts",
                    "../../loaders/src/glTF/2.0/Extensions/MSFT_lod.ts",
                    "../../loaders/src/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.ts"
                ],
                "output": "babylon.glTFFileLoader.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../loaders/",
            "distOutputDirectory": "/loaders/",
            "buildAsModule": true,
            "moduleName": "babylonjs-loaders",
            "outputFilename": "babylonjs.loaders",
            "moduleDeclaration": "BJSLoaders",
            "extendsRoot": true
        }
    },
    "serializers": {
        "libraries": [
            {
                "files": [
                    "../../serializers/src/OBJ/babylon.objSerializer.ts"
                ],
                "output": "babylon.objSerializer.js"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../serializers/",
            "distOutputDirectory": "/serializers/",
            "buildAsModule": true,
            "moduleName": "babylonjs-serializers",
            "outputFilename": "babylonjs.serializers",
            "moduleDeclaration": "BJSSerializers",
            "extendsRoot": true
        }
    },
    "gui": {
        "libraries": [
            {
                "files": [
                    "../../gui/src/advancedDynamicTexture.ts",
                    "../../gui/src/measure.ts",
                    "../../gui/src/math2D.ts",
                    "../../gui/src/valueAndUnit.ts",
                    "../../gui/src/controls/control.ts",
                    "../../gui/src/controls/container.ts",
                    "../../gui/src/controls/stackPanel.ts",
                    "../../gui/src/controls/rectangle.ts",
                    "../../gui/src/controls/ellipse.ts",
                    "../../gui/src/controls/line.ts",
                    "../../gui/src/controls/slider.ts",
                    "../../gui/src/controls/checkbox.ts",
                    "../../gui/src/controls/radioButton.ts",
                    "../../gui/src/controls/textBlock.ts",
                    "../../gui/src/controls/image.ts",
                    "../../gui/src/controls/button.ts",
                    "../../gui/src/controls/colorpicker.ts",
                    "../../gui/src/controls/inputText.ts",
                    "../../gui/src/controls/virtualKeyboard.ts"
                ],
                "output": "babylon.gui.js",
                "buildAsModule": true,
                "moduleName": "babylonjs-gui",
                "moduleDeclaration": "GUI"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../gui/",
            "distOutputDirectory": "/gui/"
        }
    },
    "inspector": {
        "libraries": [
            {
                "files": [
                    "../../inspector/src/Inspector.ts",
                    "../../inspector/src/properties.ts",
                    "../../inspector/src/properties_gui.ts",
                    "../../inspector/src/gui/BasicElement.ts",
                    "../../inspector/src/adapters/Adapter.ts",
                    "../../inspector/src/adapters/CameraAdapter.ts",
                    "../../inspector/src/adapters/PhysicsImpostorAdapter.ts",
                    "../../inspector/src/adapters/GUIAdapter.ts",
                    "../../inspector/src/adapters/SoundAdapter.ts",
                    "../../inspector/src/adapters/TextureAdapter.ts",
                    "../../inspector/src/adapters/LightAdapter.ts",
                    "../../inspector/src/adapters/MaterialAdapter.ts",
                    "../../inspector/src/adapters/MeshAdapter.ts",
                    "../../inspector/src/adapters/PhysicsImpostorAdapter.ts",
                    "../../inspector/src/details/DetailPanel.ts",
                    "../../inspector/src/details/Property.ts",
                    "../../inspector/src/details/PropertyLine.ts",
                    "../../inspector/src/gui/ColorElement.ts",
                    "../../inspector/src/gui/ColorPickerElement.ts",
                    "../../inspector/src/gui/CubeTextureElement.ts",
                    "../../inspector/src/gui/HDRCubeTextureElement.ts",
                    "../../inspector/src/gui/SearchBar.ts",
                    "../../inspector/src/gui/TextureElement.ts",
                    "../../inspector/src/gui/Tooltip.ts",
                    "../../inspector/src/helpers/Helpers.ts",
                    "../../inspector/src/scheduler/Scheduler.ts",
                    "../../inspector/src/tabs/Tab.ts",
                    "../../inspector/src/tabs/PropertyTab.ts",
                    "../../inspector/src/tabs/CameraTab.ts",
                    "../../inspector/src/tabs/GUITab.ts",
                    "../../inspector/src/tabs/PhysicsTab.ts",
                    "../../inspector/src/tabs/SoundTab.ts",
                    "../../inspector/src/tabs/TextureTab.ts",
                    "../../inspector/src/tabs/LightTab.ts",
                    "../../inspector/src/tabs/MaterialTab.ts",
                    "../../inspector/src/tabs/MeshTab.ts",
                    "../../inspector/src/tabs/SceneTab.ts",
                    "../../inspector/src/tabs/ConsoleTab.ts",
                    "../../inspector/src/tabs/StatsTab.ts",
                    "../../inspector/src/tabs/TabBar.ts",
                    "../../inspector/src/tools/AbstractTool.ts",
                    "../../inspector/src/tools/PauseScheduleTool.ts",
                    "../../inspector/src/tools/PickTool.ts",
                    "../../inspector/src/tools/PopupTool.ts",
                    "../../inspector/src/tools/RefreshTool.ts",
                    "../../inspector/src/tools/LabelTool.ts",
                    "../../inspector/src/tools/Toolbar.ts",
                    "../../inspector/src/tools/DisposeTool.ts",
                    "../../inspector/src/tree/TreeItem.ts",
                    "../../inspector/src/treetools/AbstractTreeTool.ts",
                    "../../inspector/src/treetools/BoundingBox.ts",
                    "../../inspector/src/treetools/CameraPOV.ts",
                    "../../inspector/src/treetools/SoundInteractions.ts",
                    "../../inspector/src/treetools/Checkbox.ts",
                    "../../inspector/src/treetools/DebugArea.ts",
                    "../../inspector/src/treetools/Info.ts",
                    "../../inspector/src/lib.d.ts"
                ],
                "sassFiles": [
                    "../../inspector/sass/**/*.scss"
                ],
                "output": "babylon.inspector.js",
                "webpack": "../../inspector/webpack.config.js",
                "bundle": "true",
                "moduleDeclaration": "INSPECTOR"
            }
        ],
        "build": {
            "srcOutputDirectory": "../../inspector/",
            "distOutputDirectory": "/inspector/"
        }
    }
}
tommhuth commented 6 years ago

Now I'm getting both

babylon.custom.js:21277 Uncaught TypeError: Cannot read property 'Zero' of undefined
    at Scene.pick (babylon.custom.js:21277)
    at HTMLCanvasElement._onPointerMove (babylon.custom.js:19125)

and (when using calling physicsHelper.gravitationalField)

babylon.custom.js:39774 Uncaught TypeError: BABYLON.Ray is not a constructor
    at PhysicsRadialExplosionEvent.getImpostorForceAndContactPoint (babylon.custom.js:39774)
    at babylon.custom.js:39686
    at Array.forEach (<anonymous>)
    at PhysicsHelper.applyRadialExplosionForce (babylon.custom.js:39685)
    at PhysicsGravitationalFieldEvent._tick (babylon.custom.js:39888)
    at PhysicsGravitationalFieldEvent.enable (babylon.custom.js:39855)
    at lowerCamera (scene.js:99)
    at Stack.gameOver (Stack.js:141)
    at Stack.match (Stack.js:123)
    at HTMLDocument.<anonymous> (app.js:21)

If I add "picking" back in my custom build array, those errors go away, but I instead get this when calling physicsHelper.gravitationalField's enable()

Uncaught TypeError: Cannot read property 'HasTags' of undefined
    at new Mesh (babylon.custom.js:23102)
    at Mesh.clone (babylon.custom.js:24444)
    at PhysicsGravitationalFieldEvent._tick (babylon.custom.js:39890)
    at PhysicsGravitationalFieldEvent.enable (babylon.custom.js:39855)
    at lowerCamera (scene.js:99)
    at Stack.gameOver (Stack.js:141)
    at Stack.match (Stack.js:123)
    at HTMLDocument.<anonymous> (app.js:21)
tommhuth commented 6 years ago

@RaananW should I report my last exception as a new bug or is this fixed as well?