@@ -240,89 +240,62 @@ onBeforeUnmount(stop)
240240 </script >
241241
242242<template >
243- <div :class =" { hide: !isVisibleDecalIntersect }" class =" cientos-decal-debug-ui__inner-wrapper" >
243+ <div
244+ :class =" { hide: !isVisibleDecalIntersect }"
245+ class =" cientos-decal-debug-ui__inner-wrapper"
246+ >
244247 <div ref =" dragRef" :style =" containerStyle" class =" cientos-decal-debug-ui__drag-container" >
245- <div ref =" innerRef" :style =" innerStyle" class =" cientos-decal-debug-ui__inner" >
248+ <div ref =" innerRef" :style =" innerStyle" class =" cientos-decal-debug-ui__inner group " >
246249 <div class =" cientos-decal-debug-ui__dot-center" ></div >
247250 <div class =" cientos-decal-debug-ui__border" ></div >
248- <div ref =" sliderRef" class =" cientos-decal-debug-ui__slider" >
251+ <div ref =" sliderRef" class =" cientos-decal-debug-ui__slider group-active:cursor-grabbing cursor-grab " >
249252 <div class =" cientos-decal-debug-ui__slider-inner" ></div >
250253 </div >
251254 </div >
252255
253- <div ref =" selectorRef" class =" cientos-decal-debug-ui__selector" >
254- <button
255- class =" px-2 py-1 text-sm font-bold rounded-md transition h-[28px] flex items-center mr-2"
256- :class =" isSnapEnabled ? 'bg-blue-500 text-white' : 'bg-white/80 text-gray-600 hover:bg-gray-200'"
257- title =" Snap Angle (15°)"
258- @click =" toggleSnap"
259- >
260- 🧲
261- </button >
262- <button
263- class =" px-2 py-1 text-sm font-bold rounded-md transition h-[28px] flex items-center mr-2 bg-white/80 text-gray-600 hover:bg-gray-200"
264-
265- @click =" exportData"
266- >
267- Export
268- </button >
269- <div v-if =" hasMultipleTextures" class =" flex mr-2 bg-white/80 rounded-md shadow-sm overflow-hidden h-[28px] items-center" >
256+ <div ref =" selectorRef" class =" absolute left-1/2 -translate-x-1/2 top-[105%] flex flex-col items-center gap-3 w-max pointer-events-none z-[1000001]" >
257+ <div class =" pointer-events-auto flex items-center gap-2 p-2 bg-white/90 backdrop-blur-md rounded-full border border-gray-200 shadow-xl" >
270258 <button
271- class =" px-2 h-full hover:bg-gray-200 border-r border-gray-300 font-bold text-gray-600 flex items-center justify-center"
272- title =" Précédent (←)"
273- @click =" onPrevTexture"
259+ class =" w-9 h-9 flex items-center justify-center rounded-full transition-colors text-lg"
260+ :class =" isSnapEnabled ? 'bg-blue-100 text-blue-600 border border-blue-200' : 'hover:bg-gray-100 text-gray-500'"
261+ title =" Snap Angle (15°)"
262+ @click =" toggleSnap"
274263 >
275- & lt ;
264+ 🧲
276265 </button >
277- <div class =" px-2 h-full flex items-center justify-center text-xs text-gray-500 cursor-default select-none" >
278- 🎨
279- </div >
266+
280267 <button
281- class =" px-2 h-full hover:bg-gray-200 border-l border-gray-300 font-bold text-gray-600 flex items-center justify-center"
282- title =" Suivant (→)"
283- @click =" onNextTexture"
268+ class =" px-4 h-9 flex items-center justify-center rounded-full hover:bg-gray-100 text-xs font-bold text-gray-700 transition-colors border border-transparent hover:border-gray-200"
269+ @click =" exportData"
284270 >
285- & gt ;
271+ Export
286272 </button >
273+
274+ <div class =" w-px h-5 bg-gray-300 mx-1" ></div >
275+
276+ <div v-if =" hasMultipleTextures" class =" flex items-center gap-2" >
277+ <button class =" w-9 h-9 flex items-center justify-center rounded-full hover:bg-gray-100 font-bold text-gray-500 transition-colors" @click =" onPrevTexture" >< ; </button >
278+ <span class =" text-xl select-none" >🎨</span >
279+ <button class =" w-9 h-9 flex items-center justify-center rounded-full hover:bg-gray-100 font-bold text-gray-500 transition-colors" @click =" onNextTexture" >> ; </button >
280+ <div class =" w-px h-5 bg-gray-300 mx-1" ></div >
281+ </div >
282+
283+ <button class =" w-9 h-9 flex items-center justify-center rounded-full hover:bg-red-100 text-red-500 transition-colors text-sm font-bold" @click =" onCancelEdit" >❌</button >
284+ <button class =" w-9 h-9 flex items-center justify-center rounded-full bg-green-500 hover:bg-green-600 text-white shadow-sm transition-colors text-sm font-bold" @click =" onValidateDecal" >✅</button >
287285 </div >
288286
289- <button
290- class =" px-2 py-1 text-sm font-bold rounded-md bg-red-100 text-red-700 hover:bg-red-200 transition h-[28px] flex items-center"
291- @click =" onCancelEdit"
292- >
293- X
294- </button >
295-
296- <button
297- class =" px-2 py-1 text-sm font-bold rounded-md bg-green-100 text-green-700 hover:bg-green-200 transition ml-2 h-[28px] flex items-center"
298- @click =" onValidateDecal"
299- >
300- V
301- </button >
302-
303- <button
304- v-if =" currentEditingId"
305- class =" px-2 py-1 text-sm font-bold rounded-md bg-red-500 text-white hover:bg-red-600 transition ml-2 h-[28px] flex items-center"
306- @click =" onDeleteDecal"
307- >
308- 🗑️
309- </button >
310-
311- <button
312- v-if =" currentEditingId"
313- class =" px-2 py-1 text-sm font-bold rounded-md bg-gray-100 text-gray-700 hover:bg-gray-200 transition ml-2 h-[28px] flex items-center"
314- @click =" onZIndexUp"
315- >
316- zIndex+
317- </button >
318-
319- <button
320- v-if =" currentEditingId"
321- class =" px-2 py-1 text-sm font-bold rounded-md bg-gray-100 text-gray-700 hover:bg-gray-200 transition ml-1 h-[28px] flex items-center"
322- @click =" onZIndexDown"
323- >
324- zIndex-
325- </button >
287+ <div v-if =" currentEditingId" class =" pointer-events-auto flex items-center gap-2 p-2 bg-white/90 backdrop-blur-md rounded-full border border-gray-200 shadow-lg text-gray-600" >
288+ <button class =" w-9 h-9 flex items-center justify-center rounded-full hover:bg-red-100 text-red-500 transition-colors text-sm" @click =" onDeleteDecal" >🗑️</button >
289+
290+ <div class =" w-px h-5 bg-gray-300 mx-1" ></div >
291+
292+ <span class =" text-[11px] font-bold uppercase text-gray-500 px-2 select-none tracking-wide" >Layer</span >
293+
294+ <div class =" flex items-center gap-1 bg-gray-100 rounded-full p-1" >
295+ <button class =" w-7 h-7 flex items-center justify-center rounded-full hover:bg-white text-xs font-bold transition-all shadow-sm" @click =" onZIndexDown" >-</button >
296+ <button class =" w-7 h-7 flex items-center justify-center rounded-full hover:bg-white text-xs font-bold transition-all shadow-sm" @click =" onZIndexUp" >+</button >
297+ </div >
298+ </div >
326299 </div >
327300 </div >
328301 </div >
@@ -371,7 +344,7 @@ onBeforeUnmount(stop)
371344 position : absolute ;
372345 width : 100% ;
373346 height : 100% ;
374- outline : 4px solid blue ;
347+ outline : 4px solid white ;
375348 border-radius : 500% ;
376349 box-shadow :
377350 0 0 3px #00000080 ,
@@ -421,7 +394,7 @@ onBeforeUnmount(stop)
421394 pointer-events : none ;
422395 pointer-events : auto ;
423396 z-index : 9999 ;
424- overflow : hidden ;
397+ /* overflow: hidden; */
425398}
426399
427400.cientos-decal-debug-ui__slider-inner {
0 commit comments