→ חזרה לצלילה

מאחורי הקלעים · SHOWCASE

הגלילה היא עומק.
ככה נבנתה הצלילה.

Abyss Scroll לוקח את דף הבית של wpzvi.co.il, על חמשת הפרקים שלו, והופך אותו לעולם WebGL אחד רציף: עמוד מים חי שיורדים בו מ-0 עד 512 מטר. בלי תמונות. הכל מצויר בקוד.

הקונספט

באתר המקורי כל פרק הוא תמונה: צב, תמנון, לוויתן, כריש, בית קפה. כאן שאלנו: מה אם הדפדוף בין הפרקים יהיה בעצמו הסיפור? המבקר לא עובר בין מסכים, הוא שוקע. פס הגלילה הפך למד עומק, האור משתנה ממי שמש לאפלת תהום ובחזרה, והמילים הזהובות של הקופי, עליו. תמנון. מהגדול ממרחק. קפה?, זוהרות כמו ביולומינסנציה.

עיקרון מנחה

הטקסט הוא HTML אמיתי שנגלל רגיל (נגיש, ניתן לחיפוש, RTL מלא). רק הרקע חי ב-WebGL. שני העולמות מסונכרנים דרך מיפוי גלילה→מצלמה אחד.

חמשת הפרקים כעמוד מים

עומקפרקיצוראור
0 מ׳פני המים · הירוצב ים חולף מעל הראשתקרת קאוסטיקה, שמש, אלומות
118 מ׳השונית · שירותיםתמנון עם 8 קצות זרוע זהוביםטורקיז, להקת דגים, קלפ
248 מ׳המים העמוקים · אוטומציותלוויתנית ועגל שצוללים איתךכמעט שחור, שלג ימי, מדוזות
382 מ׳שטח הציד · ייעוץכריש מקיף ניצוץ זהבתכלת קרה ובהירה, שוב אלומות
512 מ׳הקרקעית · צור קשרקיוסק "קפה בשקט"ענבר חם, גחליליות, שרשראות אור

סיפור האור נכתב כרמפת צבע לפי עומק המצלמה. הערפל, הרקע והחלקיקים דוגמים את אותה רמפה, ולכן הכל נשאר קוהרנטי בכל נקודת ביניים:

0m
118m
248m
310m
382m
470m
512m

גרף הסצנה

מיפוי גלילה → מצלמה

עוגנים במקום קבועים

כל פרק מצהיר data-cam (גובה עולם). בכל פריים נמדד מרכז ה-viewport מול מרכז הקופי של כל פרק, והמצלמה מקבלת אינטרפולציה ליניארית בין העוגנים, עם החלקה אקספוננציאלית 1-exp(-dt*4.2). ככה הטקסט (שנגלל נייטיב) והעולם לא מתנתקים אף פעם, גם בקפיצת גלילה.

כוריאוגרפיה לפי התקדמות פרק

לכל יצור יש פרמטר p, ההתקדמות בתוך הפרק שלו. הלוויתנית חוצה ושוקעת לפי p (לא לפי זמן), ולכן היא תמיד בפריים כשעוברים אותה, גם בצילום אוטומטי. הכריש מקיף אליפסה שהפאזה שלה נגררת מהגלילה, ורודף ניצוץ זהב שמוביל אותו ב-0.8 רדיאן.

מד העומק ממיר את גובה המצלמה במקדם 1.9104, שנבחר בקפידה מדעית מדוקדקת כדי שהקרקעית תצא בדיוק 512 מטר. מתכנתים מבינים.

בלי נכסים חיצוניים

אין אף קובץ תמונה או מודל תלת-ממד. הצב, התמנון, הלוויתנית, הכריש, המדוזות, האלמוגים והקיוסק כולם מצוירים ב-Canvas 2D בזמן טעינה, עם זוהר אפוי (shadowBlur) שמדמה תאורת שוליים. שמונה קצוות הזרועות של התמנון נרשמים בזמן הציור ומקבלים נקודות זהב פועמות בגל שרץ סביבן, כל זרוע מומחית בתחומה.

הפונטים היחידים הם Heebo עברי + לטיני, מוטמעים מקומית. Three.js r166 יושב ב-vendor/. אפס CDN בזמן ריצה.

נגישות וביצועים

לולאת העיניים

האתר נבנה בלולאה עיוורת-למחצה: כל שינוי עבר סקריפט אימות שמריץ Chrome ללא ראש, גולל לחמש נקודות עומק, מצלם ואוסף שגיאות קונסולה. הצילומים נקראו, נשפטו, ותוקנו. הלוויתנית קיבלה את מסלול הצלילה שלה אחרי שצילום אמצע-הדף תפס אותה מחוץ לפריים, ואת המדוזות הוסיפה בדיוק אותה ביקורת: אמצע הצלילה נראה ריק מדי.

Abyss Scroll · שוקע אל wpzvi.co.il נבנה ב-Claude Code · 2026