6시간 지속 경량 웹 생존·피난·전쟁·좀비 개선
작업 중빌드 용량 증가를 차단하고 기존 네 가지 개념을 실제 게임·서버·배포 비용 검증과 함께 개선합니다.
목표와 완료 기준
사용자 요청6시간 동안 현재 웹 빌드의 초기 및 실제 배포 패키지 용량을 절대 늘리지 않으면서 생존·피난·전쟁·좀비 개념과 서비스 비용을 개선합니다.
순차 작업 메뉴얼
순서대로 구현·QA를 확인합니다. 후속 회차에는1~5개만 선택하며 전체 미완료 목록은 보존합니다.
T01실제 기준·기존 게임·비용 측정완료QA 통과
- 실행
- 현재 활성/누적 배포 파일·해시·콜드 브라우저·서버 스냅샷/자산 비용을 측정하고 불변 기준을 보존합니다.
- 완료 기준
- 초기11095729bytes와 실제 패키지 바이트·기능 기준이 기록됩니다.
- QA 절차
- 원본 활성파일 해시/압축해제·현재 실제 게임 캡처/서버 기능 검사
- 순서·수정
- 선행 작업 없음 · r1 · 전체 목록 보존
- 실제 결과
- 현재 활성 초기11095729bytes·압축해제33390388bytes·실제5개 런타임 파일11097504bytes와 SHA-256/원본백업을 고정했습니다. 누적 디렉터리114817961bytes/30개는 과거 빌드가 섞인 값으로 구분합니다. 실제 현재89개/TypeScript 검사 실패0·건너뜀0,100명90초/재접속10/명령9900/오류0·raw전송3987492590bytes. 현재 두 Web 모드의 실제 도시/장비12/구조3·NPC9/12·오류0, 군사/좀비 각각15초 표본2258134/2353775bytes를 확인했습니다. 현재100명 스냅샷39908bytes 중 players23851bytes입니다.
- 최근 QA
- docs/qa/lightweight/baseline.json; snapshot-baseline.json; load-baseline.json; baseline/browser.json; .runtime/lightweight-baseline-tests.log · 2026-10-30T20:24:58.023Z
T02용량 증가 차단·깨끗한 배포 도구완료QA 통과
- 실행
- 초기 및 전체 런타임 상한·참조 누락/여분파일 검사를 구현하고 이전 빌드 누적 없이 검증된 후보만 가역 적용합니다.
- 완료 기준
- 용량 초과/누락/여분파일은 적용 전 실패하며 기존 게임은 보존됩니다.
- QA 절차
- 실제 정상·초과·누락·여분 후보 검사와 복원 가능한 적용/재접속
- 순서·수정
- T01 · r1 · 전체 목록 보존
- 실제 결과
- 13개 도구 검사에서 gzip/br 파일 검증·1바이트 상한·누락/손상/여분/원격참조·오래된/실패 QA 거부·원본 보존·기록 실패 시 실제 이전 게임/잠금 복원을 확인했습니다. 실제 게임의 로더1바이트 증가 후보는 차단됐고 기본 게임 지문이 유지됐습니다. 실제 후보/기본8788 각각13개 검사(파일별 압축해제 해시/인코딩/wasm MIME·도시·점프·한글채팅·기존카탈로그·오류0)를 통과한 동일 게임을5파일11097472bytes로 적용했습니다. 초기11095729bytes는 동일하며 누적114817961bytes는 비공개 백업에 보존했습니다. PowerShell과 실제Unity 진입점은 출력 누락/기존배포 덮어쓰기를 거부했습니다. 프로젝트 AGENTS·README·서비스 문서에 상한을 고정했습니다.
- 최근 QA
- 콘텐츠 해시 이름의 실제파일변조 거부·UTF8전체바이트·디렉터리junction거부와 기존13개를 포함한16개패키지검사, 실제Brotli/gzip/HEAD/캐시/경로HTTP5검사를 다시통과했습니다. Unity출력경로보호·기본게임기존승인상한은유지합니다.tools/test/web-release.test.mjs; server/test/web-delivery.test.ts; .runtime/lightweight-delivery-tests.log · 2026-10-30T21:16:26.553Z
T03동일 기능의 다운로드·에셋 경량화완료QA 통과
- 실행
- 현재 자산/엔진 비용을 분석하고 압축·불필요한 중복 리소스·임포트 비용을 줄입니다. 한글/애니메이션/네 모드를 유지합니다.
- 완료 기준
- 초기/전체 패키지가 기준보다 작고 기존 표시·조작이 실제 실행됩니다.
- QA 절차
- 원본/후보 바이트·헤더·압축해제·한글·행동·수원/전쟁/좀비 실제 렌더
- 순서·수정
- T02 · r1 · 전체 목록 보존
- 실제 결과
- 동일 디코딩 해시의 Brotli 재압축8503386bytes를 실제 브라우저에서 검증한 후, 필수 스크립트를 직렬화한 부트스트랩/기본스플래시 제거와 엔진 축소·참조없는AvatarMask10개 제거·키프레임 축소로 현재 초기6775800/전체6777674bytes(기준11095729/11097472 이하)를 확인했습니다. 원본14클립73444본자세 최대위치0.001101m·측정회전0도/FBX보존·반복생성바이트동일. 실패한Optimal2회 기록을 보존했습니다. 실제 Native23검사·Web14행동/원격동기화·기본Web13검사·군사/좀비9/12NPC·오류0을 통과했습니다.21개 배포도구/HTTP검사·TypeScript 통과. 실제 콜드CDP게임파일전송6776884bytes→같은컨텍스트웜0bytes이며HTML/지도/WS와구분합니다. 이 후보는 아직 기본 게임에 적용하지 않았습니다.
- 최근 QA
- docs/qa/lightweight/recompression.json; assets-package.json; character-compression.json; native-actions/actions.json; web-actions/result.json; assets/execution.json; assets/browser.json; cache/result.json; .runtime/lightweight-delivery-tests.log · 2026-10-30T21:16:26.553Z
T04멀티플레이 전송·서버 비용 감소진행QA 실패
- 실행
- 호환 협상과 서버 권한을 보존하며 반복 불변 데이터·상태 전송을 줄이고 재접속·월드 격리를 검증합니다.
- 완료 기준
- 현재 부하 대비 실제 전송량이 줄고 상태/명령 결과가 유지됩니다.
- QA 절차
- 구/신 프로토콜 상태 동등성·100명90초/재접속·월드/명령/거래·실제 두 브라우저
- 순서·수정
- T03 · r1 · 이번 회차 대상
- 최근 QA
- 최초 비공개 코덱 검사에서 __proto__ 키가 허용되는 실패를 확인했습니다. 명시적 금지 키 배열과 변경 전 검증으로 수정했으며, 이 실패는 배포 전 시험입니다. 현재16개 코덱/실제WS 검사와 전체110개 서버 검사는 통과했고 실제 Web 재접속/복구6검사도 통과했습니다. 행동 회귀가 진행 중이므로 단계 완료 처리는 보류합니다.docs/qa/lightweight/attempts/state-patch-01.json; .runtime/state-patch-entities-tests-02.log; .runtime/lightweight-network-full-tests-02.log; docs/qa/lightweight/network-browser/result.json · 2026-10-30T21:59:25.806Z
T05기존 자산 중심 네 가지 게임 루프 보강대기QA 미실행
- 실행
- 생존·피난 구조·군사 전장·좀비에서 기존 물품/캐릭터/애니메이션을 재사용하는 데이터 기반 선택/위험/보상과 안내를 보강합니다. 규칙은 설정으로 분리합니다.
- 완료 기준
- 네 개념의 실제 플레이 연결이 있으며 새 대형 에셋/필수 추가 다운로드가 없습니다.
- QA 절차
- 각 모드의 수색→생존/선택구조·전투/좀비 위협·보상/중복/저장·실제 UI/상태
- 순서·수정
- T04 · r1 · 전체 목록 보존
T06런타임 렌더·메모리·기기 설정 개선대기QA 미실행
- 실행
- 실제 측정에서 확인한 렌더/메모리 낭비를 줄이고 경량 기본 설정·거리/효과 상한을 검증합니다.
- 완료 기준
- 기존 핵심 표현/정보를 보존하며 측정된 비용과 제한이 기록됩니다.
- QA 절차
- 동일 시점/기기 조건 비교·장시간 이동/월드 전환·실제 장면/오류·빌드 상한
- 순서·수정
- T05 · r1 · 전체 목록 보존
T07전체 회귀·실제 로컬 적용대기QA 미실행
- 실행
- 현재 전체 서버/DB/클라이언트·네 개념과 멀티플레이·엄격 용량 게이트를 통과한 마지막 후보만 적용합니다.
- 완료 기준
- 실제8788 게임과 저장/재접속이 유지되고 초기/전체 용량이 증가하지 않습니다.
- QA 절차
- 전체 자동검사·Native/Web·2클라이언트·100명 부하·저장복구·깨끗한 패키지/실제 화면
- 순서·수정
- T06 · r1 · 전체 목록 보존
T08최종 전체 QA·시간·아카이브 전달대기QA 미실행
- 실행
- 현재 버전 전체 QA·원본/결과 비교와 실제 화면 HTML 보고·공개 상태·시간·교훈을 기록합니다.
- 완료 기준
- 6시간 예산 안에 적용/검증/정확한 상태 보고가 있으며 미실행 항목을 통과 처리하지 않습니다.
- QA 절차
- 현재 전체 작업/의존버전 QA·이미지/HTML/링크·공개 확인 또는 실제 제한 증거
- 순서·수정
- T07 · r1 · 전체 목록 보존
QA 반복 기록
실패 → 수정 → 해당 QA → 영향 범위 회귀 → 전체 최종 QA 순서로 확인합니다. 과거 실패를 삭제하지 않습니다.
Q01 · 작업 QA2026-10-30T20:24:58.023Z1/1 통과
불변 바이트·현재 전체 서버/실제 두 모드 기준 측정
현재 활성 초기11095729bytes·압축해제33390388bytes·실제5개 런타임 파일11097504bytes와 SHA-256/원본백업을 고정했습니다. 누적 디렉터리114817961bytes/30개는 과거 빌드가 섞인 값으로 구분합니다. 실제 현재89개/TypeScript 검사 실패0·건너뜀0,100명90초/재접속10/명령9900/오류0·raw전송3987492590bytes. 현재 두 Web 모드의 실제 도시/장비12/구조3·NPC9/12·오류0, 군사/좀비 각각15초 표본2258134/2353775bytes를 확인했습니다. 현재100명 스냅샷39908bytes 중 players23851bytes입니다.
docs/qa/lightweight/baseline.json; snapshot-baseline.json; load-baseline.json; baseline/browser.json; .runtime/lightweight-baseline-tests.logQ02 · 작업 QA2026-10-30T20:35:08.852Z1/1 통과
초기/전체/마지막릴리스 상한·실제1바이트 거부·깨끗한 가역 적용
13개 도구 검사에서 gzip/br 파일 검증·1바이트 상한·누락/손상/여분/원격참조·오래된/실패 QA 거부·원본 보존·기록 실패 시 실제 이전 게임/잠금 복원을 확인했습니다. 실제 게임의 로더1바이트 증가 후보는 차단됐고 기본 게임 지문이 유지됐습니다. 실제 후보/기본8788 각각13개 검사(파일별 압축해제 해시/인코딩/wasm MIME·도시·점프·한글채팅·기존카탈로그·오류0)를 통과한 동일 게임을5파일11097472bytes로 적용했습니다. 초기11095729bytes는 동일하며 누적114817961bytes는 비공개 백업에 보존했습니다. PowerShell과 실제Unity 진입점은 출력 누락/기존배포 덮어쓰기를 거부했습니다. 프로젝트 AGENTS·README·서비스 문서에 상한을 고정했습니다.
tools/test/web-release.test.mjs; docs/qa/lightweight/one-byte-gate.json; package/execution.json; package-live/execution.json; unity-build-gate.json; package-promotion.jsonQ03 · 작업 QA2026-10-30T20:51:40.427Z0/1 통과
모션 압축 최초 품질 게이트 실패·미적용
14클립73444본자세 비교에서 초기 Optimal(.1/.01/.01) 압축의 최대오차 약0.01477m/2.6053도가3mm/.35도 게이트를 넘어 실패했습니다. 컨트롤러는 실제 참조 없는 AvatarMask10개를 확인해32객체/마스크11→22객체/마스크1로 정리했고 반복Prepare의 동일바이트/원본FBX유지는 통과했습니다. 실패 모션은 실제 기본 게임에 적용하지 않았습니다. 새 검사는 매번 Off 원본을 다시 불러와 기준을 고정한 후 더 낮은오차로 재검증합니다.
docs/qa/lightweight/attempts/character-compression-01.json; .runtime/character-compression.log; Assets/Editor/CharacterCompressionVerification.csQ04 · 작업 QA2026-10-30T20:52:24.097Z0/1 통과
더 낮은Optimal오차 설정도 자세 게이트 실패·미적용
Off 원본을 매번 다시 불러온 두 번째 검사에서도 .005/.001/.001 Optimal 설정의 최대 회전2.6053도/위치0.01477m가 유지되어 실패했습니다. 원본FBX·참조정리·반복파일동일은 통과했으나 이 모션 후보는 적용하지 않았습니다. 추가 런타임 곡선 압축을 사용하지 않는 KeyframeReduction 방식으로 분리해 검사합니다. 같은 오차가 유지되는 구체적인 엔진 내부 원인은 미확인입니다.
docs/qa/lightweight/attempts/character-compression-20261030205147172.jsonQ05 · 회귀 QA2026-10-30T21:16:26.553Z2/2 통과
파일/엔진/모션/캐시 경량화 현재 후보 실행 통과
동일 디코딩 해시의 Brotli 재압축8503386bytes를 실제 브라우저에서 검증한 후, 필수 스크립트를 직렬화한 부트스트랩/기본스플래시 제거와 엔진 축소·참조없는AvatarMask10개 제거·키프레임 축소로 현재 초기6775800/전체6777674bytes(기준11095729/11097472 이하)를 확인했습니다. 원본14클립73444본자세 최대위치0.001101m·측정회전0도/FBX보존·반복생성바이트동일. 실패한Optimal2회 기록을 보존했습니다. 실제 Native23검사·Web14행동/원격동기화·기본Web13검사·군사/좀비9/12NPC·오류0을 통과했습니다.21개 배포도구/HTTP검사·TypeScript 통과. 실제 콜드CDP게임파일전송6776884bytes→같은컨텍스트웜0bytes이며HTML/지도/WS와구분합니다. 이 후보는 아직 기본 게임에 적용하지 않았습니다.
docs/qa/lightweight/recompression.json; assets-package.json; character-compression.json; native-actions/actions.json; web-actions/result.json; assets/execution.json; assets/browser.json; cache/result.json; .runtime/lightweight-delivery-tests.log콘텐츠 해시 이름의 실제파일변조 거부·UTF8전체바이트·디렉터리junction거부와 기존13개를 포함한16개패키지검사, 실제Brotli/gzip/HEAD/캐시/경로HTTP5검사를 다시통과했습니다. Unity출력경로보호·기본게임기존승인상한은유지합니다.
tools/test/web-release.test.mjs; server/test/web-delivery.test.ts; .runtime/lightweight-delivery-tests.logQ06 · 작업 QA2026-10-30T21:59:25.806Z0/1 통과
비공개 상태 패치 최초 실패와 수정 근거 보존
최초 비공개 코덱 검사에서 __proto__ 키가 허용되는 실패를 확인했습니다. 명시적 금지 키 배열과 변경 전 검증으로 수정했으며, 이 실패는 배포 전 시험입니다. 현재16개 코덱/실제WS 검사와 전체110개 서버 검사는 통과했고 실제 Web 재접속/복구6검사도 통과했습니다. 행동 회귀가 진행 중이므로 단계 완료 처리는 보류합니다.
docs/qa/lightweight/attempts/state-patch-01.json; .runtime/state-patch-entities-tests-02.log; .runtime/lightweight-network-full-tests-02.log; docs/qa/lightweight/network-browser/result.json남은 작업과 다음 반복
첫 미완료 작업부터 실제 실행·QA를 진행합니다.
다음 작업: T04 · 멀티플레이 전송·서버 비용 감소
남은 작업으로 소수 후속 회차 만들기다른 버전·회차 16개
1회차 · v1.0.16 · 2026-10-31T02:51:34.310Z · 완료1회차 · v1.0.15 · 2026-10-31T02:48:02.825Z · QA 중1회차 · v1.0.14 · 2026-10-31T00:01:30.893Z · 작업 중1회차 · v1.0.13 · 2026-10-30T23:50:16.134Z · 작업 중1회차 · v1.0.12 · 2026-10-30T23:50:15.838Z · 작업 중1회차 · v1.0.11 · 2026-10-30T23:06:08.351Z · 작업 중1회차 · v1.0.10 · 2026-10-30T22:56:03.636Z · 작업 중1회차 · v1.0.9 · 2026-10-30T22:15:40.028Z · 작업 중1회차 · v1.0.8 · 2026-10-30T22:12:05.717Z · 작업 중1회차 · v1.0.7 · 2026-10-30T21:59:52.965Z · 작업 중1회차 · v1.0.5 · 2026-10-30T21:16:26.816Z · 작업 중1회차 · v1.0.4 · 2026-10-30T20:52:24.247Z · 작업 중1회차 · v1.0.3 · 2026-10-30T20:51:40.623Z · 작업 중1회차 · v1.0.2 · 2026-10-30T20:35:09.080Z · 작업 중1회차 · v1.0.1 · 2026-10-30T20:24:58.216Z · 작업 중1회차 · v1.0.0 · 2026-10-30T20:18:55.189Z · 작업 중작업 시간
제안 시간: 6시간 예산. 시작2026-10-31 05:16:01 KST, 종료 예산2026-10-31 11:16:01 KST. 분석/상한/패키지55분·파일경량화60분·전송60분·게임루프80분·런타임40분·회귀/전달65분을 우선 배분하며 실제 결과에 따라 순서 내 조정합니다.
실제로 완료된 시간: 기록 2026-10-31 06:59:25 KST. 시작2026-10-31 05:16:01 KST·6시간 예산 종료11:16:01 KST.
XERJ: 미사용 — 도구 목록에서 XERJ 제공 없음 확인. rg·실제 소스/로그/실행으로 대체합니다.
Tracefolio REPORTS & ISSUES