ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
ISS·국제 우주 정거장 3D(three.js) 전시, 26개 상세 모델, 크루드래곤 연결, 콜럼버스 승무원, Z1 외부 탐사
ISS · Trạm Vũ trụ Quốc tế 3D (three.js): 26 khối chi tiết, Crew Dragon ghép nối, phi hành đoàn Columbus, đi bộ ngoài không gian ở Z1
교육JavaScript · PythonGitHub @MichaelTran75온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
ISS · Trạm Vũ trụ Quốc tế 3D Mô hình three.js (WebGL) của Trạm Vũ trụ Quốc tế: 26 khối có thể chọn để xem chi tiết, cấu hình hiện tại và cấu hình gốc, Crew Dragon tiếp cận và ghép nối theo phương trình Clohessy–Wiltshire với các điểm chờ của Crew-2, phi hành đoàn làm việc trong Columbus, phi hành gia đi bộ ngoài không gian ở Z1 (leo bằng tay, móc dây thắt lưng, súng vặn PGT, dây an toàn 85 ft nối về khóa khí Quest), và góc nhìn quỹ đạo: ISS ở đúng vị trí hiện tại trên quả địa cầu thật tỉ lệ. Trang: https://michaeltran75.github.io/iss-station/ (nhúng Wix bằng iframe).README 전문 보기 ↗
Mô hình three.js (WebGL) của Trạm Vũ trụ Quốc tế: 26 khối có thể chọn để xem chi tiết, cấu hình hiện tại và cấu hình gốc, Crew Dragon tiếp cận và ghép nối theo phương trình Clohessy–Wiltshire với các điểm chờ của Crew-2, phi hành đoàn làm việc trong Columbus, phi hành gia đi bộ ngoài không gian ở Z1 (leo bằng tay, móc dây thắt lưng, súng vặn PGT, dây an toàn 85 ft nối về khóa khí Quest; làm xong một lượt bốn bu lông thì cất dụng cụ, tháo móc và leo xuống, vòng lặp 62 s), góc nhìn quỹ đạo (ISS ở đúng vị trí hiện tại trên quả địa cầu thật tỉ lệ) và góc nhìn Launch: Falcon 9 đưa Crew Dragon rời bệ LC-39A lên quỹ đạo theo lịch chuyến Demo-2. Trang: https://michaeltran75.github.io/iss-station/ (nhúng Wix bằng iframe).
| Tệp | Nội dung |
|---|---|
index.html | khung trang + giao diện. Khối <!-- modules --> (import map, modulepreload) do stamp.py viết |
css/app.css | kiểu giao diện |
js/boot.js | khởi động: nạp dữ liệu, rồi main.js; hiện bảng lỗi nếu trang không chạy được |
js/main.js | import mọi module theo thứ tự dựng cảnh, rồi khởi chạy trang |
js/core/ | nền: data (dữ liệu mô hình), stage (renderer, camera, đèn), quality (mức chất lượng, lịch vẽ bóng đổ), kit (vật liệu, gộp lưới), station (sổ bộ phận part(), hằng số bố trí), release (bỏ bản dữ liệu đỉnh trên CPU khi GPU đã giữ), cùng các chi tiết dùng chung: cbm, surfaces, hull, pma, payloads |
js/parts/ | mỗi tệp một bộ phận (truss, power, … z1). assembly.js chạy sau cùng: dời cụm Nga, hạ giàn, thu nhỏ Z1 |
js/figures/eva.js | lưới phi hành gia EVA; mỗi khung chép tư thế nhận từ worker |
js/ui/ | ghost (khối mờ, nét viền), rendezvous-guide (đường tiếp cận, điểm chờ, vùng cấm 200 m), controller (chọn bộ phận, góc nhìn, nhãn, nút bấm, vòng lặp khung hình) |
js/orbit/sky.js | bầu trời thật dùng chung: Trái Đất (ngày, đêm, mây), ISS, Mặt Trăng, Mặt Trời, sao, theo giờ hiện tại; vẽ cả nền Trái Đất sau trạm. Tải khi mở lần đầu; khi không góc nhìn nào vẽ nó, GPU bỏ bản của nó tới lần vẽ sau |
js/orbit/view.js | góc nhìn quỹ đạo: khung ISS / Earth & Moon / Sun, zoom ra tới 600 triệu km, tua nhanh thời gian |
js/launch/ | góc nhìn Launch: vehicle (Falcon 9 + Crew Dragon, cánh lưới, chân đáp, lửa động cơ, Draco), ground (ảnh mặt đất phủ lên gò bệ, tháp, bầu trời trong khí quyển), complex (khu phóng 39: gò bệ, rãnh lửa, tháp thu sét 39B, VAB, LCC, HIF), site (các công trình khác trong vùng 17 km quanh bệ, từ data/launch-site.json: nhà, tháp, bồn cầu, tháp nước), exhaust (khói ở bệ, trên sà lan và vệt khói trôi theo gió), internals (cấu trúc bên trong hai tầng cho chế độ cắt dọc và nhìn xuyên), part-labels (nhãn tên bộ phận bên trong), engine-audio (âm thanh động cơ), droneship (sà lan đáp), view (camera, hai lượt vẽ, bảng điều khiển). Dựng khi mở, dọn khi rời |
js/sim/ascent.js | mô phỏng bay Falcon 9 (lực đẩy, lực cản, khí quyển, Trái Đất quay) và tầng 1 quay về sà lan, tua thời gian; chỉ có toán |
js/sim/plume.js | luồng xả Merlin theo điều kiện bay (giãn nở đẳng entropy, chu kỳ sóng sốc, trộn khí, cháy tiếp); chỉ có toán |
js/sim/wind.js | gió ở Cape Canaveral lúc phóng Demo-2 theo độ cao (bóng thám không KXMR, trạm mặt đất); chỉ có dữ liệu |
js/parts/draco.js | 16 động cơ Draco của Crew Dragon: vị trí, chọn động cơ theo hướng cần đẩy, tia lửa và khói; dùng chung cho trạm và Launch |
js/sim/rendezvous.js | mô hình tiếp cận của Crew Dragon (Clohessy–Wiltshire, lịch Crew-2), chỉ có toán |
js/sim/orbit.js | quỹ đạo từ TLE: SGP4 (satellite.js), bóng Trái Đất, vết trên mặt đất; vị trí Mặt Trời, Mặt Trăng, quỹ đạo Trái Đất (astronomy-engine) |
js/sim/eva.js | mô hình chuyển động của phi hành gia EVA (khung xương, leo tay vịn, dây, súng PGT), không chứa lưới |
js/sim/worker.js | Web Worker chạy các mô hình chuyển động, trả tư thế về mỗi khung hình |
js/workers/line-art.js | Web Worker dựng nét viền cho các khối mờ |
data/*.json | lưới, khung xương, chuyển động lấy từ các mô hình gốc; orbits.json là TLE dự phòng của ISS |
tle.py | làm mới data/orbits.json từ CelesTrak (publish.sh tự gọi) |
falcon9.py | chuyển model Falcon 9 (GLB) thành data/falcon-9.json và assets/falcon-9/first-stage.png: python3 falcon9.py ~/Downloads/falcon_9_-_spacex.glb |
assets/pma-2/*.jpg, assets/eva-astronaut/*.jpg | ảnh texture |
Từ 12/10/2026 repo này là bản gốc để sửa (không còn bản một tệp). Từ 13/10/2026 mã chia thành các module ES như trên.
./preview.sh (mở sẵn ?stats; cần máy chủ cục bộ vì module, Web Worker và data/ không chạy được qua file://)./publish.sh "mô tả". tle.py làm mới TLE, stamp.py đóng dấu ?v=<băm nội dung> cho mọi tệp được tham chiếu và viết lại import map, rồi commit + push.Nhúng vào Wix: Thêm → Nhúng mã → Nhúng trang web rồi dán đường dẫn trên, hoặc Nhúng HTML với:
<iframe src="https://michaeltran75.github.io/iss-station/" style="width:100%;height:100%;border:0" allow="fullscreen" loading="lazy" title="ISS · Trạm Vũ trụ Quốc tế 3D"></iframe>
js/main.js là thứ tự dựng cảnh. Thứ tự này quyết định thứ tự tạo vật liệu và đối tượng, nên quyết định cả thứ tự vẽ các mặt trùng độ sâu. Không đảo các dòng import.main.js (core → parts → figures → ui → main). Không import vòng.await ở cấp module, trừ core/data.js và main.js. boot.js chờ core/data.js xong rồi mới chạy phần còn lại, nên mọi module dựng đồng bộ, đúng thứ tự. Cần tải thêm dữ liệu thì thêm vào core/data.js.let chỉ được gán trong module khai báo nó. Module khác muốn đổi trạng thái thì gọi hàm, ví dụ markShadowsDirty() khi đổi vật liệu hoặc hiện/ẩn khối.'../core/kit.js'), không có ?v=. stamp.py thêm module mới vào import map và modulepreload; không cần sửa index.html bằng tay.js/parts/ten.js. Import THREE từ 'three', part từ ../core/station.js, và các hàm dựng cần dùng (moduleAt trong core/hull.js, hullBadge trong core/surfaces.js, …).part('id', 'Tên', 'NN / NHÓM', 'mô tả', [['Thông số', 'giá trị']], [x, y, z], (kit, group) => { … }). kit gom chi tiết thành một lưới cho mỗi vật liệu, group là nhóm có thể chọn.import './parts/ten.js'; vào main.js, trước parts/assembly.js. Nếu bộ phận gắn vào giàn hoặc cụm Nga, thêm id vào danh sách tương ứng trong parts/assembly.js../preview.sh để xem.Theo lịch ghép nối Crew-2 (24/4/2021) và tốc độ của Demo-2. Thời gian thực 58 phút, hoạt cảnh 144 giây; ô trạng thái ghi hệ số tua nhanh.
| Pha | Thời gian thực | Mô hình | Tua |
|---|---|---|---|
| Điểm 0, 400 m dưới trạm → điểm 1, 220 m trên trục ghép | 24 phút | trôi theo Clohessy–Wiltshire sau một lần đốt 0,81 m/s | ×60 |
| Điểm 1 → điểm 2 (20 m) | 11 phút | tiến dọc trục ở 0,35 m/s; Draco đẩy hướng tâm để giữ đường thẳng | ×30 |
| Dừng ở điểm 2 (go/no-go) | 5 phút | đứng yên trên trục V-bar: điểm cân bằng, không cần đẩy; mở nắp mũi | ×30 |
| Tiếp cận cuối | 5 phút | 7 cm/s, chạm cổng ở 5 cm/s | ×4 |
| Bắt mềm → móc khóa xong | 13 phút | ×60 |
Nắp mũi mở suốt chặng tiếp cận: ngoài thực tế nắp mở khoảng 13 phút sau khi phóng (Demo-2: T+12:46), lâu trước Waypoint 0, nên tới điểm 2 (20 m) nắp đã mở sẵn và 4 Draco phía trước dưới nắp dùng được cả chặng. (Trước đây trang cho nắp mở ở 20 m cho dễ nhìn; đã bỏ để khớp với góc nhìn Launch.)
Động cơ Draco (js/parts/draco.js): Crew Dragon có 16 chiếc, mỗi chiếc 400 N (90 lbf), Isp 300 s, nhiên liệu MMH và N₂O₄ tự bốc cháy khi gặp nhau, bật tắt theo xung ngắn tới 30 ms.
Nút Orbit: Trái Đất đúng tỉ lệ, ISS ở vị trí tính bằng SGP4 từ TLE mới nhất của CelesTrak (lưu tạm 2 giờ trên máy người xem; không tải được thì dùng data/orbits.json). Mặt Trời đúng hướng theo giờ UTC nên ranh giới ngày đêm đúng; vòng quỹ đạo vẽ trong hệ quán tính, vết trên mặt đất quay theo Trái Đất. Thời gian: Live, ×60, ×600. Bấm vào ISS để về trạm.
Mặt Trăng và Mặt Trời ở vị trí và kích thước thật, tính bằng astronomy-engine (MIT, sai số khoảng 1 phút cung) rồi xoay về xích đạo thời điểm hiện tại cho khớp hệ của SGP4. Mặt Trăng được Mặt Trời chiếu sáng nên pha trăng là pha thật. Ba khung: ISS, Earth & Moon (cùng quỹ đạo Mặt Trăng trong một tháng), Sun (cùng quỹ đạo Trái Đất trong một năm); camera nhìn từ 40° phía trên mặt phẳng hoàng đạo. Lăn chuột cũng ra được tới 600 triệu km: tốc độ zoom tăng theo khoảng cách. Ở xa, Trái Đất và Mặt Trăng nhỏ hơn một điểm ảnh nên có chấm đánh dấu và nhãn. Đã kiểm tra ngày 13/10/2026: Mặt Trời cách 149,3 triệu km, xích vĩ −7,9°; Mặt Trăng cách khoảng 398.000 km, sáng 8% (trăng non 3 ngày).
Đã đối chiếu 13/10/2026 08:09:42 UTC với api.wheretheiss.at: 9,69° S, 118,79° E, cao 420,6 km, 7,661 km/s, cả hai nguồn trùng nhau. Đây là dự báo từ TLE, không phải đo đạc trực tiếp; sai số tăng vài km mỗi ngày tính từ thời điểm TLE.
Thêm vệ tinh: thêm mã NORAD vào OBJECTS trong tle.py và gọi addOrbiter({ id, name, norad }) trong js/orbit/view.js. Chuyến tiếp tế (phóng → bám quỹ đạo → tiếp cận) có thể ghép js/sim/orbit.js cho chặng xa với js/sim/rendezvous.js cho chặng gần.
Nút Earth backdrop (nền sau trạm) vẽ cùng bầu trời thật đó sau trạm, đúng tỉ lệ: trạm 109 m, Trái Đất 12.742 km, ISS ở độ cao thật (~420 km).
Ảnh Trái Đất (ngày, đêm, mây, độ nhám) của Solar System Scope (CC BY 4.0), bản thu nhỏ trong ví dụ của three.js, lấy trực tiếp từ threejs.org. Ảnh Mặt Trăng là của ví dụ three.js, chưa rõ giấy phép; nên thay bằng ảnh Mặt Trăng 2K của Solar System Scope (CC BY 4.0) đặt trong assets/.
Nút Launch (thanh góc nhìn, hoặc tab Launch của Crew Dragon) mở cảnh Falcon 9 phóng Crew Dragon từ LC-39A, bắt đầu từ T−4:30 (giàn dựng còn ôm tên lửa; ba giây cuối đếm 3, 2, 1 rồi LIFTOFF bằng chữ lớn giữa cảnh) và chạy liền tới khi Dragon ghép vào ISS: Waypoint 0 (400 m dưới trạm) sau 18 giờ 08 phút, chạm cổng ở T+18:53:15, móc khóa xong ở T+19:06:15. Không phải chuyển sang trang trạm. Hai nút Rocket & Dragon / Booster chọn bám theo tên lửa lên quỹ đạo hay tầng 1 bay về sà lan; mỗi bên có nhịp tua riêng (chậm lại quanh các lần đốt và lúc đáp). Mỗi lần đốt nâng quỹ đạo của Dragon chạy ở ×90 thay vì ×1.500: Dragon xoay tấm chắn nhiệt theo hướng đốt (4 Draco phía trước đẩy nó lùi về sau), phun Draco suốt thời gian đốt (435 và 466 s cho hai lần lên 410 km, khoảng 22 s cho hai lần hạ xuống 400 km, 43 s cho TPI; 1,6 kN trên 12,5 t), rồi xoay lại. Lần đốt hạ độ cao không cần xoay: mũi đi trước, Draco phía trước đẩy lùi. Lần đốt ở Waypoint 0 để Dragon quay mũi về trạm luôn cho chặng tiếp cận.
js/sim/ascent.js)Không còn nội suy telemetry: đường bay được tích phân (Runge–Kutta bậc 4, bước 0,05 s; chặng bám đuổi bước 10 s) mỗi lần mở góc nhìn, mất khoảng 100 ms. Tầng 2 tắt máy giữa bước, đúng lúc năng lượng quỹ đạo đạt mục tiêu.
| T+ | Sự kiện | Nguồn |
|---|---|---|
| −0:03 | đánh lửa | lệnh |
| 0:45 | Max-Q, 19 kPa | mô phỏng |
| 2:33 | tắt máy tầng 1 | lệnh (NASA) |
| 2:36 | tách tầng | lệnh (NASA) |
| 2:44 | tầng 2 khởi động | lệnh (NASA) |
| 8:17 | tầng 1 đốt giảm tốc (NASA: 7:15) | mô phỏng |
| 8:51 | tầng 2 tắt máy (NASA: 8:47) | mô phỏng |
| 9:22 | tầng 1 đốt hạ cánh | mô phỏng |
| 10:14 | tầng 1 đáp sà lan (NASA: 9:22) | mô phỏng |
| 12:00 | Dragon tách, lò xo đẩy khoảng 0,4 m/s | lệnh (NASA) |
| 12:46 | mở nắp mũi | lệnh (NASA) |
| 1:31:40 / 2:16:55 | đốt nâng quỹ đạo lên 410 km, rồi tròn hoá (56 + 60 m/s) | mô phỏng |
| 11:06:40 / 11:52:55 | đốt hạ độ cao xuống 400 km, rồi đốt coelliptic (3 + 3 m/s) | mô phỏng |
| 17:21:57 | khởi đầu pha cuối (TPI): nửa vòng lên 419,6 km | mô phỏng |
| 18:08:15 | Waypoint 0, 400 m dưới ISS: Dragon đã quay mũi về trạm | mô phỏng |
| 18:32:15 | Waypoint 1, 220 m trên trục ghép | lịch Crew-2 |
| 18:43:15 | Waypoint 2: dừng cách 20 m (go/no-go) | lịch Crew-2 |
| 18:48:15 | tiếp cận cuối, 7 cm/s | lịch Crew-2 |
| 18:53:15 | chạm cổng, bắt mềm (Demo-2: 14:16 UTC trên biên giới bắc Trung Quốc – Mông Cổ) | NASA |
| 19:01:15 / 19:06:15 | bắt cứng (móc đang đóng), ghép xong; nút Station view mở trang trạm với Dragon đã ghép | lịch Crew-2 |
js/sim/plume.js): Merlin 1D có buồng đốt 9,7 MPa, tỉ lệ diện tích miệng phun 16, γ 1,22. Giãn nở đẳng entropy cho khí ra ở Mach 3,68 và 62 kPa: ở mặt đất luồng xả hơi quá giãn nở (mép thu vào, có chuỗi "kim cương" sóng sốc cách nhau khoảng 3 m), khớp áp suất ở khoảng 4 km, càng lên cao càng thiếu giãn nở và nở bung.
js/sim/wind.js): gió thật lúc 19:22 UTC ngày 30/5/2020.
js/launch/exhaust.js): khói ra từ ba nguồn.
proximity trong js/sim/ascent.js) dùng đúng mô hình của trang trạm (js/sim/rendezvous.js, Clohessy–Wiltshire), với tốc độ góc của quỹ đạo 420 km này.
Tầng 1 về muộn hơn thực tế khoảng 1 phút: theo đúng vận tốc và góc bay lúc tắt máy của telemetry, nó lên tới khoảng 210 km nên rơi về lâu hơn; hướng đi, khối lượng và lực cản thật của tầng 1 không được công bố đủ để khớp hơn.
?stats: hiện số khung hình/giây, mili giây CPU mỗi khung, số lần vẽ, mức chất lượng, nơi chạy hoạt cảnh.
?quality=high|medium|low: cố định một mức. ?worker=0: chạy mọi thứ trên luồng chính (để so sánh, gỡ lỗi).
Mức chất lượng tự chọn theo máy:
| Mức | Áp dụng cho | Độ phân giải | Bóng đổ |
|---|---|---|---|
| high | máy tính | 2× | 2048, vẽ lại 15 lần/giây |
| medium | màn cảm ứng nhỏ, máy ≤ 4 nhân hoặc ≤ 4 GB | 1,5× | 1024, vẽ lại 8 lần/giây |
| low | khi máy không theo kịp | 1× | tắt |
Khi khung hình chậm hơn 40 khung/giây, trang hạ một mức. Khi dư sức, trang nâng lại, nhưng không vượt mức ban đầu.
Phi hành gia EVA (4 MB dữ liệu) tải sau khung hình đầu tiên.
Bộ nhớ:
Ảnh Trái Đất 2K trên điện thoại và máy yếu (mức chất lượng bắt đầu dưới high): ba bản đồ 4K (ngày, đêm, mây) thu xuống 2K ngay khi tải (sky.js). Ảnh vẫn tải bản 4K từ threejs.org.
Texture của trạm trên điện thoại và máy yếu: 17 trong 70 ảnh lớn hơn 512 px (lá pin, vỏ PMA, Beam, Soyuz, Nauka, bộ đồ EVA...) thu một nửa trước khi nạp lên GPU (halveLargeMaps, js/core/release.js). Đo: texture trên GPU 94,5 → 43,6 MB, bản canvas trên CPU 49,9 → 29,5 MB. Máy tính giữ nguyên ảnh gốc.
Bỏ bản trên CPU của dữ liệu đỉnh mà GPU đã giữ (js/core/release.js): pháp tuyến và toạ độ texture của lưới trạm, đường viền và nét vẽ ghost (không bao giờ được chọn bằng chuột). Vị trí và chỉ mục giữ lại vì chọn bộ phận bằng chuột cần chúng. Dữ liệu đỉnh trên CPU từ 95 MB còn 38 MB. Không xoá mảng mà thay bằng mảng rỗng cùng kiểu: khi chọn bằng chuột, three.js đọc pháp tuyến và toạ độ texture của điểm trúng, nên nhận NaN thay vì báo lỗi. Ống dây EVA được đánh dấu dữ liệu động vì ghi lại mỗi khung.
Rời góc nhìn Launch thì cảnh đó được dọn (dispose()): lưới, vật liệu, texture (trừ những thứ cảnh trạm dùng chung), âm thanh, nhãn, mục trong danh sách sự kiện, mọi trình nghe sự kiện (một AbortController). Lần mở sau dựng lại và chạy tiếp từ đúng mốc đang xem. Khi trạm không bật nền Trái Đất, GPU cũng bỏ bản đồ và lưới của bầu trời, tới lần cần vẽ lại thì nạp lên từ bản còn giữ.
Mất ngữ cảnh WebGL thì dữ liệu đã bỏ không nạp lại được; trang vốn đã báo người xem tải lại trong trường hợp này.
js/sim/eva.js: một hàm trả về { layout: { size }, step(time, out) }, ghi tư thế vào một Float32Array. Không tạo lưới trong hàm này.js/sim/worker.js (factories).js/figures/, dựng lưới như figures/eva.js (createZ1Maintenance). Gửi {type: 'init', kind, payload} một lần. Mỗi khung gửi {type: 'step', time, buffer}, rồi chép tư thế nhận về vào lưới. Gọi update(delta) của hình mới trong advance() (ui/controller.js).
Mô hình chạy trong worker nên không làm chậm luồng vẽ; nếu trình duyệt không có worker, cùng mô hình đó chạy trên luồng chính.Phần lớn trạm dựng bằng code three.js theo số đo từ tệp mẫu ISS_stationary.glb. Riêng lưới PMA-2 và 3 ảnh texture của nó lấy nguyên từ tệp này (ảnh nén lại thành JPEG chất lượng 92).
| Mô hình | Tác giả | Giấy phép |
|---|---|---|
| Animated Floating Astronaut in Space Suit Loop | LasquetiSpice | CC BY 4.0, đã đổi tư thế, vật liệu, hoạt cảnh, texture 1024 px |
| Human | doctortex | CC BY 4.0, đã gắn khung xương và tạo dáng |
| SpaceX - Dragon 2 | KUBAHA | CC BY 4.0, đã đổi vật liệu, thêm hoạt cảnh ghép nối |
| Space X Dragon Suit | Diuis | CC BY 4.0, đã đổi vật liệu, tư thế ngồi |
| Falcon 9 - SpaceX | Stanley Creative | CC BY 4.0, đã bỏ fairing và cụm bản lề chân đáp, tách 4 cánh lưới và 4 chân đáp, lượng tử hoá lưới (falcon9.py) |
| Space X Drone Barge | TAIGA-ZOE | CC BY 4.0, giữ nguyên lưới, đổi tỉ lệ, ảnh nén JPEG, bỏ hai ảnh pháp tuyến phẳng (droneship.py) |
Ảnh mặt đất quanh bệ phóng: USGS National Map và NASA GIBS (Blue Marble), đều là public domain.
Đường viền và vị trí các công trình quanh khu phóng 39: © OpenStreetMap contributors (ODbL); chỗ OSM không có: USA Structures (FEMA/ORNL, public domain). Chiều cao công trình: lidar USGS 3DEP FL_Peninsular_FDEM_Brevard_2018 (public domain). data/launch-site.json dẫn xuất từ dữ liệu OpenStreetMap nên theo giấy phép ODbL 1.0. Gió lúc phóng: bóng thám không KXMR và trạm KTTS, KXMR từ Iowa Environmental Mesonet.
Model Falcon 9 & Launching Pad của Aashish_3D (CC BY 4.0) chỉ dùng để tham khảo, không lấy lưới: bệ trong đó là bệ hư cấu (tháp khối đặc), không phải LC-39A. Theo gợi ý của nó, bệ 39A thêm lan can dọc rãnh lửa và dãy cửa sổ của tay đón.
Model Falcon 9 - Crew Dragon của KUBAHA (CC BY 4.0) không dùng: lưới gộp theo vật liệu nên không tách tầng được, và kích thước lệch thật (cao 64,6 m, rộng 4,14 m).
js/launch/engine-audio.js): tổng hợp bằng Web Audio, không dùng file thu sẵn, cùng cách làm với động cơ phản lực ở trang sân bay. Nút Sound bật/tắt, nhớ lựa chọn.
jump(), nên các tiếng của khoảng bị nhảy qua không phát; tua nhanh (×60 lúc ghép nối, mỗi khung đi 2 s) không bị coi là nhảy.sky.js, đúng ngày giờ Demo-2, đơn vị km) nhìn từ vị trí thật của camera trên quả địa cầu, rồi bệ phóng, mặt đất, tên lửa trong hệ toạ độ của bệ (đơn vị m: x đông, y lên, z nam).sky.js) hạ dần từ 178 km xuống khoảng 50 km khi camera xuống thấp, để khỏi thành một dải dày trên đường chân trời.js/launch/site.js, xem bên dưới).js/launch/complex.js). Đường viền và vị trí lấy từ OpenStreetMap, đối chiếu với ảnh USGS và lidar; kích thước theo NASA. Các công trình xây sau Demo-2 (tháp Starship và khu bồn nằm ngang ở 39A, bồn hydro mới ở 39B) không đưa vào.
js/launch/site.js; dữ liệu data/launch-site.json, 66 KB, dựng bằng launchsite.py): 583 khối nhà ở khu phóng 39, khu công nghiệp quanh VAB và các bệ phía nam ở Cape Canaveral (SLC-41 với nhà lắp ráp đứng VIF, SLC-40), 29 tháp và cột, 5 bồn cầu nhiên liệu, 2 tháp nước.
js/launch/droneship.js): mô hình "Space X Drone Barge" của TAIGA-ZOE, giữ nguyên lưới (droneship.py).
js/launch/internals.js). Mặt trong vỏ là nhôm trơn. Theo những gì đã công bố:
js/launch/part-labels.js):
landmarks trong internals.js).Đo trên Chrome chạy ngầm, GPU Apple M4, cửa sổ 1600 × 1000, so với bản trước:
| Lúc | Trước | Sau |
|---|---|---|
| Mở trang trạm (JS heap) | 130 MB | 94 MB |
| Trở về trạm sau khi xem Launch (tổng mọi tiến trình) | 1.926 MB | 1.704 MB |
| Sau lần xem Launch thứ hai | 1.988 MB | 1.612 MB |
| Bật nền Trái Đất, phần tăng thêm (4K → 2K) | 88–115 MB | 56–64 MB |
Rời Launch thì số đối tượng trên GPU về đúng mức trước khi mở. Tổng RAM không về hẳn mức lúc mới vào trang (1.335 MB) vì tiến trình GPU của Chrome giữ lại một phần bộ nhớ đã giải phóng để dùng lại.
Trình duyệt chỉ tải lại module nào đổi nội dung: import map trỏ mỗi module tới bản có dấu băm của chính nó.