Repository navigation
v0.9: pewny STOP, kalibracja 9 punktami, drożny spawn, tylko online, lampy w skali - #11
Merged
Merged
Conversation
…ampy w skali Sterowanie bez klawiatury - `enabled` jest wyłącznie stanem sesji: stary wpis z localStorage jest ignorowany (schemat 2), `save()` nie zapisuje włączenia, a `renderLab()` przestał włączać ster samoczynnie po testach. - Pierwsza poprawna klatka twarzy wyznacza zero, więc surowy pitch nie pcha postaci w jedną stronę. Adaptacyjna korekta neutralnej likwiduje dryf, ale nie wygasza świadomego przechyłu głowy (chodzenie działa). - Brak twarzy lub wyłączone sterowanie daje natychmiastowe, twarde zero we wszystkich kanałach. `CameraRig.tick()` woła `onControl` zawsze, więc silnik nie trzyma ostatniej niezerowej prędkości. - Jeden hamulec: przycisk „Zatrzymaj" i klawisz C (również w grze). `CameraControl.stop()` wyłącza ster, zeruje prędkości i centruje zero. - Przełączniki `invertHeadMove`, osi X/Y/głębokości dłoni; `handSignal()` podąża za tym samym kierunkiem co dłoń awatara. Kalibracja oczu punktami na ekranie (`src/gaze-calibration.ts`) - Siatka 3×3 (9 punktów), mediana próbek, dopasowanie afiniczne LS z regularyzacją, odrzucenie zdegenerowanych/niskiej jakości prób, bezpieczny zapis i clamp wyjścia. - Kreator w `index.html` + `main.ts`: punkt neutralny głowy, oczy, cztery próby kierunku dłoni, automatyczne wykrycie odwróconych osi, pasek postępu, pomijanie kroku i raport jakości. Po kalibracji ster pozostaje wyłączone. Demonofobia: koniec „deski" i glitchy - `combineMovement()`: W/dotyk mają pierwszeństwo przed kanałem kamerki (W +1 i zepsuta głowa -1 dawały 0). Testy jednostkowe tej reguły. - Ruch próbkuje cały odcinek (`pathClear`), collidery mają widoczne rekwizyty podwórka, `depenetrate()` potrafi wyjść z wnętrza collidera, a watchdog odcina ster z kamerki po 0,7 s bez ruchu. - Skrzydło drzwi odsunięte poza światło przejścia; spawn sprawdza pierścień kapsuły i drogę do drzwi. Pozostałe - Usunięty tryb offline: status `reconnecting`, czat nie udaje wiadomości „tylko u Ciebie", Presence nie pokazuje fikcyjnych graczy. - Zmieniony bezsensowny napis hero, nowe opisy laboratorium. - `src/scenery-layout.ts` + normalizacja bbox GLB: Khronos Lantern.glb (25,66 m × 2,2 = 56 m) ma teraz 1,6 m; twardy limit 7 m dla reszty. - Wersja raportu v0.9.0, README, 82/82 testów (7 nowych plików). Weryfikacja: typecheck 0 błędów, npm test 82/82, build OK, headless QA (WebGL) — 0 błędów konsoli, kreator przechodzi 14 kroków, C zatrzymuje, W przesuwa kadr, Lobby bez gigantycznych lamp, brak treści „offline". Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.9 — pewny STOP, kalibracja 9 punktami, drożny spawn, tylko online, lampy w skali
Zgłoszone usterki z poprzedniego wydania, punkt po punkcie.
Sterowanie bez klawiatury: koniec samoczynnej jazdy
enabledjest tylko stanem sesji. Stary wpis zlocalStoragejest ignorowany (schemat 2),save()nie zapisuje włączenia, arenderLab()przestał włączać ster automatycznie po testach. Po odświeżeniu strony postać stoi.pitchwyprostowanej głowy nie jest już traktowany jako stały przechył. Adaptacyjna korekta punktu neutralnego wygasza dryf, ale nie wygasza świadomego przechyłu (chodzenie głową działa).CameraRig.tick()wywołujeonControlzawsze, więcworld.cameraMoveihorror.cameraJoysticknie trzymają ostatniej prędkości.stop()wyłącza ster, zeruje prędkości i centruje zero na bieżący odczyt.handSignal()podąża za tym samym kierunkiem co dłoń awatara.Kalibracja oczu — punkty na ekranie
Nowy czysty moduł
src/gaze-calibration.ts: siatka 3×3, mediana próbek, dopasowanie afiniczne metodą najmniejszych kwadratów z regularyzacją, ocena jakości i błędu RMS, odrzucenie zdegenerowanych/słabych prób, bezpieczny odczyt zapisu.Kreator (
index.html+main.ts) przeprowadza 14 kroków: punkt neutralny głowy → 9 punktów spojrzenia → 4 próby kierunku dłoni (lewo, prawo, góra, przód). Automatycznie wykrywa odwrócone osie dłoni, pokazuje postęp, pozwala pominąć krok i raportuje jakość. Po kalibracji sterowanie pozostaje wyłączone — gracz włącza je świadomie.Demonofobia: „deska" i glitchowanie
combineMovement()— W/dotyk mają pierwszeństwo przed kanałem z kamerki. Dawniejiy = joystick + cameraJoysticksumowałoW (+1)z zatrutą głową(−1)i dawało0, więc gracz stał mimo wciśniętego klawisza.pathClear), collidery dostały widoczne rekwizyty podwórka,depenetrate()potrafi wyjść z wnętrza collidera, a watchdog po 0,7 s bez ruchu odcina ster z kamerki i wypycha gracza.freeSpawn()sprawdza pierścień kapsuły i całą drogę do drzwi.Pozostałe
reconnecting, ponawianie połączenia, czat nie udaje wiadomości „tylko u Ciebie", Presence nie pokazuje fikcyjnych graczy. Gra jest wyłącznie online multiplayer.src/scenery-layout.ts+ normalizacja z rzeczywistego bbox GLB. KhronosLantern.glbma 25,66 m w pliku i przyscale: 2.2dawał 56 m w parku o promieniu 12 m — teraz ma 1,6 m, a każdy inny obiekt podlega twardemu limitowi 7 m.v0.9.0, README, 82/82 testów (7 nowych plików, w tym test mierzący prawdziwe bboxy wszystkich GLB).Weryfikacja
npm run typechecknpm testnpm run buildCzatrzymuje,Wprzesuwa kadr, korytarz bez deski, Lobby bez gigantycznych lamp, 0 odpowiedzi 4xx, brak treści „offline"Niezweryfikowane w sandboxie: realna kamerka, dotyk i dwóch klientów Supabase WSS na fizycznych urządzeniach.