{"version":3,"sources":["model.js","App.js","reportWebVitals.js","index.js"],"names":["positionSet","2","position","rotation","Math","PI","scale","3","4","5","6","7","Model","products","setFocus","focusProduct","focusUrl","setFocusProduct","updateAnnotationPos","bloomLightRef1","bloomLightRef2","bloomLightRef3","onLoad","props","gl","useThree","group","useRef","nodes","useGLTF","envMap","useCubeTexture","path","meshRef1","meshRef2","meshRef3","meshRef4","meshRef5","meshRef6","meshRef7","hoverTimeoutRef","billboardTextures","useTexture","map","p","image","m1","MeshPhysicalMaterial","color","roughness","metalness","reflectivity","m2","glass","redNeon","emissive","blueNeon","useFrame","camera","length","x","y","z","Vector3","project","useEffect","lastTap","ref","dispose","castShadow","receiveShadow","geometry","floor","material","Cylinder002","Cylinder002_1","i","billboardMaterial","MeshBasicMaterial","side","DoubleSide","minFilter","LinearFilter","maxFilter","anisotropy","capabilities","getMaxAnisotropy","key","join","BezierCurve011","BezierCurve011_1","onPointerEnter","document","body","style","cursor","current","window","clearTimeout","setTimeout","onPointerLeave","onPointerDown","e","clientX","clientY","onPointerUp","thisTap","dist","sqrt","pow","abs","isNaN","location","href","frame002","frame","frame001","Text","Text001","ieVersion","version","lights","selection","intensity","width","Resizer","AUTO_SIZE","height","kernelSize","KernelSize","LARGE","luminanceThreshold","luminanceSmoothing","offset","darkness","preload","CameraComp","focus","isLoaded","defaultPos","getElementById","offsetWidth","defaultRot","useState","cameraPos","setCameraPos","cameraRot","setCameraRot","_c","Object3D","rx","ry","rz","set","translateZ","x1","y1","z1","rx1","ry1","rz1","clock","scene","_x","_y","_z","__x","__y","__z","w","h","offsetHeight","setViewOffset","_rx","_ry","_rz","__rx","__ry","__rz","App","setProducts","setIsLoaded","text","setText","nav","setNav","showLabels","setShowLabels","annotationPos","jsonPath","JSONPATH","get","then","result","data","sort","a","b","random","navigation","catch","err","console","log","className","resize","polyfill","ResizeObserver","shadows","type","PCFSoftShadowMap","toneMapping","ReinhardToneMapping","alpha","pixelRatio","innerWidth","linear","onPointerMissed","shadow-bias","penumbra","fallback","indexOf","target","pos","LoadingIndicator","Annotations","show","heading","blurb","Dropdown","onClick","src","alt","thisRef","mouseOutRef","expanded","setExpanded","addEventListener","contains","find","n","active","title","onMouseMove","onMouseOut","c","children","id","requestAnimationFrame","animate","Array","from","forEach","div","px","py","top","left","transform","cancelAnimationFrame","label","xmlns","viewBox","preserveAspectRatio","cx","cy","r","stroke-width","stroke","stroke-dasharray","fill","stroke-linecap","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.9b093e90.chunk.js","sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { useGLTF, useCubeTexture, useTexture } from \"@react-three/drei\";\nimport {\n MeshPhysicalMaterial,\n DoubleSide,\n MeshBasicMaterial,\n Vector3,\n LinearFilter,\n} from \"three\";\nimport { useFrame, useThree } from \"@react-three/fiber\";\n\nimport {\n EffectComposer,\n Vignette,\n SelectiveBloom,\n SMAA,\n} from \"@react-three/postprocessing\";\nimport { Resizer, KernelSize } from \"postprocessing\";\nimport ieVersion from \"ie-version\";\n\nconst positionSet = {\n 2: [\n {\n position: [-4.111, -0.491, 2],\n rotation: [0, (-80 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [4.3683, -0.7, 2],\n rotation: [0, (-105 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n ],\n 3: [\n {\n position: [-9.75, 0, 2.94],\n rotation: [0, (-99 * Math.PI) / 180, 0],\n scale: [1, 1, 1],\n },\n {\n position: [0, -0.15, -0.06],\n rotation: [0, -Math.PI / 2, 0],\n scale: [1, 1, 1],\n },\n\n {\n position: [10.85, -0.2, 0.79],\n rotation: [0, -1.33, 0],\n scale: [1, 1, 1],\n },\n ],\n 4: [\n {\n position: [-9.75, 0, 2.94],\n rotation: [0, (-99 * Math.PI) / 180, 0],\n scale: [0.9, 0.9, 0.9],\n },\n {\n position: [-6.111, -0.491, -0.3],\n rotation: [0, (-80 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [6.3683, 2.7, 0.5275],\n rotation: [0, (-105 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [10.85, -0.2, 0.79],\n rotation: [0, -1.33, 0],\n scale: [0.9, 0.9, 0.9],\n },\n ],\n\n 5: [\n {\n position: [-9.75, 0, 2.94],\n rotation: [0, (-99 * Math.PI) / 180, 0],\n scale: [0.9, 0.9, 0.9],\n },\n {\n position: [-6.111, -0.491, -0.3],\n rotation: [0, (-80 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [0, 0.1981, 0.06],\n rotation: [0, (-90 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [6.3683, 2.7, 0.5275],\n rotation: [0, (-105 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [10.85, -0.2, 0.79],\n rotation: [0, -1.33, 0],\n scale: [0.9, 0.9, 0.9],\n },\n ],\n 6: [\n {\n position: [-9.75, 0, 2.94],\n rotation: [0, (-99 * Math.PI) / 180, 0],\n scale: [0.9, 0.9, 0.9],\n },\n {\n position: [-6.111, -0.491, -0.3],\n rotation: [0, (-80 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [-2.3486, 6.431, -4.1847],\n rotation: [0, (-60 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [0, 0.1981, 0.06],\n rotation: [0, (-90 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [6.3683, 2.7, 0.5275],\n rotation: [0, (-105 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [10.85, -0.2, 0.79],\n rotation: [0, -1.33, 0],\n scale: [0.9, 0.9, 0.9],\n },\n ],\n 7: [\n {\n position: [-9.75, 0, 2.94],\n rotation: [0, (-99 * Math.PI) / 180, 0],\n scale: [0.9, 0.9, 0.9],\n },\n {\n position: [-6.111, -0.491, -0.3],\n rotation: [0, (-80 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [-2.3486, 6.431, -4.1847],\n rotation: [0, (-60 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [0, 0.1981, 0.06],\n rotation: [0, (-90 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n {\n position: [4.0354, -1.885, 2.39],\n rotation: [0, (-124 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [6.3683, 2.7, 0.5275],\n rotation: [0, (-105 / 180) * Math.PI, 0],\n scale: [0.9, 0.9, 0.9],\n },\n\n {\n position: [10.85, -0.5, 0.79],\n rotation: [0, -1.33, 0],\n scale: [0.9, 0.9, 0.9],\n },\n ],\n};\n\nexport default function Model({\n products,\n setFocus,\n focusProduct,\n focusUrl,\n setFocusProduct,\n updateAnnotationPos,\n bloomLightRef1,\n bloomLightRef2,\n bloomLightRef3,\n onLoad,\n ...props\n}) {\n const { gl } = useThree();\n const group = useRef();\n const { nodes } = useGLTF(\"./3dshowcase/gltf/uob_billboard.glb\");\n const envMap = useCubeTexture(\n [\"px.png\", \"nx.png\", \"py.png\", \"ny.png\", \"pz.png\", \"nz.png\"],\n { path: \"./3dshowcase/cubemap/\" }\n );\n const meshRef1 = useRef();\n const meshRef2 = useRef();\n const meshRef3 = useRef();\n const meshRef4 = useRef();\n const meshRef5 = useRef();\n const meshRef6 = useRef();\n const meshRef7 = useRef();\n const hoverTimeoutRef = useRef();\n\n const billboardTextures = useTexture(products.map((p) => p.image));\n\n const m1 = new MeshPhysicalMaterial({\n color: \"#030320\",\n roughness: 0.9,\n metalness: 0.55,\n reflectivity: 1,\n });\n\n const m2 = new MeshPhysicalMaterial({\n color: \"#002\",\n roughness: 0.9,\n metalness: 0.8,\n reflectivity: 0.5,\n envMap: envMap,\n });\n\n const glass = new MeshPhysicalMaterial({\n color: \"#000\",\n reflectivity: 1,\n roughness: 0,\n envMap: envMap,\n });\n\n const redNeon = new MeshPhysicalMaterial({\n color: \"#ff0404\",\n emissive: 1,\n reflectivity: 0,\n roughness: 0,\n });\n const blueNeon = new MeshPhysicalMaterial({\n color: \"#07f\",\n emissive: 1,\n reflectivity: 0,\n roughness: 1,\n });\n\n useFrame(({ camera }) => {\n updateAnnotationPos(\n positionSet[products.length].map((p) => {\n const [x, y, z] = p.position;\n const _p = new Vector3(x, y, z).project(camera);\n return _p;\n })\n );\n });\n\n useEffect(() => {\n onLoad();\n }, []);\n\n let lastTap = useRef([0, 0]);\n\n return (\n <>\n
{text.blurb}
\n