VibeCoderzVibeCoderz
Telegram
All Prompts
3D Collaborative Features Section with Animated UI preview
featuretailwindanimatedresponsivelandingproduct3dui

3D Collaborative Features Section with Animated UI

Секция с 3D-карточками функций для лендинга. Демонстрирует коллаборацию в реальном времени, анимацию, курсоры и потоки данных. Адаптивный UI на Tailwind.

Prompt

<div class="max-w-[90rem] mr-auto ml-auto space-y-32 my-24">
  <!-- Feature 1 -->
  <div class="grid grid-cols-1 lg:grid-cols-2 gap-16 gap-x-16 gap-y-16 items-center">
    <div
      class="order-2 lg:order-1 aspect-square lg:aspect-video overflow-hidden group bg-[#0A0A0A] border-white/10 border rounded-2xl relative animate-on-scroll">
      <style>
        @keyframes cursor-float-1 {

          0%,
          100% {
            transform: translate3d(-20px, 40px, 0);
          }

          33% {
            transform: translate3d(60px, -30px, 0);
          }

          66% {
            transform: translate3d(-40px, -10px, 0);
          }
        }

        @keyframes cursor-float-2 {

          0%,
          100% {
            transform: translate3d(40px, -40px, 0);
          }

          50% {
            transform: translate3d(-30px, 50px, 0);
          }
        }

        @keyframes comment-pop {
          0% {
            opacity: 0;
            transform: scale(0.8) translateY(10px);
          }

          10%,
          90% {
            opacity: 1;
            transform: scale(1) translateY(0);
          }

          100% {
            opacity: 0;
            transform: scale(0.8) translateY(10px);
          }
        }
      </style>

      <!-- Background Grid -->
      <div
        class="absolute inset-0 bg-[linear-gradient(rgba(255,255,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.03)_1px,transparent_1px)] bg-[size:40px_40px] [mask-image:radial-gradient(ellipse_at_center,black_50%,transparent_90%)]">
      </div>

      <!-- Central Scene Container -->
      <div
        class="flex overflow-hidden absolute top-0 right-0 bottom-0 left-0 perspective-[800px] items-center justify-center">
        <!-- 3D Component -->
        <div
          class="relative w-64 h-40 bg-[#111]/90 backdrop-blur-md border border-white/10 rounded-xl shadow-2xl transform transition-transform duration-700 ease-out group-hover:rotate-x-6 group-hover:rotate-y-6 rotate-x-12 rotate-y-[-12deg] flex flex-col p-1 z-10">
          <!-- Window Bar -->
          <div class="flex items-center gap-2 px-3 py-2 border-b border-white/5">
            <div class="flex gap-1.5">
              <div class="w-2.5 h-2.5 rounded-full bg-red-500/20"></div>
              <div class="w-2.5 h-2.5 rounded-full bg-yellow-500/20"></div>
            </div>
            <div class="w-20 h-1.5 bg-white/5 rounded-full ml-auto"></div>
          </div>
          <!-- Content -->
          <div class="flex-1 p-3 grid grid-cols-2 gap-3 relative">
            <div
              class="group-hover:bg-purple-500/10 transition-colors bg-purple-500/5 border-purple-500/10 border rounded">
            </div>
            <div class="bg-blue-500/5 rounded border border-blue-500/10 group-hover:bg-blue-500/10 transition-colors">
            </div>

            <!-- Comment Floating Attached -->
            <div
              class="absolute -right-24 top-0 bg-neutral-800 border border-white/10 rounded-lg p-3 shadow-xl z-50 w-40 animate-[comment-pop_8s_ease-in-out_infinite] origin-bottom-left">
              <div class="flex items-center gap-2 mb-1.5">
                <div
                  class="flex text-[9px] font-bold text-black bg-gradient-to-tr from-green-500 to-emerald-400 w-5 h-5 border-white/10 border rounded-full items-center justify-center">
                  JD
                </div>
                <span class="text-[9px] text-neutral-500">Just now</span>
              </div>
              <div class="text-[11px] text-neutral-300 leading-snug">
                Can we make this texture more responsive?
              </div>
              <!-- Connector -->
              <div
                class="absolute bottom-4 -left-1.5 w-3 h-3 bg-neutral-800 border-b border-l border-white/10 transform rotate-45">
              </div>
            </div>
          </div>
        </div>

        <!-- User 1 Cursor (Sarah - Purple) -->
        <div class="absolute inset-0 flex items-center justify-center pointer-events-none z-20">
          <div class="animate-[cursor-float-1_12s_infinite_ease-in-out]">
            <svg class="w-5 h-5 text-purple-500 drop-shadow-[0_4px_12px_rgba(168,85,247,0.5)]" viewBox="0 0 24 24"
              fill="currentColor" style="transform: rotate(-25deg)">
              <path
                d="M5.5 3.21l10.8 5.4a1 1 0 0 1 .16 1.7l-4.2 2.1 2.1 4.2a1 1 0 0 1-1.8.9l-2.1-4.2-4.2 2.1a1 1 0 0 1-1.45-1.09l1.69-11.11z"
                class=""></path>
            </svg>
            <div
              class="ml-3.5 -mt-1 px-2 py-0.5 rounded-full bg-purple-500 text-[10px] font-bold text-white shadow-sm whitespace-nowrap opacity-90">
              Sarah
            </div>
          </div>
        </div>

        <!-- User 2 Cursor (John - Green) -->
        <div class="absolute inset-0 flex items-center justify-center pointer-events-none z-20">
          <div class="animate-[cursor-float-2_15s_infinite_ease-in-out_1s]">
            <svg class="w-5 h-5 text-green-500 drop-shadow-[0_4px_12px_rgba(34,197,94,0.5)]" viewBox="0 0 24 24"
              fill="currentColor" style="transform: rotate(-25deg)">
              <path
                d="M5.5 3.21l10.8 5.4a1 1 0 0 1 .16 1.7l-4.2 2.1 2.1 4.2a1 1 0 0 1-1.8.9l-2.1-4.2-4.2 2.1a1 1 0 0 1-1.45-1.09l1.69-11.11z"
                class=""></path>
            </svg>
            <div
              class="ml-3.5 -mt-1 px-2 py-0.5 rounded-full bg-green-500 text-[10px] font-bold text-black shadow-sm whitespace-nowrap opacity-90">
              John
            </div>
          </div>
        </div>
      </div>

      <!-- Bottom Status Bar -->
      <div class="absolute bottom-4 left-4 right-4 flex justify-between items-center">
        <div class="flex -space-x-2">
          <div
            class="w-8 h-8 rounded-full border-2 border-[#0A0A0A] bg-purple-500 flex items-center justify-center text-xs font-bold text-white">
            S
          </div>
          <div
            class="w-8 h-8 rounded-full border-2 border-[#0A0A0A] bg-green-500 flex items-center justify-center text-xs font-bold text-black">
            J
          </div>
          <div
            class="w-8 h-8 rounded-full border-2 border-[#0A0A0A] bg-neutral-700 flex items-center justify-center text-xs text-white text-[10px]">
            +2
          </div>
        </div>
        <div
          class="px-3 py-1 rounded-full bg-green-500/10 border border-green-500/20 text-green-400 text-[10px] uppercase tracking-wider font-mono flex items-center gap-2">
          <span class="w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse"></span>
          Live
        </div>
      </div>
    </div>
    <div class="order-1 lg:order-2 animate-on-scroll" style="animation-delay: 200ms;">
      <h3 class="text-3xl font-medium text-white tracking-tight font-display mb-4">
        Multiplayer by Default
      </h3>
      <p class="leading-relaxed text-lg text-neutral-400 mb-8">
        Work together in real-time. See cursors, share component states,
        and leave comments directly in 3D space. No more screen sharing.
      </p>
      <ul class="space-y-4">
        <li class="flex items-center gap-3 text-sm text-neutral-300">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-lucide="check"
            class="lucide lucide-check w-4 h-4 text-orange-500">
            <path d="M20 6 9 17l-5-5" class=""></path>
          </svg>
          Live cursor tracking
        </li>
        <li class="flex items-center gap-3 text-sm text-neutral-300">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-lucide="check"
            class="lucide lucide-check w-4 h-4 text-orange-500">
            <path d="M20 6 9 17l-5-5" class=""></path>
          </svg>
          Threaded spatial comments
        </li>
        <li class="flex items-center gap-3 text-sm text-neutral-300">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-lucide="check"
            class="lucide lucide-check w-4 h-4 text-orange-500">
            <path d="M20 6 9 17l-5-5" class=""></path>
          </svg>
          Version history &amp; rollback
        </li>
      </ul>
    </div>
  </div>

  <!-- Feature 2 -->
  <div class="grid grid-cols-1 lg:grid-cols-2 gap-16 gap-x-16 gap-y-16 items-center">
    <!-- Left Text Content -->
    <div class="flex flex-col justify-center animate-on-scroll">
      <h3 class="text-3xl font-medium text-white tracking-tight font-display mb-4">
        Optimized for Production
      </h3>
      <p class="leading-relaxed text-lg text-neutral-400 mb-8">
        Flux isn't just a prototyping tool. Our engine automatically
        optimizes geometries, compresses textures, and bakes lighting for
        maximum runtime performance.
      </p>
      <button class="group inline-flex items-center gap-2 text-sm text-white hover:text-orange-400 transition-colors w-fit">
              <span class="border-b border-orange-500/50 pb-0.5 group-hover:border-orange-400 transition-colors">
                Read the technical paper
              </span>
              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 transition-transform duration-300 group-hover:translate-x-1">
                <path d="M5 12h14" class=""></path>
                <path d="m12 5 7 7-7 7" class=""></path>
              </svg>
            </button>
    </div>

    <!-- Right Visual Schema -->
    <div
      class="aspect-square lg:aspect-video overflow-hidden flex flex-col group select-none bg-[#0A0A0A] border-white/10 border rounded-2xl relative animate-on-scroll"
      style="animation-delay: 200ms;">
      <style>
        @keyframes flux-packet-1 {
          0% {
            left: 24%;
            top: 25%;
            opacity: 0;
            transform: scale(0);
          }

          10% {
            opacity: 1;
            transform: scale(1);
          }

          50% {
            left: 50%;
            top: 50%;
            opacity: 1;
            transform: scale(0.5);
          }

          51% {
            opacity: 0;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes flux-packet-2 {
          0% {
            left: 24%;
            top: 50%;
            opacity: 0;
            transform: scale(0);
          }

          10% {
            opacity: 1;
            transform: scale(1);
          }

          50% {
            left: 50%;
            top: 50%;
            opacity: 1;
            transform: scale(0.5);
          }

          51% {
            opacity: 0;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes flux-packet-3 {
          0% {
            left: 24%;
            top: 75%;
            opacity: 0;
            transform: scale(0);
          }

          10% {
            opacity: 1;
            transform: scale(1);
          }

          50% {
            left: 50%;
            top: 50%;
            opacity: 1;
            transform: scale(0.5);
          }

          51% {
            opacity: 0;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes flux-spin {
          to {
            transform: rotate(360deg);
          }
        }

        @keyframes flux-dash {
          to {
            stroke-dashoffset: -8;
          }
        }
      </style>
      <div
        class="absolute inset-0 bg-[linear-gradient(rgba(255,255,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.03)_1px,transparent_1px)] bg-[size:32px_32px] [mask-image:radial-gradient(circle_at_center,black,transparent_80%)]">
      </div>
      <div class="absolute inset-0 flex items-center justify-center perspective-[1000px]">
        <div
          class="w-[90%] h-[80%] relative transform-style-3d transition-transform duration-700 group-hover:rotate-x-0 group-hover:rotate-y-0 rotate-x-6 rotate-y-[-6deg]">
          <div
            class="absolute inset-0 bg-neutral-900/40 backdrop-blur-md border border-white/10 rounded-xl flex items-center justify-between px-6 py-6 shadow-2xl overflow-hidden">
            <svg class="absolute inset-0 w-full h-full pointer-events-none z-0">
              <path d="M24% 25% C 40% 25%, 40% 50%, 50% 50%" stroke="url(#lineGrad1)" stroke-width="1.5" fill="none"
                class="opacity-20"></path>
              <path d="M24% 50% L 50% 50%" stroke="url(#lineGrad2)" stroke-width="1.5" fill="none" class="opacity-20">
              </path>
              <path d="M24% 75% C 40% 75%, 40% 50%, 50% 50%" stroke="url(#lineGrad3)" stroke-width="1.5" fill="none"
                class="opacity-20"></path>
              <line x1="50%" y1="50%" x2="72%" y2="50%" stroke="#10b981" stroke-width="1.5" stroke-dasharray="4 4"
                class="opacity-40" style="animation: flux-dash 1s linear infinite"></line>
              <defs class=""></defs>
            </svg>
            <div class="flex flex-col justify-between h-full py-4 z-10 w-28">
              <div
                class="flex items-center gap-2.5 p-2 rounded-lg bg-neutral-800/80 border border-white/5 backdrop-blur shadow-lg transform transition-transform group-hover:translate-x-1 duration-500">
                <div class="p-1.5 rounded bg-blue-500/20 text-blue-400">
                  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
                    class="">
                    <path
                      d="m12 3-1.9 5.8a2 2 0 0 1-1.2 1.2l-5.8 1.9 5.8 1.9a2 2 0 0 1 1.2 1.2l1.9 5.8 1.9-5.8a2 2 0 0 1 1.2-1.2l5.8-1.9-5.8-1.9a2 2 0 0 1-1.2-1.2l-1.9-5.8Z"
                      class=""></path>
                  </svg>
                </div>
                <div class="text-[9px] font-mono text-neutral-400">
                  GEOMETRY
                </div>
              </div>
              <div
                class="flex items-center gap-2.5 p-2 rounded-lg bg-neutral-800/80 border border-white/5 backdrop-blur shadow-lg transform transition-transform group-hover:translate-x-1 duration-500 delay-75">
                <div class="p-1.5 rounded bg-purple-500/20 text-purple-400">
                  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
                    class="">
                    <rect width="18" height="18" x="3" y="3" rx="2" class=""></rect>
                    <circle cx="8.5" cy="8.5" r="1.5" class=""></circle>
                    <path d="m21 15-5-5L5 21" class=""></path>
                  </svg>
                </div>
                <div class="text-[9px] font-mono text-neutral-400">
                  TEXTURES
                </div>
              </div>
              <div
                class="flex items-center gap-2.5 p-2 rounded-lg bg-neutral-800/80 border border-white/5 backdrop-blur shadow-lg transform transition-transform group-hover:translate-x-1 duration-500 delay-150">
                <div class="p-1.5 rounded bg-orange-500/20 text-orange-400">
                  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
                    class="">
                    <circle cx="12" cy="12" r="4" class=""></circle>
                    <path d="M12 2v2" class=""></path>
                    <path d="M12 20v2" class=""></path>
                    <path d="m4.93 4.93 1.41 1.41" class=""></path>
                    <path d="m17.66 17.66 1.41 1.41" class=""></path>
                    <path d="M2 12h2" class=""></path>
                    <path d="M20 12h2" class=""></path>
                    <path d="m6.34 17.66-1.41-1.41" class=""></path>
                    <path d="m19.07 4.93-1.41 1.41" class=""></path>
                  </svg>
                </div>
                <div class="text-[9px] font-mono text-neutral-400">
                  LIGHTING
                </div>
              </div>
            </div>
            <div class="z-20 relative w-24 h-24 flex items-center justify-center">
              <div class="absolute inset-0 bg-orange-500/10 rounded-full animate-ping opacity-20"></div>
              <div
                class="w-16 h-16 bg-neutral-900 rounded-full border border-orange-500/30 flex items-center justify-center shadow-[0_0_20px_rgba(249,115,22,0.3)] relative">
                <svg class="w-20 h-20 absolute text-orange-500/20" viewBox="0 0 100 100"
                  style="animation: flux-spin 10s linear infinite">
                  <circle cx="50" cy="50" r="48" stroke="currentColor" stroke-width="1" fill="none"
                    stroke-dasharray="10 20" class=""></circle>
                </svg>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
                  class="text-orange-500">
                  <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10" class=""></path>
                </svg>
              </div>
            </div>
            <div class="z-10 w-36">
              <div
                class="bg-neutral-800/90 border border-green-500/30 rounded-xl p-3 shadow-2xl relative overflow-hidden">
                <div class="absolute inset-0 bg-green-500/5"></div>
                <div class="flex flex-col gap-2 relative">
                  <div class="flex justify-between items-center border-b border-white/5 pb-2">
                    <span class="text-[10px] font-semibold text-green-400 uppercase tracking-wide">
                            Production
                          </span>
                    <div class="w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse"></div>
                  </div>
                  <div class="space-y-1.5">
                    <div class="flex justify-between text-[9px] text-neutral-400">
                      <span>Mesh</span>
                      <span class="text-neutral-200 font-mono">
                              Instanced
                            </span>
                    </div>
                    <div class="flex justify-between text-[9px] text-neutral-400">
                      <span>Tex</span>
                      <span class="text-neutral-200 font-mono">KTX2</span>
                    </div>
                    <div class="flex justify-between text-[9px] text-neutral-400">
                      <span>Light</span>
                      <span class="text-neutral-200 font-mono">
                              Baked
                            </span>
                    </div>
                  </div>
                  <div class="mt-2 pt-2 border-t border-white/5">
                    <div class="w-full bg-neutral-700 h-1 rounded-full overflow-hidden">
                      <div class="bg-green-500 w-[95%] h-full shadow-[0_0_8px_rgba(34,197,94,0.6)]"></div>
                    </div>
                    <div class="text-[8px] text-right mt-1 text-green-400 font-mono">
                      -85% Size
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="absolute w-1.5 h-1.5 bg-blue-400 rounded-full shadow-[0_0_8px_currentColor]"
              style="animation: flux-packet-1 3s linear infinite"></div>
            <div class="absolute w-1.5 h-1.5 bg-purple-400 rounded-full shadow-[0_0_8px_currentColor]"
              style="animation: flux-packet-2 3s linear infinite 1s"></div>
            <div class="absolute w-1.5 h-1.5 bg-orange-400 rounded-full shadow-[0_0_8px_currentColor]"
              style="animation: flux-packet-3 3s linear infinite 0.5s"></div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
All Prompts