dope-canvas
שלב תכנוןקנבס אינסופי לאוספים גדולים של תוצרי ווב שנוצרו בבינה מלאכותית.
מאות iframes חיים אינם מתרחבים היטב, ושיטוח כל עמוד לתמונה מאבד בחירה וכתובת לאירועים. dope-canvas שומר את התוצרים במלואם — מקור, מצב מתמשך, עץ אינטראקציה, מטמון ציור וסביבת ריצה חיה אופציונלית — כך שבחירה והפעלה בסגנון Figma נשמרות. המאגר נמצא בקו הבסיס שלפני הפיתוח: ארכיטקטורה, תוכנית אספקה ומודל אבטחה, אך עדיין ללא קנבס עובד.
סקירה
כל iframe מחזיק הקשר גלישה, מצב DOM/CSS, מרחב סקריפטים, משאבים ומצב רינדור, ולכן החזקת מאות עמודים שנוצרו במצב חי מתרחבת גרוע. התשובה התכנונית כאן היא מודל תוצר שמור — `תוצר = מקור + מצב מתמשך + עץ אינטראקציה + מטמון ציור + סביבת ריצה חיה אופציונלית` — שבו תצלום מצב הוא רק מטמון ציור. המסמך ומודל האינטראקציה נשארים זמינים לבחירה, לניתוב אירועים, להפעלה ולשחזור בטוח בין גרסאות.
הקנבס עצמו אחראי לתנועת המצלמה, לווירטואליזציה מרחבית, למחזור החיים של חי/תצלום, למטא-נתוני אינטראקציה, לתקציבי משאבים ולהרכבת הרינדור; התוצרים מספקים HTML, CSS ו-JavaScript מבוקר. חלוקת החבילות עוקבת אחר הגבולות האלה — protocol, spatial, core, artifact, security, runtime, renderer, editor — וכולן פרטיות בגרסה 0.0.0, ואף אחת אינה מוצגת כחוזה ציבורי יציב.
שתי מגבלות מוצהרות מראש: שערי הראיות לדפדפן של M0 לא נעברו, ולכן התמיכה ב-APIs ניסיוניים של HTML בתוך Canvas נותרת יכולת ולא הבטחה; ולא נבחר רישיון, כך שעד שהבעלים יוסיפו אחד, התכנים אינם מוצעים ברישיון קוד פתוח.
מה זה עושה
- מודל תוצר שמור: תצלום מצב הוא רק מטמון ציור, ולכן בחירה וכתובת לאירועים נשמרות.
- הקנבס אחראי למצלמה, לווירטואליזציה מרחבית, למחזור החיים של חי/תצלום, לתקציבי משאבים ולהרכבה.
- גבולות החבילות משקפים את התכנון: protocol, spatial, core, artifact, security, runtime, renderer, editor.
- אבטחה היא חבילה מהמעלה הראשונה — מסנן תוכן, מדיניות כתובות, מכסות והרשאות — ולא הקשחה מאוחרת.
- מתועד מראש: תכנון טכני, תוכנית אספקה, מודל אבטחה, אסטרטגיית תאימות, פרוטוקול מדידה ושאלות פתוחות.
איך מתחילים
דרישות: Node.js 22.12+ ו-pnpm 10.33.2.