خلفية الالتقاط
الملف: src/interaction/picking.rs
ماذا يفعل؟
- يقرأ مواضع المؤشر.
- يحول المؤشر من viewport إلى world.
- يختبر كل عنصر مرشح عبر SDF rounded box.
- يستبعد الضربات المقصوصة بواسطة الآباء (
UClip). - يحذف hit الأب إذا يوجد hit ابن أعمق في نفس المسار.
تفاصيل مهمة
- الاستعلام الأساسي يستهدف الكيانات التي تحمل
UInteraction. - العمق النهائي يجمع:
- عمق الشجرة
- ترجمة Z
دقة القص
is_clipped_by_ancestors:
- يصعد في شجرة الآباء.
- يحول نقطة المؤشر إلى الإحداثيات المحلية لكل سلف قاص.
- يطبق
sd_rounded_boxعلى حدود clip.
هذا يجعل الالتقاط متسقًا مع منطق القص المرئي.