{"version":3,"file":"Interactive_Map.CvsJWELR.mjs","names":["React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/iqVUISC0m18Oijr6R9Ab/ACkHeRSqkO7oqqIPuOZV/Interactive_Map.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const DURATION=11.6;const pavilions=[{x:-3.15,z:-1.25,w:1.35,d:.7,h:.38,rotation:-.035},{x:-1.55,z:-1.42,w:1.08,d:.72,h:.6,rotation:.025},{x:-.15,z:-1.25,w:1.18,d:.66,h:.46,rotation:-.015},{x:1.45,z:-1.28,w:1.48,d:.78,h:.7,rotation:.018},{x:3.15,z:-1.02,w:.92,d:.58,h:.34,rotation:-.04},{x:-3.25,z:.65,w:1.05,d:.64,h:.42,rotation:.025},{x:-1.72,z:.68,w:1.35,d:.72,h:.52,rotation:-.025},{x:.15,z:.82,w:1.08,d:.62,h:.38,rotation:.02},{x:1.8,z:.65,w:1.28,d:.72,h:.48,rotation:-.018},{x:3.35,z:.82,w:.72,d:.52,h:.28,rotation:.04}];const focusStops=[{index:3,title:\"Pavilion A24\",subtitle:\"Zone partenaire\"},{index:6,title:\"Hall B12\",subtitle:\"Conf\\xe9rences\"}];function clamp01(value){return Math.max(0,Math.min(1,value));}function smooth(value){const t=clamp01(value);return t*t*(3-2*t);}function smoother(value){const t=clamp01(value);return t*t*t*(t*(t*6-15)+10);}function segment(time,start,end){return smooth((time-start)/Math.max(1e-4,end-start));}function easeOutBack(value){const t=clamp01(value);const c1=1.3;const c3=c1+1;return 1+c3*Math.pow(t-1,3)+c1*Math.pow(t-1,2);}function lerp(a,b,t){return a+(b-a)*t;}function lerp3(a,b,t){return[lerp(a[0],b[0],t),lerp(a[1],b[1],t),lerp(a[2],b[2],t)];}function arcLerp3(a,b,value,lift=0,side=0){const t=smoother(value);const result=lerp3(a,b,t);const arc=Math.sin(t*Math.PI);return[result[0]+arc*side,result[1]+arc*lift,result[2]];}function parseColor(value){const color=value.trim();if(color.startsWith(\"#\")){let hex=color.slice(1);if(hex.length===3){hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];}return[parseInt(hex.slice(0,2),16)/255,parseInt(hex.slice(2,4),16)/255,parseInt(hex.slice(4,6),16)/255];}const match=color.match(/rgba?\\(\\s*([\\d.]+)[,\\s]+([\\d.]+)[,\\s]+([\\d.]+)/);if(match){return[Number(match[1])/255,Number(match[2])/255,Number(match[3])/255];}return[1,1,1];}function mix(a,b,amount){const t=clamp01(amount);return[a[0]+(b[0]-a[0])*t,a[1]+(b[1]-a[1])*t,a[2]+(b[2]-a[2])*t];}function normalize(v){const length=Math.hypot(v[0],v[1],v[2])||1;return[v[0]/length,v[1]/length,v[2]/length];}function cross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]];}function dot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}function perspective(fov,aspect,near,far){const f=1/Math.tan(fov/2);const nf=1/(near-far);return new Float32Array([f/aspect,0,0,0,0,f,0,0,0,0,(far+near)*nf,-1,0,0,2*far*near*nf,0]);}function lookAt(eye,target,up){const z=normalize([eye[0]-target[0],eye[1]-target[1],eye[2]-target[2]]);const x=normalize(cross(up,z));const y=cross(z,x);return new Float32Array([x[0],y[0],z[0],0,x[1],y[1],z[1],0,x[2],y[2],z[2],0,-dot(x,eye),-dot(y,eye),-dot(z,eye),1]);}function multiply(a,b){const out=new Float32Array(16);for(let column=0;column<4;column++){for(let row=0;row<4;row++){let value=0;for(let i=0;i<4;i++){value+=a[i*4+row]*b[column*4+i];}out[column*4+row]=value;}}return out;}function transform(x,y,z,sx,sy,sz,rotation=0){const c=Math.cos(rotation);const s=Math.sin(rotation);return new Float32Array([c*sx,0,-s*sx,0,0,sy,0,0,s*sz,0,c*sz,0,x,y,z,1]);}function projectPoint(matrix,point){const x=point[0];const y=point[1];const z=point[2];const clipX=matrix[0]*x+matrix[4]*y+matrix[8]*z+matrix[12];const clipY=matrix[1]*x+matrix[5]*y+matrix[9]*z+matrix[13];const clipW=matrix[3]*x+matrix[7]*y+matrix[11]*z+matrix[15];if(!clipW){return[0,0];}return[clipX/clipW,clipY/clipW];}export default function PremiumVenue3D(props){const{accent=\"#635BFF\",surface=\"#F7F7F5\",ink=\"#1C1C1E\",text=\"#66666D\",speed=1,style}=props;const rootRef=React.useRef(null);const canvasRef=React.useRef(null);const labelRef=React.useRef(null);const titleRef=React.useRef(null);const subtitleRef=React.useRef(null);const isStaticRenderer=useIsStaticRenderer();const[error,setError]=React.useState(\"\");React.useEffect(()=>{const root=rootRef.current;const canvas=canvasRef.current;if(!root||!canvas){return;}const gl=canvas.getContext(\"webgl\",{alpha:true,antialias:true,premultipliedAlpha:false});if(!gl){setError(\"WebGL indisponible\");return;}setError(\"\");// --------------------------------------------\n// SHADERS\n// --------------------------------------------\nconst vertexSource=`\n            attribute vec3 aPosition;\n            attribute vec3 aNormal;\n\n            uniform mat4 uProjection;\n            uniform mat4 uView;\n            uniform mat4 uModel;\n\n            varying vec3 vNormal;\n\n            void main() {\n                vec4 world =\n                    uModel *\n                    vec4(\n                        aPosition,\n                        1.0\n                    );\n\n                vNormal =\n                    normalize(\n                        mat3(uModel) *\n                        aNormal\n                    );\n\n                gl_Position =\n                    uProjection *\n                    uView *\n                    world;\n            }\n        `;const fragmentSource=`\n            precision mediump float;\n\n            uniform vec3 uColor;\n            uniform float uOpacity;\n            uniform float uFlat;\n\n            varying vec3 vNormal;\n\n            void main() {\n                vec3 n =\n                    normalize(vNormal);\n\n                vec3 key =\n                    normalize(\n                        vec3(\n                            -0.45,\n                            0.95,\n                            0.55\n                        )\n                    );\n\n                vec3 fill =\n                    normalize(\n                        vec3(\n                            0.55,\n                            0.55,\n                            -0.7\n                        )\n                    );\n\n                float keyLight =\n                    max(\n                        dot(\n                            n,\n                            key\n                        ),\n                        0.0\n                    );\n\n                float fillLight =\n                    max(\n                        dot(\n                            n,\n                            fill\n                        ),\n                        0.0\n                    );\n\n                float sky =\n                    n.y *\n                    0.5 +\n                    0.5;\n\n                float lighting =\n                    0.76 +\n                    keyLight *\n                    0.17 +\n                    fillLight *\n                    0.045 +\n                    sky *\n                    0.035;\n\n                lighting =\n                    mix(\n                        lighting,\n                        1.0,\n                        uFlat\n                    );\n\n                gl_FragColor =\n                    vec4(\n                        uColor *\n                        lighting,\n\n                        uOpacity\n                    );\n            }\n        `;function createShader(type,source){const shader=gl.createShader(type);if(!shader){throw new Error(\"Shader creation failed\");}gl.shaderSource(shader,source);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){const message=gl.getShaderInfoLog(shader);gl.deleteShader(shader);throw new Error(message||\"Shader compilation failed\");}return shader;}let program;try{const vertexShader=createShader(gl.VERTEX_SHADER,vertexSource);const fragmentShader=createShader(gl.FRAGMENT_SHADER,fragmentSource);const next=gl.createProgram();if(!next){throw new Error(\"Unable to create program\");}gl.attachShader(next,vertexShader);gl.attachShader(next,fragmentShader);gl.linkProgram(next);if(!gl.getProgramParameter(next,gl.LINK_STATUS)){throw new Error(gl.getProgramInfoLog(next)||\"Unable to link program\");}program=next;gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);}catch(error){setError(error instanceof Error?error.message:\"Erreur WebGL\");return;}gl.useProgram(program);// --------------------------------------------\n// LOCATIONS\n// --------------------------------------------\nconst positionLocation=gl.getAttribLocation(program,\"aPosition\");const normalLocation=gl.getAttribLocation(program,\"aNormal\");const projectionLocation=gl.getUniformLocation(program,\"uProjection\");const viewLocation=gl.getUniformLocation(program,\"uView\");const modelLocation=gl.getUniformLocation(program,\"uModel\");const colorLocation=gl.getUniformLocation(program,\"uColor\");const opacityLocation=gl.getUniformLocation(program,\"uOpacity\");const flatLocation=gl.getUniformLocation(program,\"uFlat\");// --------------------------------------------\n// GEOMETRY\n// --------------------------------------------\nconst allocatedBuffers=[];function createGeometry(positions,normals,mode=gl.TRIANGLES){const position=gl.createBuffer();const normal=gl.createBuffer();if(!position||!normal){throw new Error(\"Unable to create geometry\");}allocatedBuffers.push(position,normal);gl.bindBuffer(gl.ARRAY_BUFFER,position);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array(positions),gl.STATIC_DRAW);gl.bindBuffer(gl.ARRAY_BUFFER,normal);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array(normals),gl.STATIC_DRAW);return{position,normal,count:positions.length/3,mode};}function roundedPrism(radius=.16,segments=5){const positions=[];const normals=[];const points=[];const halfX=.5;const halfZ=.5;const r=Math.min(radius,.49);const corners=[{cx:halfX-r,cz:halfZ-r,start:0},{cx:-halfX+r,cz:halfZ-r,start:Math.PI/2},{cx:-halfX+r,cz:-halfZ+r,start:Math.PI},{cx:halfX-r,cz:-halfZ+r,start:Math.PI*1.5}];corners.forEach(corner=>{for(let i=0;i<=segments;i++){const angle=corner.start+i/segments*(Math.PI/2);points.push({x:corner.cx+Math.cos(angle)*r,z:corner.cz+Math.sin(angle)*r,nx:Math.cos(angle),nz:Math.sin(angle)});}});// TOP\nfor(let i=0;i<points.length;i++){const next=(i+1)%points.length;positions.push(0,.5,0,points[i].x,.5,points[i].z,points[next].x,.5,points[next].z);normals.push(0,1,0,0,1,0,0,1,0);}// BOTTOM\nfor(let i=0;i<points.length;i++){const next=(i+1)%points.length;positions.push(0,-.5,0,points[next].x,-.5,points[next].z,points[i].x,-.5,points[i].z);normals.push(0,-1,0,0,-1,0,0,-1,0);}// SIDES\nfor(let i=0;i<points.length;i++){const next=(i+1)%points.length;const a=points[i];const b=points[next];positions.push(a.x,-.5,a.z,b.x,-.5,b.z,b.x,.5,b.z,a.x,-.5,a.z,b.x,.5,b.z,a.x,.5,a.z);normals.push(a.nx,0,a.nz,b.nx,0,b.nz,b.nx,0,b.nz,a.nx,0,a.nz,b.nx,0,b.nz,a.nx,0,a.nz);}return createGeometry(positions,normals);}function cylinder(segments=30){const positions=[];const normals=[];for(let i=0;i<segments;i++){const a=i/segments*Math.PI*2;const b=(i+1)/segments*Math.PI*2;const ax=Math.cos(a);const az=Math.sin(a);const bx=Math.cos(b);const bz=Math.sin(b);positions.push(0,.5,0,ax*.5,.5,az*.5,bx*.5,.5,bz*.5);normals.push(0,1,0,0,1,0,0,1,0);positions.push(ax*.5,-.5,az*.5,bx*.5,-.5,bz*.5,bx*.5,.5,bz*.5,ax*.5,-.5,az*.5,bx*.5,.5,bz*.5,ax*.5,.5,az*.5);normals.push(ax,0,az,bx,0,bz,bx,0,bz,ax,0,az,bx,0,bz,ax,0,az);}return createGeometry(positions,normals);}function lineRing(segments=72){const positions=[];const normals=[];for(let i=0;i<segments;i++){const angle=i/segments*Math.PI*2;positions.push(Math.cos(angle),0,Math.sin(angle));normals.push(0,1,0);}return createGeometry(positions,normals,gl.LINE_LOOP);}const pavilionGeometry=roundedPrism(.17,5);const floorGeometry=roundedPrism(.1,5);const pathGeometry=roundedPrism(.48,4);const beaconGeometry=cylinder(28);const ringGeometry=lineRing(72);// --------------------------------------------\n// DRAW\n// --------------------------------------------\nfunction bindGeometry(geometry){gl.bindBuffer(gl.ARRAY_BUFFER,geometry.position);gl.enableVertexAttribArray(positionLocation);gl.vertexAttribPointer(positionLocation,3,gl.FLOAT,false,0,0);gl.bindBuffer(gl.ARRAY_BUFFER,geometry.normal);gl.enableVertexAttribArray(normalLocation);gl.vertexAttribPointer(normalLocation,3,gl.FLOAT,false,0,0);}function draw(geometry,model,color,opacity,flat=0){if(opacity<=.001){return;}bindGeometry(geometry);gl.uniformMatrix4fv(modelLocation,false,model);gl.uniform3f(colorLocation,color[0],color[1],color[2]);gl.uniform1f(opacityLocation,opacity);gl.uniform1f(flatLocation,flat);gl.drawArrays(geometry.mode,0,geometry.count);}// --------------------------------------------\n// COLORS\n// --------------------------------------------\nconst surfaceRGB=parseColor(surface);const inkRGB=parseColor(ink);const accentRGB=parseColor(accent);const white=[1,1,1];const slabColor=mix(surfaceRGB,white,.48);const buildingColor=mix(surfaceRGB,white,.28);const routeColor=mix(inkRGB,surfaceRGB,.8);// --------------------------------------------\n// PATHS\n// --------------------------------------------\nconst paths=[{x:0,z:1.48,w:8.05,d:.055,rotation:.01},{x:-.05,z:-.32,w:8.25,d:.052,rotation:-.008},{x:-.62,z:.15,w:4.28,d:.048,rotation:Math.PI/2+.035},{x:1.65,z:.02,w:4.12,d:.048,rotation:Math.PI/2-.035}];const first=pavilions[focusStops[0].index];const second=pavilions[focusStops[1].index];// --------------------------------------------\n// WEBGL\n// --------------------------------------------\ngl.enable(gl.DEPTH_TEST);gl.depthFunc(gl.LEQUAL);gl.enable(gl.BLEND);gl.blendFunc(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA);gl.clearColor(0,0,0,0);// --------------------------------------------\n// SIZE\n// --------------------------------------------\nlet cssWidth=380;let cssHeight=200;let renderFrame=_time=>{};function updateSize(){const rect=root.getBoundingClientRect();cssWidth=Math.max(rect.width,1);cssHeight=Math.max(rect.height,1);const dpr=Math.min(window.devicePixelRatio||1,2);const width=Math.max(1,Math.round(cssWidth*dpr));const height=Math.max(1,Math.round(cssHeight*dpr));if(canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;gl.viewport(0,0,width,height);}}// --------------------------------------------\n// CAMERA\n// --------------------------------------------\nfunction getCamera(t){const introEye=[7.55,6.15,8.75];const masterEye=[6.65,5.35,7.65];const focus1Eye=[5.55,4.55,6.35];const bridgeEye=[5.95,4.95,6.95];const focus2Eye=[5,4.35,6.05];const outroEye=[7.15,5.75,8.35];const centerTarget=[0,.08,0];const firstTarget=[first.x*.82,.16,first.z*.68];const secondTarget=[second.x*.78,.16,second.z*.72];// Intro\nif(t<2.3){const p=clamp01(t/2.3);return{eye:arcLerp3(introEye,masterEye,p,.12,-.08),target:centerTarget};}// Focus 1\nif(t<4.15){const p=clamp01((t-2.3)/1.85);return{eye:arcLerp3(masterEye,focus1Eye,p,.16,.12),target:arcLerp3(centerTarget,firstTarget,p,.04,0)};}// Respiration\nif(t<5.15){const p=clamp01((t-4.15)/1);return{eye:arcLerp3(focus1Eye,bridgeEye,p,.13,-.08),target:arcLerp3(firstTarget,centerTarget,p,.03,0)};}// Glide to second building\nif(t<7.05){const p=clamp01((t-5.15)/1.9);return{eye:arcLerp3(bridgeEye,focus2Eye,p,.18,-.14),target:arcLerp3(centerTarget,secondTarget,p,.045,0)};}// Return\nif(t<8.25){const p=clamp01((t-7.05)/1.2);return{eye:arcLerp3(focus2Eye,masterEye,p,.14,.1),target:arcLerp3(secondTarget,centerTarget,p,.025,0)};}// Outro\nconst p=clamp01((t-8.25)/(DURATION-8.25));return{eye:arcLerp3(masterEye,outroEye,p,.08,0),target:centerTarget};}// --------------------------------------------\n// RENDER\n// --------------------------------------------\nconst startTime=performance.now();renderFrame=now=>{const rawTime=(now-startTime)/1e3*Math.max(speed,.1);const t=isStaticRenderer?6.1:rawTime%DURATION;gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT);gl.useProgram(program);// ----------------------------------------\n// FOCUS STATES\n// ----------------------------------------\nconst focus1=segment(t,3.05,3.5)*(1-segment(t,4.05,4.45));const focus2=segment(t,5.85,6.25)*(1-segment(t,6.95,7.35));// ----------------------------------------\n// CAMERA\n// ----------------------------------------\nconst cameraState=getCamera(t);const activeFocus=Math.max(focus1,focus2);const fov=29-activeFocus*2.2;const projection=perspective(fov*Math.PI/180,cssWidth/Math.max(cssHeight,1),.1,40);const view=lookAt(cameraState.eye,cameraState.target,[0,1,0]);gl.uniformMatrix4fv(projectionLocation,false,projection);gl.uniformMatrix4fv(viewLocation,false,view);// ----------------------------------------\n// FLOOR\n// ----------------------------------------\nconst floorIn=segment(t,0,.85);const floorOut=segment(t,10.35,11.3);const floorVisibility=floorIn*(1-floorOut);const floorScale=.94+floorVisibility*.06;draw(floorGeometry,transform(0,-.055,0,9.1*floorScale,Math.max(.012,.11*floorVisibility),4.65*floorScale,0),slabColor,floorVisibility*.96);// subtle inner surface\ndraw(floorGeometry,transform(0,.004,0,8.72,.012,4.28,0),white,floorVisibility*.15,1);// ----------------------------------------\n// PATHS\n// ----------------------------------------\npaths.forEach((path,index)=>{const build=segment(t,.55+index*.12,1.5+index*.1);const disappear=segment(t,9.35+index*.07,10.05+index*.07);const visible=build*(1-disappear);draw(pathGeometry,transform(path.x-(1-visible)*path.w*.5,.025,path.z,Math.max(.03,path.w*visible),.018,path.d,path.rotation),routeColor,visible*.24,1);});// ----------------------------------------\n// BUILDINGS\n// ----------------------------------------\npavilions.forEach((pavilion,index)=>{const start=1.12+index*.09;const rawBuild=clamp01((t-start)/.72);const build=easeOutBack(rawBuild);const reverse=pavilions.length-1-index;const destroy=segment(t,7.65+reverse*.065,8.28+reverse*.065);const visibility=rawBuild*(1-destroy);const heightScale=Math.max(.015,build*(1-destroy));const itemFocus=index===focusStops[0].index?focus1:index===focusStops[1].index?focus2:0;const lift=itemFocus*.19;// Contact shadow\ndraw(floorGeometry,transform(pavilion.x+.045,.012,pavilion.z+.055,pavilion.w*1.04,.012,pavilion.d*1.07,pavilion.rotation||0),inkRGB,visibility*.027,1);const color=itemFocus>0?mix(buildingColor,accentRGB,itemFocus*.075):buildingColor;draw(pavilionGeometry,transform(pavilion.x,pavilion.h*heightScale*.5+lift-(1-visibility)*.045,pavilion.z,pavilion.w,pavilion.h*heightScale,pavilion.d,pavilion.rotation||0),color,visibility*.99);// Highlighted roof\nif(itemFocus>.002){draw(pavilionGeometry,transform(pavilion.x,pavilion.h*heightScale+lift+.006,pavilion.z,pavilion.w*.94,.012,pavilion.d*.88,pavilion.rotation||0),accentRGB,itemFocus*.18,1);}});// ----------------------------------------\n// FIRST SELECTION\n// ----------------------------------------\nconst pulse1=(Math.sin(t*3.4)+1)/2;draw(ringGeometry,transform(first.x,.035,first.z,.83+pulse1*.08,1,.47+pulse1*.045,0),accentRGB,focus1*(.15-pulse1*.035),1);draw(beaconGeometry,transform(first.x,first.h+focus1*.19+.09,first.z,.07,.12,.07,0),accentRGB,focus1*.85,1);// ----------------------------------------\n// SECOND SELECTION\n// ----------------------------------------\nconst pulse2=(Math.sin(t*3.4+Math.PI)+1)/2;draw(ringGeometry,transform(second.x,.035,second.z,.88+pulse2*.08,1,.5+pulse2*.05,0),accentRGB,focus2*(.15-pulse2*.035),1);draw(beaconGeometry,transform(second.x,second.h+focus2*.19+.09,second.z,.07,.12,.07,0),accentRGB,focus2*.85,1);// ----------------------------------------\n// LABELS\n// ----------------------------------------\nconst label1=segment(t,3.32,3.58)*(1-segment(t,3.98,4.27));const label2=segment(t,6.05,6.32)*(1-segment(t,6.82,7.12));const showSecond=isStaticRenderer||label2>label1;const labelVisibility=isStaticRenderer?1:Math.max(label1,label2);const activeStop=showSecond?focusStops[1]:focusStops[0];const activePavilion=pavilions[activeStop.index];const activeBuildingFocus=showSecond?focus2:focus1;if(titleRef.current&&titleRef.current.textContent!==activeStop.title){titleRef.current.textContent=activeStop.title;}if(subtitleRef.current&&subtitleRef.current.textContent!==activeStop.subtitle){subtitleRef.current.textContent=activeStop.subtitle;}if(labelRef.current){const viewProjection=multiply(projection,view);const projected=projectPoint(viewProjection,[activePavilion.x,activePavilion.h+.57+activeBuildingFocus*.19,activePavilion.z]);const x=(projected[0]*.5+.5)*cssWidth;const y=(-projected[1]*.5+.5)*cssHeight;labelRef.current.style.opacity=`${labelVisibility}`;labelRef.current.style.transform=`\n                    translate3d(\n                        ${x}px,\n                        ${y}px,\n                        0\n                    )\n                    translate(\n                        -50%,\n                        -118%\n                    )\n                    scale(${.96+labelVisibility*.04})\n                `;}};// --------------------------------------------\n// RESIZE\n// --------------------------------------------\nconst resizeObserver=new ResizeObserver(()=>{updateSize();if(isStaticRenderer){renderFrame(performance.now());}});resizeObserver.observe(root);updateSize();// --------------------------------------------\n// LOOP\n// --------------------------------------------\nlet raf=0;if(isStaticRenderer){renderFrame(performance.now());}else{const loop=now=>{renderFrame(now);raf=requestAnimationFrame(loop);};raf=requestAnimationFrame(loop);}// --------------------------------------------\n// CLEANUP\n// --------------------------------------------\nreturn()=>{cancelAnimationFrame(raf);resizeObserver.disconnect();allocatedBuffers.forEach(buffer=>{gl.deleteBuffer(buffer);});gl.deleteProgram(program);};},[accent,surface,ink,speed,isStaticRenderer]);return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{...style,width:\"100%\",height:\"100%\",minHeight:200,position:\"relative\",overflow:\"hidden\",background:\"transparent\",fontFamily:'\"Open Runde\", Inter, sans-serif'},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",inset:0,display:\"block\",width:\"100%\",height:\"100%\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{ref:labelRef,style:{position:\"absolute\",top:0,left:0,opacity:0,pointerEvents:\"none\",display:\"flex\",alignItems:\"center\",gap:7,padding:\"7px 9px\",whiteSpace:\"nowrap\",borderRadius:9,border:\"1px solid rgba(24,24,27,.065)\",background:surface,boxShadow:\"0 5px 18px rgba(24,24,27,.045)\",transformOrigin:\"50% 100%\",willChange:\"transform, opacity\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:6,height:6,borderRadius:\"50%\",background:accent,flex:\"0 0 auto\"}}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{ref:titleRef,style:{color:ink,fontSize:9,lineHeight:\"10px\",fontWeight:600,letterSpacing:\"-0.025em\"},children:\"Pavilion A24\"}),/*#__PURE__*/_jsx(\"div\",{ref:subtitleRef,style:{marginTop:3,color:text,fontSize:7.5,lineHeight:\"9px\",opacity:.62},children:\"Zone partenaire\"})]})]}),error&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:text,fontSize:11,textAlign:\"center\"},children:error})]});}PremiumVenue3D.defaultProps={width:380,height:200,accent:\"#635BFF\",surface:\"#F7F7F5\",ink:\"#1C1C1E\",text:\"#6E6E73\",speed:1};addPropertyControls(PremiumVenue3D,{accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#635BFF\"},surface:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#F7F7F5\"},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#1C1C1E\"},text:{type:ControlType.Color,title:\"Text\",defaultValue:\"#6E6E73\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:.6,max:1.5,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PremiumVenue3D\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Interactive_Map.map"],"mappings":"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"}