ثلاثة مشاريع مدعومة من غوغل تُعرض لأول مرة في الدورة الثالثة والثمانين لمهرجان البندقية السينمائي الدولي

أكدت غوغل أن ثلاثة مشاريع دعمتها عُرضت لأول مرة خلال الدورة الثالثة والثمانين لمهرجان البندقية السينمائي الدولي، وفقًا لمنشور في مدونة الشركة بتاريخ 11 سبتمبر 2026. ويسلط الإعلان الضوء على مشاركة الشركة في السرد الغامر وأعمال الواقع الممتد التي عُرضت على مسرح مهرجان كبير، رغم أن التفاصيل المحددة حول كل مشروع تظل محدودة.

القراءة الصوتية غير متاحة في هذا المتصفح
ثلاثة مشاريع مدعومة من غوغل تُعرض لأول مرة في الدورة الثالثة والثمانين لمهرجان البندقية السينمائي الدولي

ملخص سريع

أكدت غوغل أن ثلاثة مشاريع دعمتها عُرضت لأول مرة خلال الدورة الثالثة والثمانين لمهرجان البندقية السينمائي الدولي، وفقًا لمنشور في مدونة الشركة بتاريخ 11 سبتمبر 2026. ويسلط الإعلان الضوء على مشاركة الشركة في السرد الغامر وأعمال الواقع الممتد التي عُرضت على مسرح مهرجان كبير، رغم أن التفاصيل المحددة حول كل مشروع تظل محدودة.

ثلاثة مشاريع مدعومة من Google تُعرض لأول مرة في مهرجان البندقية السينمائي الدولي الـ83

في 11 سبتمبر 2026، نشرت Google إعلانًا على مدونة الذكاء الاصطناعي الخاصة بها يفيد بأن ثلاثة مشاريع مدعومة من Google عُرضت لأول مرة خلال مهرجان البندقية السينمائي الدولي الـ83. المنشور مصنف في قسم تقنيات XR وAR في المدونة، ويبقى المصدر الأساسي الوحيد وراء هذا المقال.

هذه حقيقة موجزة ومحددة جيدًا، ويستحق التعامل معها بالانضباط نفسه الذي نتعامل به مع أي تقرير تقني آخر. تميل إعلانات من هذا النوع إلى جذب التخمينات: ما المشاريع، وبماذا بُنيت، وعلى أي أجهزة تعمل، ومتاحة لمن بعد ذلك. لا يكاد أي من ذلك يثبته المصدر المتاح هنا. لذلك يفعل هذا المقال أمرين. أولًا، يذكر بدقة ما يؤكده المصدر الأساسي، وأين يتوقف الدليل. ثانيًا، ولأن الإعلان يقع ضمن تغطية Google لتقنيتي XR وAR، فإنه يقدم إعدادًا تقنيًا قابلًا لإعادة الإنتاج للعمل العملي المحيط بالمشاريع الغامرة: تغليف مخرجات WebXR والتحقق منها ومعاينتها في المتصفح.

الأقسام التقنية أدناه مثال عملي مستقل. وهي ليست وصفًا للمشاريع الثلاثة التي عُرضت لأول مرة، إذ إن أدواتها وخطوط إنتاجها لا يثبتها المصدر.

ما يؤكده المصدر الأساسي

المحتوى الموثّق للإعلان ضيق، ويمكن سرده دون خطر إعادة الصياغة:

  • ثلاثة مشاريع مدعومة من Google عُرضت لأول مرة خلال مهرجان البندقية السينمائي الدولي الـ83.
  • نشرت Google الإعلان على مدونتها في 11 سبتمبر 2026.
  • يظهر المنشور تحت فئة تقنيات XR وAR في المدونة.
  • الموقع الأساسي للمنشور هو https://blog.google/innovation-and-ai/technology/xr-ar/three-google-supported-projects-premiere-during-the-83rd-venice-international-film-festival.

كل ما عدا ذلك — العناوين، وصانعو الأعمال، ومدة العرض، وطرازات سماعات الرأس، واختيارات المحركات، وهياكل التمويل، أو خطط التوزيع بعد المهرجان — إما غائب عن المقتطف الموثّق أو خاص بالصفحة المصدر نفسها. وحيثما تهم هذه التفاصيل، فإن التصرف الصحيح هو قراءة المنشور الأصلي مباشرة بدلًا من إعادة بنائه من ملخص.

ما لا يثبته المصدر

التوضيح الصريح للفراغات ليس تنطعًا؛ فهو ما يفصل بين موجز قابل للاستخدام وإشاعة.

لا يثبت الإعلان، في المادة الموثّقة المتاحة هنا:

  1. أسماء المشاريع الثلاثة أو الاستوديوهات والفنانين ومجموعات البحث التي تقف خلفها.
  2. ما يعنيه "مدعومة" في هذا السياق — التمويل، أو المساعدة التقنية، أو الوصول إلى الأجهزة، أو شراكة إنتاج، كلها محتملة ولا شيء منها مؤكد.
  3. الحزمة التقنية لأي مشروع، بما في ذلك ما إذا استُخدم WebXR أو محرك ألعاب أو بيئة تشغيل مخصصة.
  4. صيغة العرض في المهرجان، مثل تركيب بشاشة مثبتة على الرأس، أو عرض إسقاط، أو عمل AR للهاتف المحمول، أو عرض سينمائي تقليدي.
  5. الإتاحة بعد المهرجان، بما في ذلك البث، أو المعارض المتنقلة، أو المستودعات العامة.

أي مقال يقدم هذه التفاصيل دون الإشارة إلى المصدر إنما يخمّن. هذا المقال لا يفعل ذلك.

قراءة تصنيف XR/AR دون مبالغة في التأويل

تصنيف الفئة بيانات وصفية، وليس ادعاءً تقنيًا. المنشور المصنّف تحت XR وAR يخبرنا أين اختارت Google وضع القصة في تصنيفها الخاص؛ ولا يخبرنا بما تحتويه المشاريع. ومع ذلك، فإن الموضع إشارة معقولة إلى أن الإعلان يتعلق بعمل غامر أو عمل واقع ممتد، لا بإنتاج ثنائي الأبعاد تقليدي بحت، على سبيل المثال. ينبغي وصف هذا الاستنتاج بأنه استنتاج.

ما يمكن قوله بثقة أكبر هو أمر بنيوي. أصبحت المهرجانات أحد الأماكن القليلة التي يصل فيها العمل الغامر إلى جماهير خارج غرفة معيشة مالك سماعة الرأس، لأنها توفر الأجهزة والإشراف وجمهورًا محدد الموعد. وهذا يجعل المهرجانات قناة توزيع بقيود غير معتادة: فترات زمنية محدودة، وأجهزة ثابتة، ولا عملية مراجعة من متجر تطبيقات، وغالبًا لا فرصة ثانية إذا فشل الإصدار في موقع العرض.

بالنسبة للفرق في هذه البيئة، نادرًا ما تكون الفكرة الإبداعية هي عنق الزجاجة التقني. بل خط أنابيب التسليم — جعل مشهد ما يُحمّل بشكل موثوق، على أجهزة لم تخترها، ضمن نافذة زمنية لا يمكنك تمديدها. التسليم الغامر القائم على المتصفح، عادة عبر WebXR، جاذب تحديدًا لأنه يزيل دورة مراجعة المتجر ويعمل على أجهزة موجودة أصلًا في القاعة. يبني بقية هذا المقال بيئة دنيا قابلة لإعادة الإنتاج لهذا العمل.

المتطلبات

قبل البدء، تأكد من توفر ما يلي على محطة عملك:

  • Node.js 20 LTS أو أحدث مع npm، ويُستخدم لأدوات البناء وواجهة سطر أوامر الأصول.
  • Python 3.10 أو أحدث، ويُستخدم لنصوص التحقق وإنشاء البيان.
  • متصفح يدعم WebXR على سطح المكتب لإجراء الفحوصات الأولية، مثل إصدار حديث من متصفح قائم على Chromium.
  • اختياريًا، سماعة رأس مستقلة أو موصولة مع متصفح يدعم الجلسات الغامرة.
  • Git، حتى يمكن إيداع المشروع ومراجعته.
  • وصول إلى الشبكة إلى سجل npm أثناء التثبيت.

لا حاجة إلى سماعة رأس لإكمال خطوات التثبيت؛ مسار المعاينة على سطح المكتب يعمل دونها.

التثبيت خطوة بخطوة

1. التحقق من سلسلة الأدوات

تأكد من إصدارات Node.js وnpm قبل إنشاء أي هيكل، لأن قالب Vite يتوقع بيئة تشغيل حديثة.

node --version
npm --version

تأكد أيضًا من مفسّر Python؛ إذ يستخدم نص التحقق المكتبة القياسية فقط، لذا لا تُشترط حزم بيئة افتراضية بشكل صارم.

python3 --version

2. إنشاء هيكل المشروع

أنشئ مشروع Vite أدنى في دليل جديد. تُنتج راية --template vanilla مشروع JavaScript عاديًا دون إطار عمل، ما يُبقي نطاق المراجعة صغيرًا.

npm create vite@latest immersive-review -- --template vanilla
cd immersive-review
npm install

3. إضافة تبعيات وقت التشغيل والتطوير

ثبّت three.js، الذي يوفر مُصيّر WebGL ومساعدات WebXR المستخدمة في مشهد المعاينة.

npm install three

ثبّت إضافة SSL الأساسية حتى يتمكن خادم التطوير من تقديم HTTPS. هذا مهم لأن جلسات WebXR تتطلب سياقًا آمنًا، وسماعة رأس تتصل عبر الشبكة المحلية لن تعتبر عنوان HTTP عاديًا آمنًا.

npm install --save-dev @vitejs/plugin-basic-ssl

ثبّت glTF Transform CLI، ويُستخدم لاحقًا لفحص أصول glTF الثنائية وتحسينها قبل شحنها.

npm install --save-dev @gltf-transform/cli

أنشئ المجلدات التي تحتوي على الأصول العامة ومصدر التطبيق.

mkdir -p public/assets src

4. تهيئة خادم التطوير

استبدل ملف vite.config.js المُنشأ بالإعداد التالي. يكشف الإعداد host: true الخادم على الشبكة المحلية حتى تتمكن سماعة الرأس من الوصول إليه، وتوفر إضافة SSL الشهادة التي تجعل الأصل آمنًا.

import { defineConfig } from 'vite';
import basicSsl from '@vitejs/plugin-basic-ssl';

export default defineConfig({
  plugins: [basicSsl()],
  server: {
    host: true,   // reachable from a headset on the same network
    https: true,  // WebXR requires a secure context
  },
});

5. إضافة مشهد معاينة WebXR أدنى

اكتب ما يلي في src/main.js. ينشئ مُصيّرًا مع تمكين XR، ويضيف زر الدخول القياسي إلى VR، ويحرّك مكعبًا واحدًا حتى يمكن التحقق سريعًا من تتبع الرأس والعرض المجسم.

import * as THREE from 'three';
import { VRButton } from 'three/addons/webxr/VRButton.js';

const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.xr.enabled = true;
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
document.body.appendChild(VRButton.createButton(renderer));

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 0.1, 20);

const cube = new THREE.Mesh(
  new THREE.BoxGeometry(0.5, 0.5, 0.5),
  new THREE.MeshStandardMaterial({ color: 0x4285f4 })
);
cube.position.set(0, 1.5, -1);
scene.add(cube);
scene.add(new THREE.HemisphereLight(0xffffff, 0x444444, 1.2));

renderer.setAnimationLoop(() => {
  cube.rotation.y += 0.005;
  renderer.render(scene, camera);
});

تأكد من أن index.html يحمّل نقطة دخول الوحدة؛ إذ يتضمن قالب Vite بالفعل الوسم الصحيح.

<script type="module" src="/src/main.js"></script>

6. إضافة مدقق glTF ثنائي

تبدأ ملفات glTF الثنائية بترويسة ثابتة وكتلة JSON. يفحص النص التالي هذه البنية مباشرة، ما يلتقط التنزيلات المقطوعة والملفات التي أُعيدت تسميتها إلى .glb دون تحويل. احفظه باسم validate_glb.py.

import json
import struct
import sys
from pathlib import Path

MAGIC = b"glTF"


def inspect_glb(path: str) -> dict:
    data = Path(path).read_bytes()
    magic, version, length = struct.unpack_from("<4sII", data, 0)
    if magic != MAGIC:
        raise ValueError(f"{path} is not a binary glTF file")
    if length != len(data):
        raise ValueError(f"{path}: header length {length} != file size {len(data)}")
    chunk_len, chunk_type = struct.unpack_from("<I4s", data, 12)
    if chunk_type != b"JSON":
        raise ValueError(f"{path}: first chunk is not JSON")
    doc = json.loads(data[20:20 + chunk_len].decode("utf-8"))
    return {
        "version": version,
        "asset_version": doc.get("asset", {}).get("version"),
        "meshes": len(doc.get("meshes", [])),
        "materials": len(doc.get("materials", [])),
    }


if __name__ == "__main__":
    print(inspect_glb(sys.argv[1]))

7. إضافة مُولّد بيان الأصول

أنشئ بيان تحقق من المجموع الاختباري لكل أصل في حزمة المراجعة. يمنح هذا المراجعين طريقة لتأكيد أن الإصدار الذي عاينوه هو الإصدار الذي قُدّم. احفظه باسم build_manifest.py.

import hashlib
import json
from pathlib import Path

ROOT = Path("public/assets")
EXTENSIONS = {".glb", ".gltf", ".usdz", ".ktx2", ".mp4", ".webm"}


def sha256(path: Path) -> str:
    digest = hashlib.sha256()
    with path.open("rb") as handle:
        for chunk in iter(lambda: handle.read(1 << 20), b""):
            digest.update(chunk)
    return digest.hexdigest()


manifest = {
    path.relative_to(ROOT).as_posix(): {
        "bytes": path.stat().st_size,
        "sha256": sha256(path),
    }
    for path in sorted(ROOT.rglob("*"))
    if path.is_file() and path.suffix.lower() in EXTENSIONS
}

Path("asset-manifest.json").write_text(json.dumps(manifest, indent=2))
print(f"Wrote {len(manifest)} entries")

أمثلة الاستخدام

معاينة المشهد محليًا

ابدأ خادم التطوير. يطبع Vite عنوانًا محليًا وعنوان شبكة؛ عنوان الشبكة هو الذي يمكن لسماعة الرأس فتحه.

npm run dev

افتح عنوان HTTPS المطبوع في متصفح سطح المكتب. يظهر زر "Enter VR" في أسفل الصفحة. على سماعة الرأس، افتح عنوان الشبكة نفسه في متصفح الجهاز واختر الزر لبدء جلسة غامرة.

للتحقق من دعم الجلسة برمجيًا قبل مطالبة المستخدم، أضف المقتطف التالي إلى التطبيق. يُحل استدعاء isSessionSupported إلى قيمة منطقية ولا يتطلب من المستخدم منح إذن.

if (navigator.xr) {
  const supported = await navigator.xr.isSessionSupported('immersive-vr');
  console.log('immersive-vr supported:', supported);
}

التحقق من أصل قبل شحنه

شغّل المدقق على أي ملف .glb في الحزمة. تطبع الجولة الناجحة الإصدار وعدد الشبكات والمواد؛ ويثير الفشل خطأ واضحًا يصف فحص البنية الذي فشل.

python validate_glb.py public/assets/scene.glb

لتقرير بنيوي أعمق، يتضمن أحجام القوام وعدد الرسوم المتحركة، استخدم glTF Transform CLI.

npx gltf-transform inspect public/assets/scene.glb

لإنتاج إصدار مراجعة أصغر، شغّل المُحسّن. يعيد كتابة الملف إلى مسار إخراج جديد حتى يُحفظ الأصل للمقارنة.

npx gltf-transform optimize public/assets/scene.glb public/assets/scene.review.glb --texture-compress webp

إنشاء بيان مراجعة

أنشئ بيان التحقق من المجموع الاختباري بعد أن تصبح الأصول نهائية، وأودع JSON الناتج إلى جانب المصدر. يمكن للمراجعين بعد ذلك إعادة تشغيل النص ومقارنة التجزئات لتأكيد أن الإصدار المعاين يطابق الإصدار المقدّم.

python build_manifest.py

إعادة إنتاج خط الأنابيب في التكامل المستمر

يخرج نصّا Python بحالة غير صفرية عند فشل أي تأكيد، لذا يمكن ربطهما بأي مهمة CI لديها مفسّر Python.

python validate_glb.py public/assets/scene.glb && python build_manifest.py

القيود وملاحظات التحقق

ثمة ثلاثة قيود عملية يجدر ذكرها بوضوح.

أولًا، فحص ترويسة glTF يتحقق من بنية الحاوية فقط. يؤكد أن الملف glTF ثنائي جيد التكوين وأن طوله المعلن يطابق حجمه الفعلي. ولا يتحقق من الهندسة، أو مخططات المواد، أو ما إذا كان المُصيّر سيرسم المشهد بشكل صحيح. تغطي خطوة فحص glTF Transform مساحة أكبر لكنها لا تزال ليست بديلًا عن العرض على الأجهزة المستهدفة.

ثانيًا، إضافة SSL المستخدمة هنا هي تسهيل للتطوير. تولّد شهادة موقعة ذاتيًا، ستحذّر المتصفحات منها، وهي غير مناسبة لنشر عام. يجب أن تستخدم الاستضافة الإنتاجية شهادة من جهة موثوقة.

ثالثًا، مشهد المعاينة أدنى عمدًا. وهو موجود لتأكيد أن سماعة الرأس يمكنها إنشاء جلسة وأن الأصول تُحمّل، لا ليمثل أي مقاربة فنية أو تقنية معينة.

وعند تطبيق ذلك على الإعلان نفسه، ينطبق الانضباط ذاته. الحقيقة الموثّقة هي أن ثلاثة مشاريع مدعومة من Google عُرضت لأول مرة في مهرجان البندقية السينمائي الدولي الـ83، وأعلنت عنها Google في 11 سبتمبر 2026 ضمن فئتها XR وAR. كل ما هو أبعد من ذلك يخص الصفحة المصدر وفرق المشاريع نفسها. إن التعامل مع تصنيف الفئة كفرضية لا كاكتشاف يبقي التقرير صادقًا، وبناء خط أنابيب تحقق صغير قابل لإعادة الإنتاج يبقي العمل التقني موثوقًا.

الخاتمة

العرض الأول في البندقية علامة فارقة تستحق التسجيل بدقة: ثلاثة مشاريع مدعومة، ومهرجان واحد، وإعلان مؤرخ، ومصدر أساسي واحد. وحيثما يكون الدليل ضعيفًا، فإن المساهمة المفيدة ليست تخمينًا بل حدًا واضحًا — إضافة إلى أدوات تساعد المشروع الغامر التالي على الشحن دون مفاجآت. الإعداد الموصوف أعلاه يُثبّت في بضع دقائق، ويعمل دون سماعة رأس، وينتج أثرين مهمين في أي سياق مراجعة: تحقق بنيوي من كل أصل ثنائي، وبيان تحقق من المجموع الاختباري يثبت ما تمت معاينته. وبالنسبة للفرق التي تعد أعمالًا في مجال XR وAR، فإن هذه التركيبة ميزة صغيرة لكنها متينة، وهي تبقي الحقائق الموثّقة عن البندقية 2026 في مكانها الصحيح تمامًا: مرتبطة بالمصدر.

المصادر