# CITY P4 — pełna mapa / STOP 4 9 listopada 2026. Niezależny worktree `city-p4-full-map/CITY`, gałąź `codex/city-p4-full-map`. Bazowy zaakceptowany kandydat `f90e005f7893007e934f1e4ba0333c3532188e80` pozostaje bez zmian. P4 nie jest jego nowym wydaniem ani integracją z grą. Końcowy lokalny SHA dostawy wskazuje odpowiedź / git log. ## Wynik liczbowy - Wejście i wynik: **5441 unikalnych tożsamości**. Wszystkie przypisano dokładnie raz do 323 kafli, także 37 rekordów poza dawnym bbox wyświetlania. - **1799** nowych brył/elewacji po kontroli danych, **3568** zachowanych wcześniejszych wariantów i **74** chronione obiekty (w tym aktywne indywidualne opracowania). To pełny wynik mieszany; nie deklarujemy 5441 nowych fasad. - **26** prób budowy złożonych dachów przekroczyło istniejący limit bezpiecznej liczby załamań; oryginały zachowano. Błędy i ID są w QUALITY_SUMMARY.json; nie są ukryte jako sukces nowych modeli. - Kolejka niechronionych rekordów do kontroli: **3582**; obejmuje konflikty i ostrożne zachowania, a nie wyłącznie uszkodzone obiekty. [Pełna lista](REVIEW_QUEUE.json), [decyzje 5441](BUILDING_DECISIONS.json). Kategorie nakładają się. | Powód zachowania | Liczba | |---|---:| | generation-error-retained-original | 26 | | source-roof-would-be-rejected | 278 | | T3-height-level-conflict | 859 | | G07-neutral-facade-risk | 1485 | | source-roof-quality-review | 146 | | unknown-roof-retain-existing | 2510 | | unverified-height-retain-existing-proxy | 1130 | ## Co chronimy i jak Identyfikatory, obrysy, otwory, źródłowy świat, NMT, ulice i modele pozostały w oryginalnych plikach. Nowe reguły korzystają z niezmienionych funkcji CITY-11, otoczonych ostrożną polityką P4. Brak podstaw do wysokości lub dachu, konflikt kondygnacji, ryzyko G07 albo indywidualny model oznacza zachowanie poprzedniej geometrii. Każdy rekord ma źródła, reguły, konflikty i status. BDOT nadal jest mocnym kandydatem po kontroli, nie automatycznie zaakceptowanym pomiarem. G07 zachowuje wcześniejszą fasadę i dach zamiast masowego pustego wariantu. T3 nie otrzymuje automatycznie nowej wysokości przy konflikcie; przypadki dachów wymagają osobnego przeglądu. Zielona narożna kamienica pozostaje bez nowych domysłów. Ochrona obejmuje kościół i dzwonnicę, Delfina, SP1/SP3, dworzec oraz pozostały katalog ręcznych modeli. Grupy landmarków są atomowe. Środowisko jest przycinane geometrycznie na wspólnych granicach; budynki nie są przecinane. Poziomy wody wyznaczamy z pełnego świata przed kaflowaniem, zachowując trzy jawne rzędne jezior. Domknięte poligony zapobiegają pomijaniu małych przyciętych fragmentów. Prywatne fotografie nie są teksturami ani zasobami paczki. Oryginalne proceduralne płótna są odtwarzane z tych samych instrukcji; bufory mają bezstratny format P4 i SHA. ## Podgląd `npm run dev` w tym worktree → [pełna mapa](http://127.0.0.1:5197/city-p4.html). Przygotowany runtime uruchamia `node scripts/p4-static.mjs` na 5197, z galerią i bez backendu QA. Pełna instrukcja: [README.md](README.md). Vite preview samego dist nie udostępnia galerii źródłowej. Nie uruchamiać równolegle obu serwerów. W nowym checkout zależności: `npm ci` z własnym lockfile; nie używać zależności innych LAB-ów. WASD/strzałki i Q/E pozwalają przemieszczać kamerę; Shift przyspiesza. Mysz obraca, przesuwa i zbliża. Ulica utrzymuje kamerę na źródłowym NMT i blokuje ruch w obrysach budynków; lot jest swobodny. To sterowanie kamerą, bez integracji VEHICLES/CHARACTERS i bez deklaracji pełnej fizyki rozgrywki. Zbliżenie z widoku całego miasta automatycznie doczytuje pełne modele. Skróty: Rynek, Wojska Polskiego, Delfin, Paderewskiego, Strzelecka, Mostowa/Rolna, Dworzec PKP i problem G07. Kamera dworca pokazuje elewację peronową wskazaną w istniejącej referencji modelu. Strzelecka używa sprawdzonej kamery streetB sektora T3, zamiast wcześniejszego punktu w zieleni. Wszystkie osiem punktów sprawdzono poza obrysami budynków. Kliknięcie lub OSM ID pokazuje dane i rozróżnia wyświetlany stary model od niezastosowanej propozycji resolvera. Selekcja przez źródłowe obwiednie może być przybliżona przy złożonych bryłach; wpisanie ID usuwa niejednoznaczność. Po zbliżeniu przez ID nagłówek nadal nazywa ostatni wybrany preset miejsca; aktualny obiekt i jego status wskazuje inspektor. [A/P4 z tych samych kamer](index.html) · [pomiary](CITY_P4_PERFORMANCE.md). Ręcznie dopracowane obiekty i cały kontekst są obecne, bez ukrywania drzew na potrzeby kadru. ## Testy i odtwarzanie - `npm run export`: pełny P4, 109.8 s, 136.7 MiB skompresowanych scen i tekstur A/C/otoczenia, bez pozostałych indeksów i źródłowej kopii nawigacyjnej. - `npm test`: **110/110 PASS**, bez pominiętych; `npm run build`: **PASS**. [Wyniki](verification/results.json). Końcowy build po dopięciu metadanych pomiarów: verification/build-final.txt. Ostrzeżenie o dużych chunkach pozostaje jawne. - Testy sprawdzają wszystkie 1615 scen i referencje materiałów, skończone atrybuty, indeksy, instancje, kompresję i odtworzenie typów, 5441 stabilnych kluczy, ochronę i fallbacki, zamrożony kandydat i galerię 54 klatek. Regresja T1–T4 zachowuje decyzje z tolerancją 1e-8 dla arytmetyki NMT i dokładne bufory brył obiektów dopuszczonych do generacji. - Osobne testy sprawdzają globalne poziomy wody oraz zgodność wszystkich badanych wierzchołków gruntu z triangulacją źródłowego NMT do 2 mm tolerancji obliczeń Float32/przycięcia. To nie dokładność pomiaru terenowego. Zachowano 663 historyczne pliki; dwa raporty zapisane przez stare testy odłożono do nowego verification/fresh i przywrócono oryginały. - Nowy worktree wymaga dawnych ignorowanych fixture’ów `export/` do historycznych testów; tutaj skopiowano istniejące artefakty z kandydata tylko do odczytu. Alternatywnie można je odtworzyć poleceniem `npm run export:legacy` wyłącznie w niezależnym checkout. `node scripts/verify-p4.mjs` zachowuje historyczne raporty podczas testów/builda. - Jedyny wąski wyjątek starego testu integralności to jawna zmiana dispatchu package.json: eksport P4, zachowane `export:legacy` i dodatkowe `dev:p4`; wszystkie pozostałe pola są porównywane z dokładnym kandydatem. Nie rozszerzono uprawnień generatora pilotażowego. - Metadane kadrów wiążą faktyczną sesję z hashem manifestu mapy i plikami runtime. Nie wykonano testu Maca, słabego GPU, VRAM, przejazdu każdą ulicą lub pełnej fizyki gry. ## Rekomendacja Rekomenduję dalszą kontrolowaną iterację jakości i wydajności P4 przed integracją z grą: priorytetem są brakujące dachy/wysokości, neutralne fasady, 26 złożonych dachów oraz koszt pełnego kontekstu i inicjalizacji. Nie ma podstaw do masowego uznania zachowanych proxy za realistyczne modele. Ten etap potwierdza działający podgląd pełnego zbioru z kontrolowaną, odwracalną generacją. **STOP 4 — gotowe do oceny właściciela. Bez dalszego etapu, merge, push, VPS lub integracji.** ## Odbiór interfejsu i samodzielnego runtime [Instrukcja i wymagania runtime](README.md). [Rzeczywiste sprawdzenia UI](UI_QA.json) rozdzielają test przeglądarkowy od automatycznej regresji. Paczka statyczna jest izolowana od pozostałych LAB-ów i nie wymaga endpointu QA. Jej końcowy SHA i powiązanie z lokalnym commitem wskazuje ignorowany delivery/CITY_P4/FREEZE.json; manifest źródeł znajduje się w DELIVERY_MANIFEST.json. To lokalne zamrożenie do odbioru, bez zgody na przekazanie plików lub publikację.