尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗جامعة شرق بورسعيد الأهلية: نموذج ثلاثي الأبعاد ودليل تفاعلي للحرم الجامعي
This is an evidence-based 3D reconstruction of the East Port Said National University (E.P.N.U) campus in Salam Misr El-Gedida, East Port Said, Egypt. It comes with an interactive Three.js campus guide intended for the university website.
How the model was made:
It is a reconstruction, not a survey. See deliverables/reconstruction_report.md for accuracy figures and what is verified, estimated or unknown.
cd viewer # deliverables/web_viewer/ is an identical, deployable copy
python3 serve.py 8080 # any static file server works
# open http://localhost:8080/
viewer/lib/three/.file:// page will not work.?quality=lite or ?quality=high to force a model variant.#bld_main (or any other building ID) to open the viewer with that building selected.A floating orange button (bottom-left of the map) opens the exam-room finder (viewer/js/exam-finder.js).
viewer/data/schedules/midterm-2026.json, typed from the faculty's PDFs («Midterm Level One…Four 27-10»). rooms maps each room name as printed (مدرج 1, صالة 104, معمل 1…) to its key in viewer/data/room_index.json. For the next exam period, edit this file (or add a new one and point DATA in exam-finder.js at it).The timetable panel (viewer/js/schedule.js) shows الترم الأول and الترم التاني.
viewer/data/schedules/fall-2026.json (term 1) and spring-2027.json (term 2).viewer/data/room_index.json).Website integration options (iframe or native page) and server settings are in deliverables/README.md.
Both Engineering Building 1 (bld_e2, 100 rooms across 4 storeys G, 1, 2, 3) and Engineering Building 2 (bld_e1, 72 rooms across 4 storeys G, 1, 2, 3) ship as complete, collision-safe architectural interiors with 100% coverage of all 114 scheduled courses in viewer/data/schedules/fall-2026.json:
| Module | Responsibility |
|---|---|
viewer/js/walker.js | Articulated student rig (1.75 m) — 15-joint human hierarchy (pelvis, spine, neck, head, backpack, shoulder-L/R, elbow-L/R, hip-L/R, knee-L/R, ankle-L/R, sole-L/R). Gait phase is strictly locked to physical world distance (dPhase ∝ ds / strideLength) with closed-form sole kinematics guaranteeing exact 0.000 m foot contact on ground and stair treads, zero foot sliding while walking or paused, and dedicated knee/hip lift biomechanics during stair climbs (stairBlend). |
viewer/js/interior.js | PBR university architecture & InstancedMesh batcher — full floor-to-ceiling plaster partitions with travertine stone dado rails & walnut trim (0.00 m ceiling gap), acoustic grid soffit ceilings with flush LED luminaires and shaft cutouts, structural reinforced-concrete columns strictly bounded per storey (clearH) so upper-floor columns never leak into lower storeys, brushed stainless elevator lobbies, and true stepped concrete switchback staircases (buildStaircase / stairProfile) with stringers, risers, treads, aluminum nosing strips, landings, balusters, and steel handrails. |
viewer/js/furniture.js | Procedural academic room furnishings & doorways — instanced lecture hall tiered seating, stages & whiteboards, classroom student desks, computer lab workstations with monitors, engineering drawing drafting tables, faculty offices, reception counters, cafeteria tables, rest lounge seating, WCs, double-leaf oak doors with vision panels & handles, and stairwell floor nameplates (floor-door). |
viewer/js/route.js | Collision-free multi-floor path planner — grounds entrance thresholds (door segments), solves obstacle-inflated 0.5 m 2D A* corridor paths with visibility string-pulling, emits explicit stair_approach and landing portal waypoints, traces real switchback stair treads step by step (max Δy = 0.225 m), routes cleanly through open room doorways, and scopes destination highlights strictly to the active floor. |
viewer/js/tour.js |
Selecting وديني in the timetable panel starts a guided walk to the room through the real layout:
~1.62 m) — outdoors the camera follows smoothly behind the student with surrounding campus buildings framed clearly. Upon crossing the entrance doorway (ENTERING_DOOR), the exterior campus and route spline hide automatically, indoor near-plane clipping adjusts cleanly (near = 0.2 m), and the camera tracks horizontally behind the student at human standing eye height (~1.62 m) with full wall, ceiling, and stairwell shaft collision protection. Leaving or cancelling restores the whole campus.max Δy = 0.225 m) floor by floor (G → 1 → 2 → 3). Logical floor state updates only after completing corridor approach, ascending every tread of the flight, and reaching the verified upper landing (FLOOR_LANDING). Intermediate corridors remain untouched during multi-floor climbs, and upper-floor geometry above the active ceiling remains strictly occluded (floors[3].group.visible === false on Floor 2).IDLE → ROUTE_PLANNING → WALKING → ENTERING_DOOR → CORRIDOR_NAVIGATION → APPROACHING_STAIRS → CLIMBING → FLOOR_LANDING → ARRIVED) drive the live Arabic status badge, voice cues, and camera behavior; pause, resume, replay, skip, minimize (–), mute (🔊/🔇), and movement speed (1× / 1.5× / 2×) work cleanly at any point.Run the HTTP/1.1 server and execute all three Playwright + WebGL verification suites:
python3 viewer/serve.py 8080 &
python3 pipeline/smoke_viewer.py http://127.0.0.1:8080/ # 10/10 desktop + mobile smoke checks
python3 pipeline/qa_engineering_realism.py http://127.0.0.1:8080/ # 16/16 rig, architecture, camera, occlusion & 114/114 timetable checks
python3 pipeline/qa_navigation.py http://127.0.0.1:8080/ # 28/28 multi-floor switchback stairs, state machine & Arabic voice checks
Latest verified run: 54/54 checks passed (10/10 + 16/16 + 28/28), 0 console errors, 0 failed HTTP requests, with full visual before/after proof plates in deliverables/qa/comparison/ and rendered step captures in deliverables/qa/realism/ and deliverables/qa/nav/.
Known limitations: the indoor map is indicative (see the notes in data/), and spoken Arabic requires
Arabic voices installed on the device (Windows/Android/ChromeOS ship them; otherwise the visual guidance
still works).
| Path | Contents |
|---|---|
deliverables/ | Final outputs, documented in deliverables/README.md:• campus_model.glb (1.15 MB) and campus_model_mobile.glb (0.72 MB)• campus_model.blend (Blender 4.5)• textures/ and preview renders/• web_viewer/ and browser qa/ results• photogrammetry products• the reconstruction report and source analysis |
viewer/ | Working copy of the web viewer: HTML, CSS and JS, models, data/buildings.json, and three.js in lib/three/. |
pipeline/ | Python and Blender scripts that rebuild textures, the site plan, the .blend, both GLBs, the renders and the browser QA. |
data/ | Inputs in local metres: stable building IDs with info-panel text, OSM footprints and roads, site layout, sampled colour palette and model statistics. |
analysis/ | Photogrammetric orthophoto, ground classification, site-plan overlays and the Phase-1 source_analysis.md. |
photogrammetry_test/ | COLMAP run scripts. |
Not included in this repository:
pipeline/package_deliverables.py rebuilds it.deliverables/README.md./home/user/campus_project/. If you clone it somewhere else, edit the ROOT constant at the top of each script.bld_w1 and bld_s2 are stable model identifiers.data/buildings.json once the university confirms them; the viewer picks up the changes automatically.viewer/lib/three/LICENSE).Deterministic state machine & human eye-level camera (~1.62 m) — monotonic segment sweep (IDLE → ROUTE_PLANNING → WALKING → ENTERING_DOOR → CORRIDOR_NAVIGATION → APPROACHING_STAIRS → CLIMBING → FLOOR_LANDING → ARRIVED) with authoritative landing verification before incrementing floor, smooth horizontal eye-level follow camera (pitch ≈ -2°), 3D raycast wall/ceiling clamping, and analytical stairwell shaft containment. |
viewer/js/voice.js | Egyptian Arabic voice guidance — pre-rendered MP3 cues (viewer/audio/cues/) with Web Speech API + espeak-ng /__tts HTTP/1.1 fallback, one concise announcement per route leg, independent speed & mute controls. |
sources/| The reference photo supplied with the brief. |