--- name: pascal-editor description: | Pascal Editor — محرر بناء 3D مفتوح المصدر يشتغل في المتصفح. بديل خفيف لـ Revit/AutoCAD للتصاميم الأولية، floor plans، concept design، interior layout، roof studies. استخدامات: (1) توليد 3D scenes من natural-language brief (villa, apartment, office)، (2) رسم floor plans سريع للمشاريع السكنية/التجارية، (3) preparing presentation models لـ KCPC tenders/method statements، (4) تصدير GLB/STL/OBJ للـ rendering pipelines، (5) self-hosted instance لاستخدامات الفريق، (6) headless scene generation عبر @pascal-app/core في Node.js. ---
Pascal Editor — 3D Building Editor
🎯 ما هو Pascal Editor
محرر بناء 3D مفتوح المصدر يشتغل بالكامل داخل المتصفح بدون تنزيل ولا ترخيص.
- GitHub:
github.com/pascalorg/editor(15.5k ⭐, MIT-friendly) - Live demo:
https://editor.pascal.app - Self-host docs:
https://pascaleditor.app - التقنية: React Three Fiber + Three.js + WebGPU + Zustand + IndexedDB
- حزم npm:
@pascal-app/core,@pascal-app/viewer - المطور: Wassim Chegham (wass08)
✅ القدرات الحالية (v0.3+)
| الفئة | الميزات | |---|---| | هيكل | Walls (مع miter joints + CSG), Slabs, Levels, Ceilings, Roofs (متعددة) | | فتحات | Doors, Windows مع CSG cutouts، editable position/dimension | | داخلي | Furniture/items placement، item lighting، material picker لكل عنصر | | رؤية | 2D floorplan view + 3D real-time view متزامنين | | AI | Natural-language brief generator ("villa with pool", "two-story home") | | تصدير | GLB ✅ · STL ✅ · OBJ ✅ · IFC ❌ (Issue #219) · DWG ❌ | | استمرارية | IndexedDB persistence + undo/redo + community sharing |
❌ القيود (مهم نعرفها)
- لا تصدير IFC — لا تكامل BIM مباشر مع Revit/ArchiCAD/Tekla بعد
- لا تحليل إنشائي — مش بديل لـ ETABS/SAP2000/STAAD
- لا MEP/Plumbing/Electrical layers
- لا quantity takeoff / BOQ تلقائي
- لا dimensions/annotations بالطريقة المعتمدة لـ shop drawings
🔧 طرق الاستخدام
الطريقة 1: المتصفح المباشر (الأسرع)
URL: https://editor.pascal.app
- يفتح فوراً، بدون تسجيل
- يحفظ تلقائياً في IndexedDB
- تسجيل دخول (Google) → يحفظ في الـ cloud + يسمح بالمشاركة
الطريقة 2: Self-Hosted Instance (التحت سيطرتنا)
انظر:/data/.openclaw/workspace/projects/pascal-editor-selfhost/DEPLOYMENT_PLAN.md
- Hostinger VPS (KVM 2) جاهز
- ينتظر تفعيل domain لـ د. وائل
- نص deployment script جاهز للتشغيل في 30 دقيقة
الطريقة 3: Headless API عبر @pascal-app/core
bash
npm install @pascal-app/core @pascal-app/viewer three @react-three/fiber
javascript
import { WallNode, SlabNode, useScene } from '@pascal-app/core';// أنشئ جدار من نقطة (0,0) إلى (5,0) بارتفاع 3م وسماكة 20سم
const wall = WallNode.parse({
points: [[0, 0], [5, 0]],
height: 3,
thickness: 0.2
});
useScene.getState().createNode(wall, parentLevelId);
استخدام رئيسي: توليد scenes من Method Statements أو descriptions بشكل programmatic.
🛠️ Workflows الجاهزة
Workflow 1: من Brief نصي → 3D Model
1. افتح editor.pascal.app
2. في الـ landing prompt اكتب الـ brief (عربي أو إنجليزي):
"فيلا دورين، 4 غرف نوم، صالة كبيرة، حمام سباحة"
3. اضغط Enter → يولّد البنية الأساسية تلقائياً
4. عدّل في 3D view أو 2D floorplan
5. صدّر GLB للـ rendering أو OBJ للـ Blender
Workflow 2: Floor Plan لتقديم KCPC
1. ابدأ بـ "Studio loft" أو "Modern apartment" template
2. ارسم الجدران بـ Wall tool حسب الأبعاد الحقيقية
3. أضف Slabs لكل طابق
4. أضف Doors/Windows في المواقع المعتمدة
5. ضع furniture للـ scale reference
6. صدّر GLB → افتحه في Blender/Three.js للـ rendering
7. خذ snapshots من زوايا متعددة للـ presentation
Workflow 3: Concept Model من Sketch
1. ارفع صورة sketch كـ Guide image في Pascal (GuideNode)
2. ارسم فوقها بـ Wall tool لمطابقة الأبعاد
3. أضف levels للطوابق
4. صدّر GLB كـ deliverable للعميل
📋 Node Types (للـ headless integration)
| النوع | الوصف |
|---|---|
| SiteNode | الموقع الإجمالي للمشروع |
| BuildingNode | مبنى داخل الموقع |
| LevelNode | طابق داخل المبنى |
| WallNode | جدار مع فتحات اختيارية |
| SlabNode | بلاطة أرضية أو سقف |
| CeilingNode | سقف داخلي |
| RoofNode | سقف خارجي (gable, hip, flat...) |
| DoorNode | باب مع CSG cutout |
| WindowNode | نافذة مع CSG cutout |
| ItemNode | فرنيتشر أو item (model + position) |
| GuideNode | صورة 2D كمرجع للرسم |
🚀 Quick Reference
bash
Live demo (لا يحتاج install)
open https://editor.pascal.appSelf-host (after Hostinger VPS deployment)
انظر projects/pascal-editor-selfhost/DEPLOYMENT_PLAN.md
Clone للتطوير المحلي
git clone https://github.com/pascalorg/editor.git
cd editor && pnpm install && pnpm dev
→ http://localhost:3000
Headless usage في Node
npm install @pascal-app/core
💡 متى نقترح Pascal Editor
✅ استخدمه عندما:
- د. وائل يحتاج concept model سريع (< 30 دقيقة)
- مطلوب presentation للعميل بدون تفاصيل إنشائية
- floor plan لشقة/فيلا/مكتب
- interior layout dummy للـ scale reference
- توليد GLB لاستخدامه في Blender/Unreal/Sketchfab
- مطلوب shop drawings مدققة بأبعاد
- مطلوب IFC export لتكامل BIM مع KCPC
- مطلوب structural analysis
- المشروع يحتاج DWG/DXF integration مع AutoCAD
- مطلوب annotations + dimensions احترافية
🔗 الروابط الأساسية
- المحرر: https://editor.pascal.app
- GitHub: https://github.com/pascalorg/editor
- الـ Releases: https://github.com/pascalorg/editor/releases
- Issues (لتتبع IFC support): https://github.com/pascalorg/editor/issues/219
- Community projects: https://editor.pascal.app/community
- npm core: https://www.npmjs.com/package/@pascal-app/core
- npm viewer: https://www.npmjs.com/package/@pascal-app/viewer
📅 تتبع الإصدارات
استخدم heartbeat للتحقق من releases جديدة شهرياً:
curl -s https://api.github.com/repos/pascalorg/editor/releases/latest | jq -r '.tag_name + " — " + .published_at'
عند توفر IFC export (Issue #219) → تنبيه فوري لـ د. وائل لأن هذا يفتح BIM bridge مع KCPC.
---
Maintained by: OpenClaw — added 2026-05-18 by request from د. وائل.