Loading blog posts...
Loading blog posts...
جاري التحميل...

معظم الأدلة حول تطوير المواقع بالذكاء الاصطناعي مجرد روبوت محادثة ينتج قوالب Bootstrap. هذا ليس كذلك. الفرق تستخدم Fable 5 عبر Claude Code لبناء مواقع ثلاثية الأبعاد متحركة تتمرر وتدور وتتفاعل - النوع من العمل الذي كان يتطلب إحضار متخصص Three.js مخصص وحرق أسابيع من الجدول الزمني.
Fable 5 هو مستوى نموذج Anthropic المركز على التفكير والمتاح عبر Claude Code. في بناء المواقع، يتولى التفكير الثقيل لتحويل نية التصميم إلى WebGL فعال، والرسوم المتحركة المحفزة بالتمرير، والتخطيط المتجاوب - غالباً في جلسة واحدة.
textابن صفحة عرض منتج ثلاثية الأبعاد. القسم الرئيسي يحتوي على هاتف ذكي عائم يدور مع التمرير. استخدم Three.js مع react-three-fiber. أضف GSAP ScrollTrigger لمزامنة الدوران. اجعلها تبدو مثل صفحة منتج Apple.
هذا الطلب (أو شيء قريب منه) أنتج نماذج أولية عاملة لعدة مطورين خلال الأسابيع القليلة الماضية. النموذج يربط موضع التمرير بالتحويلات ثلاثية الأبعاد، وينتج منطق intersection observer، ويوصل الجدول الزمني للرسوم المتحركة دون أن تضطر لربط كل شيء يدوياً. أحد المطورين بنى نموذج أولي لعرض مقاعد ملعب كرة القدم حيث يمكن للمستخدمين معاينة منظرهم من أي مقعد. الطلب الأول وصل لتجربة ثلاثية أبعاد عاملة. خمسة طلبات إجمالية أنهت النموذج الأولي.
Note
وصول Fable 5 والتسعير تغير بعد 19 يوليو 2025. تحقق من مستويات اشتراك Claude Code الحالية قبل التخطيط لمشروع حول هذا التدفق.
عبر مستودعات GitHub والمنشورات الاجتماعية، مجموعة متسقة تظهر باستمرار:
| المكون | الأداة | الدور |
|---|---|---|
| العرض ثلاثي الأبعاد | Three.js / react-three-fiber | مشاهد WebGL، النماذج، الإضاءة |
| رسوم التمرير المتحركة | GSAP ScrollTrigger | مزامنة الجدول الزمني مع موضع التمرير |
| التمرير السلس | Lenis | إحساس التمرير القائم على الزخم |
| الإطار | React / Next.js | هيكل المكونات، التوجيه |
| تنسيق الذكاء الاصطناعي | Claude Code + Fable 5 | توليد الكود، إصلاح الأخطاء |
مستودع fable5-websites يظهر هذا الإعداد مع إحدى عشرة صفحة هبوط في قاعدة كود React واحدة. يتضمن محاكي نظام شمسي، وصفحات منتج سينمائية، وتصاميم خاصة بالصناعة - كلها مولدة عبر جلسات Claude Code.
javascript// إعداد الدوران ثلاثي الأبعاد المحفز بالتمرير النموذجي import { useScroll } from '@react-three/drei' import { useFrame } from '@react-three/fiber' function RotatingProduct({ children }) { const scroll = useScroll() const meshRef = useRef() useFrame(() => { const scrollOffset = scroll.offset meshRef.current.rotation.y = scrollOffset * Math.PI * 2 meshRef.current.position.y = Math.sin(scrollOffset * Math.PI) * 0.5 }) return <mesh ref={meshRef}>{children}</mesh> }
خطاف useScroll من drei يعطيك قيمة مطبعة 0-1 لتقدم التمرير. اضرب في Math.PI * 2 وتحصل على دوران كامل عبر طول الصفحة. دالة الجيب على موضع y تضيف ذلك الإحساس العائم المميز: الكائن يرتفع وينخفض أثناء التمرير، ويبلغ ذروته حول المنتصف.

ابدأ بطلب منظم يحدد اللغة البصرية قبل طلب الكود:
textأنشئ صفحة هبوط لمنتج سماعات رأس لاسلكية. المتطلبات: النمط البصري: - خلفية داكنة (#0a0a0a) - لون مميز: أزرق كهربائي (#00d4ff) - الطباعة: Inter للنص، Space Grotesk للعناوين القسم الرئيسي: - نموذج سماعة رأس ثلاثي الأبعاد عائم وسط الشاشة - النموذج يدور 360 درجة عبر تمرير الصفحة الكامل - حقل جسيمات خفيف في الخلفية - النص يظهر تدريجياً عند 20% تمرير المجموعة التقنية: - React مع TypeScript - Three.js عبر react-three-fiber - GSAP ScrollTrigger لمزامنة التمرير - Tailwind CSS للتخطيط ابدأ بهيكل المشروع، ثم ابن كل مكون.
التحديد هو صانع الفرق. الطلبات الغامضة عادة تعطيك مخرجات عامة. إذا حددت الألوان ونسب التمرير وسلوك الرسوم المتحركة، فإن Fable 5 لديه قيود كافية لتوليد كود أقرب للقابل للشحن بدلاً من سقالة مؤقتة.
Tip
اشمل إعلان مجموعة تقنية في كل طلب. Fable 5 يميل لاختيار افتراضات معقولة، لكن المتطلبات الصريحة تمنعك من إعادة العمل في منتصف التدفق لأنه اختار مكتبة رسوم متحركة مختلفة عما يتوقعه مشروعك.
المطورون الذين يحصلون على نتائج متسقة يميلون لوصف التجربة، وليس تفاصيل التنفيذ.
textيجب أن تشعر الصفحة وكأنك تتمرر عبر معرض متحف. كل قسم يكشف نفسه بينما يتلاشى السابق. النموذج ثلاثي الأبعاد يبقى ثابتاً في منفذ العرض بينما المحتوى يتمرر بجانبه. في القسم الأخير، النموذج يقترب من الكاميرا وينتقل إلى دعوة شراء.
قارن ذلك بـ:
textأضف رسوم متحركة للتمرير للصفحة. اجعل النموذج ثلاثي الأبعاد يتحرك.
الطلب الأول يعطي Fable 5 صورة ذهنية واضحة لما يجب أن يشعر به المستخدم. يمكنه استنتاج أن "معرض متحف" يعني إيقاع متعمد، وأن "يكشف نفسه" يشير لانتقالات الشفافية، وأن "يقترب من الكاميرا" يعني ترجمة المحور z. الطلب الثاني يترك تقريباً كل خيار للافتراضات، وهنا تبدأ المشاريع تبدو عامة.
مستودع 3d-webpage-kit يلتقط هذا النهج مع "مهارات" قابلة للإعادة - قوالب طلبات تشفر أنماط رسوم متحركة محددة:
textالمهارة: scroll-hero رموز العلامة التجارية: [PRIMARY_COLOR], [ACCENT_COLOR], [FONT_HEADING], [FONT_BODY] السلوك: - البطل يشغل 100vh - النموذج ثلاثي الأبعاد يعرض بعرض 60% من منفذ العرض - تقدم التمرير 0-50%: النموذج يدور على المحور Y - تقدم التمرير 50-100%: النموذج يتدرج من 1.0 إلى 0.6، ينتقل للثلث الأيسر - محتوى النص يدخل من اليمين عند 60% تمرير المخرج: مكون React مع TypeScript، GSAP ScrollTrigger، react-three-fiber
نمط القالب هذا يوفر الوقت لأنك لا تعيد كتابة نفس "شكل" المتطلبات في كل مرة. بدل رموز العلامة التجارية، اضبط النسب، والسلوك يبقى متسقاً.

Fable 5 يمكنه توليد كود يعمل، لكن "يعمل" و"يعمل جيداً" ليسا نفس الشيء. بعض المشاكل تظهر باستمرار:
javascript// المشكلة: إعادة حساب في كل إطار useFrame(() => { const box = new THREE.Box3().setFromObject(meshRef.current) // حساب ثقيل كل 16ms }) // الحل: تخزين الحسابات المكلفة مؤقتاً const boundingBox = useMemo(() => { return new THREE.Box3().setFromObject(meshRef.current) }, [meshRef.current])
إنشاء كائنات جديدة داخل useFrame يمكن أن يحفز ارتفاعات جمع القمامة. كل شيء يبدو جيداً على جهاز التطوير، ثم الأداء ينهار على الهاتف المحمول أو بمجرد أن يصبح المشهد أثقل. نقل الحساب إلى useMemo يعني أنه يعمل مرة واحدة ويتم تخزينه مؤقتاً.
javascript// المشكلة: معالجة DOM مباشرة window.addEventListener('scroll', () => { element.style.transform = `translateY(${window.scrollY}px)` }) // الحل: استخدم معالجة التمرير المحسنة من GSAP gsap.to(element, { y: () => window.innerHeight, ease: 'none', scrollTrigger: { trigger: section, start: 'top bottom', end: 'bottom top', scrub: true } })
ScrollTrigger من GSAP يستخدم requestAnimationFrame داخلياً ويجمع تحديثات DOM. مستمع التمرير الساذج يطلق على كل حدث تمرير - بسهولة 100+ مرة في الثانية على لوحة اللمس - ويجبر إعادة حساب التخطيط في كل مرة.
Warning
Fable 5 أحياناً يولد مستمعي تمرير بدون تنظيف. تأكد دائماً أن خطافات useEffect ترجع دوال تنظيف، أو المستمعون سيتراكمون على التنقل ويمكن أن يعطلوا التبويب في النهاية.
اختبار مقارنة مباشر شغل نفس مشروع الملعب ثلاثي الأبعاد عبر Fable 5 و Kimi K3:
| المقياس | Fable 5 | Kimi K3 |
|---|---|---|
| الوقت للنموذج الأولي العامل | أقل من ساعة | تقريباً 3 ساعات |
| تنظيم الكود | وظيفي، يحتاج بعض التنظيف | هيكل React أنظف |
| تغطية الاختبار | قليلة | تحقق أقوى |
| سرعة التكرار | سريع، أحياناً يتخطى الحالات الحدية | أبطأ، أكثر شمولية |
Fable 5 يميل للتحسين للسرعة لأول نسخة عاملة. Kimi K3 يميل أكثر نحو جودة الكود والاختبار. إذا كان الهدف عرض عميل أو نموذج أولي سريع، مقايضة Fable 5 عادة منطقية. إذا كان المخرج يحتاج للتوسع داخل قاعدة كود إنتاج أكبر، قضاء وقت إضافي على الهندسة والتحقق غالباً يؤتي ثماره.

الانتقال من "عرض يعمل" إلى "موقع يشحن" لا يزال يتطلب خطوات لن يغطيها Fable 5 تلقائياً:
النماذج ثلاثية الأبعاد تحتاج ضغط قبل النشر. GLTF بحجم 50MB قد يحمل في التطوير، لكنه سيدمر أوقات تحميل الإنتاج.
bash# تثبيت gltf-transform CLI npm install -g @gltf-transform/cli # ضغط وتحسين النموذج gltf-transform optimize input.glb output.glb --compress draco
ضغط Draco عادة يقطع حجم النموذج بـ 80-90% مع فقدان بصري قليل. في معظم تدفقات العمل، كل أصل ثلاثي أبعاد يجب أن يمر بهذا قبل أن يصل للمستودع.
typescriptimport { Suspense } from 'react' import { useProgress, Html } from '@react-three/drei' function Loader() { const { progress } = useProgress() return <Html center>{progress.toFixed(0)}% محمل</Html> } function Scene() { return ( <Suspense fallback={<Loader />}> <ProductModel /> </Suspense> ) }
خطاف useProgress من drei يتتبع التحميل عبر كل استدعاءات useLoader في المشهد. بدون حالة تحميل، المستخدمون يمكن أن يحدقوا في لوحة فارغة لثوان بينما النماذج تحمل - وهذه طريقة سريعة لفقدانهم.
ليس كل جهاز يمكنه تشغيل WebGL بسلاسة. اكتشف القدرة وقدم بديل:
typescriptimport { useDetectGPU } from '@react-three/drei' function AdaptiveScene() { const GPUTier = useDetectGPU() if (GPUTier.tier < 2) { return <StaticImageFallback /> } return <Full3DScene /> }
كشف مستوى GPU يشغل معيار سريع عند التحميل. أجهزة المستوى 0-1 تحصل على صورة ثابتة أو رسوم متحركة CSS فقط. أجهزة المستوى 2+ تحصل على التجربة ثلاثية الأبعاد الكاملة. هذه واحدة من تلك الحركات التي تمنع معدلات تحويل الهاتف المحمول من الانهيار بصمت.
محادثة التكلفة حول Fable 5 حقيقية. اشتراكات Claude Code تشمل اعتمادات استخدام، وتوليد ثلاثي الأبعاد معقد يمكن أن يحرقها أسرع من مهام البرمجة النموذجية.
الاستراتيجيات التي يستخدمها المطورون:
نقاش Reddit يقترح أن النموذج يناسب أفضل المستخدمين المتقدمين، والشركات الناشئة مع قواعد كود غير حساسة، والمبدعين الذين يمكنهم تبرير التكلفة من خلال عمل العملاء أو إنشاء المحتوى.
ابدأ هنا استنسخ مستودع fable5-websites وشغل أحد المواقع الإحدى عشر المثال محلياً. انظر عبر هيكل المكونات قبل توليد موقعك.
انتصارات سريعة
غوص عميق
الانتقال من صفحات ثابتة مولدة بالذكاء الاصطناعي إلى تجارب ثلاثية أبعاد متحركة قفزة قدرة حقيقية. Fable 5 عبر Claude Code يمكنه التعامل مع العبء الذهني لربط موضع التمرير بالتحويلات ثلاثية الأبعاد، وإدارة جداول الرسوم المتحركة الزمنية، والعمل عبر غرائب WebGL - عمل كان يتطلب خبرة متخصصة.
ما يُفوت غالباً: النموذج ليس كامل التدفق. هيكل الطلب، والقوالب القابلة للإعادة، وتحسين الأصول، واختبار الأداء هي ما تقرر ما إذا كان مخرجك يشحن أم يبقى عرض.
للفرق التي تبني بالفعل مع Three.js و GSAP، هذا يمكن أن يسرع ما تعرف كيف تفعله بالفعل. للفرق الجديدة على تطوير الويب ثلاثي الأبعاد، يخفض الحاجز بما يكفي لتجربة الأفكار دون الالتزام بمنحنى تعلم متعدد الأسابيع. في كلا الحالتين، المستودعات والأمثلة التي تظهر الآن تعطيك مكان ملموس للبدء.