엔진 자산 시스템 v1 + 딥 채팅 개선
4개의 병렬 트랙에 대한 24시간 푸시: 엔진은 적절한 자산 시스템을 확보하고 CI에서 게이트된 "픽셀 패리티" 품질 척도를 높였으며 샌드박스를 통해 에이전트는 그림이 올바른지 "확인"할 수 있었고 채팅 패널은 100번의 폴리시 패스를 거쳤으며 백엔드는 안전 및 계약에 대한 엄격한 테스트를 실시했으며 대규모 리팩터링을 통해 마침내 인터페이스의 핫 리로드가 독립적이게 되었습니다.
하루에 4개의 트랙: 그날의 파노라마
자정부터 다음날 아침까지 4개의 트랙이 동시에 실행되는 가장 밀도가 높은 날이었습니다. 엄격한 7단계 폐쇄 루프에 따른 기능 및 수정 후 엔진 착륙 기능, "완료되지 않음" 정상 상태 광택으로 들어가는 채팅 패널, 하나씩 테스트를 통해 백엔드 고정 안전 및 인터페이스가 축소되고, 인터페이스의 핫 리로드를 자체적으로 끌어내는 종료 리팩터링이 포함됩니다. 하루 동안 많은 것을 혼란 없이 압축한 결과 두 가지로 귀결되었습니다. 각 트랙에는 명확한 경계와 수용 기준이 있었고, 변경 사항이 기초에 가까울수록 검증 가능해야 했습니다. 아래에는 테마별로 나누어져 있지만 하루 만에 서로 맞물려 롤포워드된다는 점을 기억하세요.
엔진 자산 시스템 v1: 핸들로 게임 콘텐츠 참조
이날 엔진의 가장 중요한 전달은 자산 시스템의 첫 번째 버전이었습니다. 이전에는 모델, 텍스처, 장면과 같은 "게임 콘텐츠"를 관리할 수 있는 통일된 방법이 없었습니다. 자산 시스템은 그들에게 공식적인 정체성을 부여했습니다. 모든 자산은 거대한 원시 데이터를 전달하는 대신 가벼운 "핸들"을 통해 참조되는 구조화된 객체입니다. 손잡이는 도서관 호출번호와 같습니다. 손잡이를 잡고 있으면 책 전체를 들고 다니지 않고도 책을 가져올 수 있습니다. 체인을 검증하기 위해 샘플 룸 장면이 구축되었습니다. 중요성: 이제 모델, 텍스처 및 장면을 로드하기 위한 하나의 진입점을 통해 게임 콘텐츠를 구조화된 방식으로 참조, 공유 및 재사용할 수 있습니다. 이는 이후의 모든 "모델 가져오기, 장면에 자산 배치" 기능의 진정한 시작점입니다.
픽셀 패리티 벤치마크: 렌더링 품질은 조용히 퇴보할 수 없습니다.
사내 렌더러가 가장 두려워하는 것은 단 하나의 잘못된 프레임이 아니라 "아무도 눈치 채지 못한 채 조용히 악화되는 것"입니다. 한 가지를 변경하면 일부 프레임은 참조와 몇 픽셀씩 다르며 눈에는 보이지 않지만 시간이 지남에 따라 표류합니다. 오늘은 "픽셀 패리티" 기준을 제시했습니다. 엔진의 렌더링된 프레임을 참조 픽셀과 비교하여 차이가 임계값을 초과하는 순간 연속 통합이 빨간색으로 바뀌고 변경 사항이 트렁크에 병합되지 않도록 차단합니다. 손으로 보고 느끼는 것에서 "렌더링이 올바른지"를 모든 커밋에서 실행되는 자동적이고 객관적인 게이트로 바꿉니다. 이미지 품질을 장기적으로 발전시키는 엔진의 경우 이 게이트는 품질을 안정적으로 유지하기 위한 전제 조건입니다. 이 게이트를 사용하면 두려움 없이 과감하게 렌더링을 변경할 수 있습니다.
샌드박스 시각적 확인: 에이전트가 그림이 올바른지 "확인"하도록 합니다.
AI 편집 게임을 사용하면 피할 수 없는 문제가 자동으로 발생합니다. 내용이 변경된 후 그림이 실제로 올바른지 어떻게 알 수 있습니까? 코드에 오류가 발생했는지 여부만 확인하면 성공했다고 믿으면서도 "코드는 충돌하지 않았지만 화면이 검게 표시됩니다"라는 결과가 발생하기 쉽습니다. 오늘은 샌드박스에 시각적 검증 메커니즘을 구축하여 "그림 생성"과 "그림 확인"의 두 가지 역할을 의도적으로 분리했습니다. 한 쪽에서는 게임을 실행하고 프레임을 캡처하고 다른 쪽에서는 캡처된 프레임을 판단합니다. 역할을 분리하면 검증의 신뢰성이 더욱 높아집니다. "편집하고, 스크린샷을 찍고, 괜찮다고 선언합니다"라는 자체 인증 함정이 없습니다. 이 단계는 에이전트가 "코드 작성 가능"에서 "출력에 대한 책임"으로 이동하는 데 핵심입니다. 더 이상 벽 위에 코드를 던지지 않고 루프를 닫고 "내가 만든 것이 실제로 어떻게 생겼는지"를 볼 수 있습니다.
인스턴스 렌더링 + 많은 객체: 시금석으로서의 블록 게임
이날은 또한 "낙하 블록 제거" 미니 게임 데모를 통해 엔진의 다중 개체 기능을 강화했습니다. 이러한 게임은 한 번에 화면에 동일한 블록을 많이 표시하며 각 더미에 대해 별도의 그리기 명령을 실행하면 비용이 빨리 듭니다. 이를 위해 엔진은 "인스턴스 드로잉"을 추가했습니다. 단일 제출로 동일한 객체의 대규모 배치를 그려 반복 비용을 상각합니다. 다중 개체 렌더링 경로가 나란히 정리되어 "함께 나타나는 많은 개체"가 빠르고 안정적으로 실행됩니다. 추상적인 테스트가 아닌 실제로 플레이 가능한 미니 게임으로 검증하는 것 자체가 규율입니다. 실제 게임을 원활하게 실행하는 것이 격리된 스니펫을 통과하는 것보다 훨씬 더 설득력이 있습니다.
~100개의 채팅 폴란드 패스: 비용, 기간, 여러 제공자
오늘 채팅 패널은 "완료되지 않음" 정상 상태로 전환되었으며, 몇 가지 실용적인 사항에 초점을 맞춘 수백 번의 작은 반복이 이루어졌습니다. 하나: 적응형 금액 형식(센트, 다임, 달러 각각을 올바른 정밀도로)을 사용하여 각 턴의 실제 비용과 기간을 표면화하므로 비용이 얼마인지 한 눈에 확인할 수 있습니다. 두 번째: "사용할 코딩 백엔드"에 대한 전환 가능한 선택기: 대화를 하나에 고정할 수 있으며 선택 사항이 기억되고 탭 전체에서 동기화되며 위/아래 키보드 선택을 지원하고 선택한 항목을 사용할 수 없을 때 경고합니다. 세 번째: 불안을 유발하는 "모델이 오랫동안 조용히 생각하고 있습니다" 상태를 사려 깊게 처리합니다. 경과 시간을 초 단위로 표시하여 임계값을 넘어선 전환을 제안하고 "완료되었지만 눈에 보이는 출력이 없음"에 대한 자리 표시자 메모를 표시합니다. 각 패스는 한 가지만 건드리고 자체 테스트를 실시하고 메모를 기록했습니다. 이 트랙은 사용자가 매일 가장 오랫동안 쳐다보는 표면이기 때문에 100번의 패스를 얻습니다. 아무리 기능이 강력하더라도 힘들게 읽고 불확실하다고 느끼면 신뢰가 없습니다.
백엔드 안전 및 계약 강화: 화이트리스트, 순회 방어, 다양한 테스트
에이전트는 실제로 컴퓨터에서 파일을 읽고 쓰기 때문에 백엔드는 "필요한 부분만 건드릴 수 있도록" 완벽하게 만들어야 합니다. 오늘은 파일 및 경로 안전에 대한 대규모 방어 및 테스트를 마련했습니다. 화이트리스트로 액세스 가능한 경로를 제한하고, "디렉터리 순회" 초과 도달에 대한 방어를 추가하고, 파일을 작성할 때 기존 디렉토리 덮어쓰기를 거부하고, 외부 응답에서 사용자의 홈 경로를 수정합니다(머신의 실제 경로가 누출되지 않도록). 한편 백엔드의 인터페이스 계약은 테스트별로 고정되었습니다. 어떤 입력이 무엇을 반환해야 하는지, 엣지 케이스가 어떻게 처리되는지, 모두 테스트로 보호되는지, 단위 테스트 수가 그날 이정표를 넘었습니다. 이 중 어느 것도 "눈에 보이는 새로운 기능"은 아니지만 파일 편집 AI를 자신의 프로젝트에 허용할지 여부를 결정합니다. 명확한 경계, 예측 가능한 동작 및 테스트에서 포착된 회귀만이 진정한 마음의 평화입니다.
마무리 리팩터링: 인터페이스의 핫 리로드를 독립적으로 만들기
인터페이스의 핫 리로드 메커니즘을 독립적으로 만들고 각 부분을 그 자리에 배치하는 구조적 리팩토링으로 하루가 이른 시간으로 마무리되었습니다. 사용자의 게임 데이터는 인스턴스의 자체 디렉터리로 이동되고, 엔진 소스는 통합된 빌드 위치로 추출되었으며, 환경 구성은 저장소 루트로 이동되었으며, 함정에 빠지기 쉬운 중첩 디렉터리 레이아웃이 정리되었습니다. 이러한 리팩터링은 사용자 측에서는 거의 변화가 없음을 보여 주지만 "편집 코드, 인터페이스 핫 리로드 즉시" 경험을 더 깔끔하고 교차 간섭 가능성이 줄어듭니다. 기초가 명확할수록 나중에 더 빨리 구축할 수 있습니다. 하루가 끝날 때 이렇게 하는 것은 정확히 많은 새로운 것들이 착륙한 후 전체 나무를 재정렬하기 위해 한 번의 통합이 필요하기 때문입니다.
오늘의 의미
이전에는 "대화가 실행 가능한 무언가를 구축할 수 있다"는 것이 증명되었다면, 오늘은 "장기적으로 안정적으로 수행할 수 있는가"에 대한 토대를 마련한 것입니다. 자산 시스템을 사용하면 콘텐츠를 구조적으로 관리할 수 있습니다. 픽셀 패리티 벤치마크와 샌드박스 시각적 검증을 통해 "그림이 맞는지"에 대한 객관적인 판단을 내릴 수 있습니다. 백엔드의 안전성과 테스트는 "AI가 작동하도록 하는 것"을 신뢰할 수 있게 만듭니다. 채팅 개선은 사람들이 매일 사용하고 싶게 만듭니다. 닫는 리팩터링은 엔지니어링 측면에서 모든 것을 깨끗하게 유지합니다. 그들은 함께 입장을 드러냅니다. 빠른 속도로 전진하면서도 모든 단계에서 확인, 회귀 및 회고할 수 있는 견고한 흔적을 남깁니다. 이것이 바로 이 로그가 향후 개발을 위해 남기고자 하는 모델입니다. 속도와 엄격함은 둘 중 하나가 아니라 같은 날에 달성할 수 있는 두 가지입니다.