오픈월드 (기술테스트연구실) 개발 히스토리
소스코드 주석 전수 추출본 — git 커밋 기록(2026-07-18 ~ 07-23) 및 6개 핵심 파일 주석 666여 건 정리
A. scene_3d.jsB. scene_client.jsC. ws_client.jsD. 서버 사이드A. js/domain/scene/scene_3d.js클라이언트 3D 렌더링 / Three.js · 270건
A-1. 파일 헤더 & 기본 상수 (v1.x ~ v4.5)
[v1.2]Quaternius Stylized Nature MegaKit GLTF 로드 도입, 고정시드 PRNG로 모든 클라이언트 동일 레이아웃 구성
[v1.3]채팅방 배경이미지 바닥 기능 제거 후 실제 자연경관 바닥으로 대체
[v2.0]월드 10배 확장(반경 50→160), 4계절 바이옴(봄/여름/가을/겨울) 동서남북 배치, 야자수는 fern.glb 방사형 배치로 대체, 계절 틴트 적용(나무껍질/바위 원색 유지, 잎만 색 곱하기)
[v3.8]물/눈 텍스처, 하늘/구름(역구체+빌보드), 흙길 리본, 배경음악 계절 전환 및 탐험곡, 3D 캐릭터(치비 애니메이션) 도입
[v4.4]캐릭터 스케일 0.27로 축소 및 눈높이 재조정, 메가킷 68종 전체 반영(기존 20종에서 확장)
[v4.5]"0.98은 머리에 붙어보임" 피드백 반영으로 닉네임 간격 재조정
A-2. 그래픽 & 카메라 & 월드 크기 (v4.16 ~ v4.35)
[v4.16]"각지고 딱딱하다" 피드백에 따라 SMAA 포스트프로세싱 도입 (OutputPass 필수)
[v4.17]캐릭터 좌클릭시 하이라이트 및 멘션 콜백 연결
[v4.19]이동 클릭 시 물방울 파장 이펙트 생성, 선택 하이라이트 지속 표시
[v4.22]월드 20% 추가 확장, 안개 시야를 HUB_RADIUS 근처로 좁혀 탐험감 강화, 최대 줌아웃 120으로 조정
[v4.27]하늘 및 구름을 카메라 레이어 1 전용으로 분리 (미니맵 레이더에 잡히지 않도록 수정)
[v4.29]미니맵 방향모드 지원을 위한 up벡터 계산 및 공유
[v4.30]존 이름표에 접속인원/최대인원 표기 추가, 최대 줌인 30% 확대 (minDistance 4.2)
[v4.31]마우스오버 손모양 커서, 클릭판정 전용 투명 히트스피어(visible=true, opacity=0) 적용
[v4.33]"R 토글로 걷기/뛰기" — WALK_SPEED 중간값 기준 애니메이션 판별
[v4.34]캐릭터와 몬스터 타겟 하이라이트 색상 분리(황금색/붉은색), 몬스터 클릭 판정용 히트스피어 배치
[v4.35]타겟팅은 캐릭터·몬스터 중 하나만 유지, 사거리 벗어나면 자동 해제(바닥클릭으로는 안 풀림), 근접거리 자동 접근용 MELEE_RANGE export
A-3. 몬스터 시스템 도입 (v4.36 ~ v4.49)
[v4.36]MMORPG 전투 MVP 구현 — 몬스터 공격 시 서버에 데미지 판정 요청, HP바 도입, monsterIndex는 시드(seed)값으로 서버와 교환
[v4.40]그룹(트리오/escort) 어그로 연동, 스폰 지점 이탈시 리쉬 복귀 모션 추가, idle/walk 전환 위상차 적용으로 "몹 수백 마리 동시 동작" 버그 수정
[v4.45]공격 사거리 진입/이탈 상태를 서버에 통지(엣지 변화시에만), 사거리 안이면 idle 대신 공격모션 반복
[v4.46]몬스터 등급별 어그로 추격속도 차등 적용 (소형 -20% / 중형 -25% / 대형 -30%)
[v4.48]"몹은 매우 근접 공격만" 조건 반영 — 몬스터 사거리를 캐릭터보다 좁게 설정
[v4.49]groupSeed 위상차 보정으로 몬스터 동기화 동작 버그 완치
A-4. 나무 & 자연 에셋 대개편 (v4.53 ~ v4.76)
[v4.53]KayKit Forest Nature Pack 전면 교체("젤다/마리오3D월드 수준 캐주얼 경관"), 원본 스케일 보정(KAYKIT_SCALE_CORRECTION), 캐릭터도 KayKit Adventurers Pack 2.0으로 교체(메시/애니메이션 분리구조, 본이름 리타게팅), 공용 Rig_Medium 애니메이션 라이브러리, 무기/방패/장신구 프롭 부착
[v4.56]주먹/킥/구르기/휴식 모션 KayKit Combat/Movement/Simulation 팩에서 추가, "의자 없는데 앉는 포즈" 문제를 진짜 바닥앉기 클립으로 해결
[v4.57]야자수 잎 트로피컬 그린 틴트 적용, 가을숲 랜드마크를 제재소 건물로 교체
[v4.58]몹 공격 모션(Punch/Bite_Front) 추가, 점프 높이 3배 확대(프로시저럴 아치 추가), 구르기 모션 적용(클립+프로시저럴 회전), 여름/가을 밀도·색상 조정, 테마 건물 3배 확대
[v4.61]"kaykit 도배로 답답함" 피드백에 따라 legacy Quaternius를 다시 주력으로, 가중치 배치 전환
[v4.63]구르기를 Python 오프라인 리타게팅 클립(roll_retargeted.json)으로 교체, KayKit 자체 클립을 비동기로 진짜 텀블링으로 교체
[v4.64]점프 착지 이벤트 도입 (조작권 즉시 반환)
[v4.65]구르기 시 "땅속 뚫림" 버그 보정을 위해 root position 보정 트랙 추가
[v4.66]"모든 변형 다 써라" — 폴더 전체 변형 포함, 나무 3단계 크기(어린/보통/장성) 확률 배치, 앉기 중간단계 스킵
[v4.68]"화초/풀은 매우 많이, 그룹으로" — 클러스터(무더기) 단위 배치로 전환
[v4.69]"데모처럼 화사하고 입체감" — MeshToonMaterial + 계단 그라디언트맵(카툰 셰이딩) 도입
[v4.70]반투명 카드(잎/풀)는 Lambert 유지, 불투명 입체 오브젝트만 카툰 셰이딩 적용
[v4.72]지형 하이트필드(경사) 도입 — 허브는 평평하게 유지하고 바이옴 영역에만 경사 적용
[v4.73]지형 노이즈 파장 확대 (완만한 굴곡 표현)
[v4.74]지형 높이 격자 사전계산 처리 (바닥/캐릭터/몹/오브젝트 공통 참조)
[v4.75]겨울산 중심부 진폭 확대, 물 지역 지형 평탄화, 바이옴 색상 셰이더 직접 굽기
[v4.76]"단색 위주라 밋밋함" — 바이옴당 4색 팔레트 노이즈 블렌드, 겨울 바이옴은 서리 강도로 디테일 표현
A-5. 몬스터 클릭판정 & 전투 이펙트 & 사운드 정비 (v4.77 ~ v6.53)
[v4.77]선공형 중형 몹(어그로 범위 진입 시 선공) 도입, 중형 몹 총량 확대 (25→40마리)
[v4.78]안전지대 판정에 중앙광장 누락 버그 수정, 추격모드 중 안전지대 진입시 즉시 리쉬, 리스폰시 attackMode 강제 리셋(고스트 몹 방지), 구르기 무적, 리스폰시 group.visible 확정 복구, 지면 상대좌표 전환으로 "산에 눈 떠있는 버그" 수정
[v4.79]지면 색상 팔레트 명시적 색 이름 반영, 오솔길 옆 몹 추가배치, 미니맵 몹 점 등급별 차등, 보상아이템(포인트) 금색 동전 메시, 물약수량 옆 포인트 HUD 표시
[v4.80]"캐릭터/닉네임/아바타/펫 50% 확대" — CHARACTER_SCALE_MULTIPLIER 통합 상수 도입
[v4.83]"매번 줌인 불편" 피드백 반영 — 초기 카메라 거리 대폭 축소 (28.4→12)
[v4.89~v4.110]고스트 몹 진단 시리즈: GLB 로드 실패 진단로그, 클론 메시 0개 재시도(자가치유), frustumCulled 오탐 컬링 규명, 245마리 실측 스케일 재계산, 45종 눈검증 테스트 라인업(spawnMonsterTestLineup) 등 몬스터 미노출 버그 연속 추적 디버깅
[v4.98]펫이 플레이어의 위치 히스토리(자취)를 따라오도록 이동 로직 개선
[v4.0~v6.53]BGM & 사운드 개편: 트랙별 라우드니스(GainNode) 보정(최대 17.7dB 편차 완화), 여름 파도+갈매기 앰비언스 루프, 계절 파티클(눈/벚꽃잎), 전투 BGM(30% 증폭) / 허브 BGM(200% 증폭), 기본 필드곡 "평화로운마을(Caketown)", 전투용 곡 "Space Dimensions(8bit)" 교체 및 진입 시 페이드 없이 하드컷 전환 적용
A-6. [2026-07-23] 오늘 세션 — 5단계 등급, 사망모션, 전투 이펙트, 강공격, 림라이트
[2026-07-23]5단계 등급 확장: 에픽/보스는 비선공+광역배회로 신설, 사거리는 대형과 동일하게 유지해 카이팅 밸런스 확보, 배회반경 등급별 확장
[2026-07-23]사망 모션 정비: 몹 사망시 Death 클립 재생 후 서서히 투명화(재질 clone으로 종 전체 투명화 방지), 캐릭터 사망시 즉시 소환 대신 4~5초 눕는 모션(triggerCharacterDeathMotion, 자체 타이머 lockDuration)
[2026-07-23]전투 분산 & 이펙트: 여러 몹이 같은 타겟 추격 시 attackGroups 원형 분산, 몹끼리 겹침 방지용 경량 시각적 밀어내기(SEPARATION) 구현
[2026-07-23]경직 & 피드백: 반격 경직 넉백(프로시저럴 3배 확대 + 스쿼시&스트레치), 경직 지속시간 동안 별 3개 궤도 표시
[2026-07-23]시각적 예보: 분노(rage) 오오라(꽉찬 블롭) vs 예비동작(telegraph, 속빈 고리) 실루엣 차별화 재설계, 강펀치/강킥 적중 임팩트 버스트 및 dmg-heavy 강조 스타일 적용
[2026-07-23]몹 강공격 & PvP: 분노 상태 일격시 텔레그래프 링 크기/굵기 증대, PvP windup 중 행동 확실히 잠금(recoveryMs 추가 잠금)
버그 수정[CSS2D 위치 충돌]강펀치/강킥 시 체력바 자리에 링이 생기거나 데미지 숫자가 안 보이던 문제 — telegraph/dmg텍스트 CSS2DObject에 transform 애니메이션을 직접 걸어 렌더러의 위치 계산과 충돌하던 원인 수정(wrap/inner 엘리먼트 구조 분리)
버그 수정[고아 객체 누수]연속 telegraph 발생 시 이전 CSS2DObject가 메모리에 남아 하드리프레시 전까지 계속 깜빡이던 누수 현상 수정
[2026-07-23]림라이트(Fresnel) 셰이더 신규: EffectComposer/OutlinePass가 모바일에서 유실되는 문제를 해결하기 위해 재질에 onBeforeCompile로 직접 주입 (분노=빨강/주황, 예비동작=노랑→빨강)
B. js/domain/scene/scene_client.js클라이언트 이벤트 / HUD 로직 · 168건
B-1. 이동 & 속도 & 스태미나 (v2.3 ~ v6.59)
[v2.3]실수 클릭 방지를 위해 좌클릭 즉시 DM 방식을 우클릭(터치는 롱프레스) 유저카드 경유 방식으로 변경
[v2.4]거리비례 이동시간 착시 문제를 단순 고정속도 이동으로 정돈
[v2.5]"현재위치 캐시" 버그로 더블클릭시 순간이동급으로 튀던 현상을 실제 보간위치 직접 조회 방식으로 수정
[v6.54]스태미나 시스템 도입 (달리기=소모 자원, 걷기/정지/휴식=회복), 탈진 속도를 몹 추격 속도보다 느리게 설정하여 위기감 조성
[v6.59]스태미나 최대치를 50으로 축소 조정
B-2. 전투 입력 & HP/HUD & 모바일 UI (v4.5 ~ v25.39)
[v4.5]몹 반격으로 플레이어 HP 실제 차감 시작 (서버 authoritative)
[v6.36]타겟팅 상태에서 공격키 입력 시 근접거리까지 자동 접근 후 격투 개시
[v6.39]MMORPG 전투 MVP — 액션 발동시 타겟이 몬스터면 서버에 판정 요청(클라 데미지계산 금지), 좌상단 HP/MP/스태미나 게이지(아이온 스타일) 도입
[v6.43]'Q'(휴식) 키 입력 시 초당 5체력 자동회복(서버 authoritative), 로컬은 토글 및 시각표현만 담당
[v6.47]물약 즉시회복 구조에서 보유수량(재고) 모델로 전환하여 상시 표시
[v6.88]구르기 시 무적 판정 부여 및 스태미나 소모 (+1)
[v6.37~v7.06]모바일 UI 전면 개편: 액션 HUD(A/S/D/F/Space) 및 R/Q 버튼 도입, 가상 조이스틱(카메라 기준 이동), 회피 아이콘 변경(🤸), 채팅로그창 조이스틱-액션HUD 사이 배치 및 높이 저장 기능 추가
[v4.27~v25.39]미니맵 기능 고도화: 실사 렌더링 전환, 갱신주기 단축(250ms), ⚙아이콘 팝업 UI, 등급별 몹/유저 점 크기 및 회전모드(정면/고정) 제공
B-3. [2026-07-23] 오늘 세션 — 강공격, 사망 연출, 데미지 브로드캐스트
[2026-07-23]강공격 커맨드: 강펀치/강킥 더블탭 감지(HEAVY_DOUBLE_TAP_MS), isHeavy 플래그를 몹 및 PvP 공격 payload에 포함
[2026-07-23]피격 연출 강화: 몹 분노 상태 일격 피격 시에도 isHeavy 강조, 강공격 피격 시 캐릭터 경직(PvP 대칭 적용), 강펀치/강킥 적중 시 dmg-heavy 및 임팩트 버스트 연출(PvE/PvP)
[2026-07-23]지연 사망 모션: 사망 시 화면 이동만 지연시키는 "4~5초간 눕는 사망 연출" 적용
버그 수정[데미지 표시 범위 확대]기존 "나만 때렸을 때만 표시" 제한을 제거하여 MMORPG 컨벤션에 맞게 방 안의 모든 플레이어가 데미지 숫자를 공유하도록 수정
[2026-07-23]브로드캐스트 처리: 예비동작(telegraph) 색전환 타이밍 정확화(resolveAt 기준), windup 중 이동/행동 잠금, 분노 상태 일격 아이콘(‼️) 구분 표기
C. js/core/ws_client.jsWebSocket 메시지 라우팅 · 136건
C-1. 오픈월드 핵심 라우팅 & 펫 알림 (v4.82 ~ 2026-07-23)
[v4.82]오픈월드(tech-lab) 특성상 채팅로그가 숨겨져 있어 pet_reaction / pet_action_broadcast 이벤트를 @멘션과 동일한 팝업 알림 방식으로 대체
[v25.32]오픈월드에 위치할 때만 펫 말풍선 알림 수신 (귓속말은 내용 비공개 처리, "메시지를 보내왔습니다"로 표시)
[2026-07-23]scene_client.js import 연결 — 강펀치/강킥(더블탭) 구현을 위한 player_heavy_attack_telegraph 케이스 추가
[2026-07-23]림라이트 셰이더 관련 주석 및 scene_3d import 경로 정비
[기타 132건]채팅방/DM/SFU(화상회의)/게임엔진(퀴즈배틀·SGE·블루마블)/친구시스템 등 공통 채팅 인프라 케이스 핸들러 이력
D. 서버 사이드 (scene_handler.js / duel_handler.js / monster_spawn.js)서버 동기화 & 전투 핸들러 · 92건
D-1. 기반 구조 & 전투 리듬 (v4.0 ~ v4.49)
[v4.0]3D 좌표계 전환 (targetY→targetZ, CSS%→월드유닛)
[v4.2]월드 20% 확장 (WORLD_HALF_SIZE 상수를 클라이언트와 동기화)
[v4.4]MMORPG 액션 MVP 1단계 — 공격 → 실제 체력감소 → 사망 → 리스폰 루프 메커니즘 구축
[v4.6]몹 반격을 "피격시 1:1 턴제 반격"에서 "독립 페이스 자율 실시간 반격" 구조로 전환
[v4.8]몬스터 등급별 체력 및 반격 데미지 수치를 서버 authoritative로 일괄 관리
[v4.10]'Q' 휴식 상태 중 피격 시 자동 취소 처리 ("맞으면서 회복하는 버그" 수정)
[v4.40]그룹 몹 동시 어그로 연동 및 첫 반격 0.5초 스태거(시차) 부여
[v4.41]전투 이탈 판정을 "무공격 타임아웃"에서 "리쉬 반경 이탈시"로 개편
[v4.49]공격 속도 제한 부재 버그(애니메이션 무시 스팸 DPS) 수정
D-2. 리소스 & 고스트 몹 방지 (v4.40 ~ v4.79)
[v4.40]자동회복(30% 이하 시 재고 소비) 및 휴식 회복량을 최대체력 비율(5%/초)로 전환
[v4.79]등급별 보상 아이템(포인트) 드랍 확률 적용, 재접속시 물약/포인트 동기화 누락 버그 수정
[v4.78]고스트 몹 방지: 클라이언트 신고에 의존하지 않는 MONSTER_COMBAT_MAX_MS 하드 타임아웃 도입, 구르기 무적창 구현, 선공 감지 경로에 자가치유 리스폰 로직 추가
D-3. [2026-07-23] 오늘 세션 — 5단계 확장, 강공격 메커니즘, 서버 버그 수정
[2026-07-23]몬스터 5단계 확장: 에픽/보스 등급 신설(HP 대폭 증가, 공격력 완만 상승), 리스폰 타임 조정 (15→20초)
[2026-07-23]플레이어 강공격 서버 판정: 강펀치/강킥 더블탭 신규 적용 (2배 데미지, windup 700→1000ms, 후딜 recoveryMs 추가 잠금으로 스팸 방지)
[2026-07-23]몹 강공격 메커니즘: 몹 분노(enraged) 일격을 강공격으로 대칭 설정 (MONSTER_HEAVY_ATTACK_WINDUP_MS/RECOVERY_MS 신설, 예비동작 0.8→1.1초 재조정)
[2026-07-23]경직 & PvP 대칭: 경직시간 0.5→1→1.5초 재조정, 분노 지속시간 2초 조정. PvP(duel_handler.js)에도 동일 상수를 대칭 적용하여 명중 시 방어자 경직 부여
버그 수정 1[에픽/보스 공격 불가 버그]`monsterIndex > 200` 하드코딩 상한선으로 인해 확장 후 인덱스(254~257) 몹의 공격/반격/어그로가 무시되던 문제 수정 (`MAX_MONSTER_INDEX=300` 교체)
버그 수정 2[리스폰 즉시 재공격 버그]sibling-pull 로직이 매 타격마다 재실행되던 원인 수정 (`isFreshEngage` 플래그로 최초 진입시에만 실행되도록 제한)
[2026-07-23]monster_spawn.js 개편: 에픽/보스는 종당 정확히 1마리만 스폰 ("세계에 하나뿐인 월드보스"), 안전지대에서 배회반경만큼 더 떨어진 전용 스폰 함수 작성
E. 도메인 분리 리팩토링 & 라이브 트러블슈팅 (2026-07-24)모듈화 · 안정화 · 핫픽스 · 11개 섹션
E-1. 도메인 분리 리팩토링 (commit: a8bb62c)
[a8bb62c]scene_3d.js 분리: `js/domain/scene/3d/` 하위 12개 모듈(scene_core, terrain, nature, zone, character, monster, combat_fx, targeting, input, input_fx, hud_minimap, render_loop, constants)로 분할
[a8bb62c]scene_client.js 분리: `js/domain/scene/client/` 하위 5개 모듈(client_core, movement, combat, social, hud)로 분할
[a8bb62c]배럴 파일(Barrel File) 패턴 적용: 원본 두 파일은 전체 재수출(`export *`)만 수행하도록 유지하여 외부 소비자(ws_client.js, 동적 import 등) 호환성 100% 보장
[a8bb62c]순환 참조 방어: 도메인 간 순환 import(character ↔ combat_fx 등)는 함수 호출 시점에만 참조하도록 설계하여 모듈 로딩 시점 평가 오류 방지
E-2. 리팩토링 직후 라이브 화이트스크린 대응 (9587f3d, 4c13a71, a030217)
핫픽스`_clamp is not defined` (scene_terrain.js) — 공유 헬퍼 함수가 constants로 이관 누락된 건 수정
핫픽스`SPAWN_RADIUS is not defined` (client_social.js) — 상수의 선언 위치와 실제 사용처 분리 오류 수정
핫픽스`_knownUsers is not defined` (client_hud.js `_drawMinimap`) — presence 요청 전 미니맵 그리기 차단으로 발생하던 캐릭터 스폰 중단 근본 수정
핫픽스`JOYSTICK_SIZE is not defined` (client_hud.js `_buildMiniLogHud`) — HUD 미니로그 초기화 체인 중단 수정
[검증 절차]AST 기반(Acorn) 전수 미참조 검사 도구 구축: 정규식 휴리스틱을 대체하여 미참조 변수 15건 즉시 적발. Node 실행 스텁 Harness 테스트를 표준 검증 프로세스로 확립
E-3. 프레임 렌더링 최적화 & 시야 조정 (80fa21f, d14b07d)
[성능개선]컬링(Culling) 안전 재활성화: 몬스터 250마리의 `frustumCulled=false` 해제. 스키닝 바운딩스피어 3배 확장(`_inflateBoundingSpheresForAnimation`)으로 화면 밖 오버헤드 완벽 제거
[성능개선]스켈레톤 연산 연차 스킵: 플레이어 기준 85유닛 외곽 몬스터는 애니메이션 믹서 연산 스킵 (AI/위치/전투 서버 로직은 유지)
[시각개선]시야 범위 축소: 카메라 Far Plane 60유닛 설정 및 그림자 카메라 범위 동기화
[시각개선]텔레그래프 & 미니맵 가시성: 강공격 텔레그래프 색상/아이콘 완전 분리 (몹=초록→빨강/‼️, 캐릭터=파랑→하양/⚔️), 미니맵 에픽/보스 점 크기 및 테두리 차등화
E-4. 분노(Rage) 이펙트 재설계 (baaf91d, 931b02a, 8445a71)
[이펙트]반투명 블롭 형태 제거 → 실루엣 외곽 SVG 물결/전기파장 링으로 변경 (소형/중형=물결, 대형/에픽/보스=전기파장)
버그 수정CSS2DObject 위치 어긋남 핫픽스: 렌더러 Transform과 내부 left/top 이중 오프셋 충돌 수정 (wrap/inner DOM 구조 분리, 물결 주파수 4→10 세밀화)
E-5. 안개 / 하늘 / 시야 전환 롤백 처리 (2f11d56 ~ f0baea3)
[스카이박스]시야 축소 시 원점 고정 하늘구 자름 현상 방지를 위해 카메라 추종 스카이박스 구조 전환
[안개 조정]Far Plane 직전 15% 구간(FOG_NEAR = far * 0.85)에 소프트 포그 배치
[임시 원복]사용자 요청에 따라 시야/하늘 설정 일시적 원복 (far=2000, 안개 50~115, 원점 고정 하늘구). 복원용 최종 수치는 커밋 코멘트에 보존
E-6. 오픈월드(Zone) 과부하 차단 & 미디어 권한 (8645e8f, bc10624, d7ee07e)
[기능 차단]`roomId`가 `tech-lab` 또는 `zone-`으로 시작하는 구역에서는 게임 카탈로그 / SFU(Meet, Voice, DJ) 실행을 토스트 안내와 함께 원천 차단 (오픈월드 프레임 드랍 방지)
권한 수정Zone 창 iframe의 `allow="camera; microphone; ..."` 속성 누락 수정으로 미디어 디바이스 접근 제약 해제
E-7. SFU 모듈 유령 인스턴스 버그 규명 및 수정 (d1355be)
근본 수정sfu_media.js 모듈 이중 로딩 해결: 정적 import(`?v=25.11`)와 동적 import(`await import`)의 버전에 의한 브라우저 인스턴스 파편화 현상 제거 (모든 호출처 버전 명시 통일)
버그 수정DJ 방송 에러 핸들러 내 `setInDJ()` 미참조 호출 오류 정리
E-8. 백업/복원 서버 파일 권한 자동화 (5393cb2, 9394e8d)
권한 수정`prod_restore.sh` 백업 복원 시 상품 이미지(`item/`), 첨부파일(`file/`) 등의 권한 유실로 인한 이미지 엑스박스 현상 해결 (`data/` 하위 전체 및 외부 결제 로그 권한 일괄 보장)
E-9. 임시 문의방(`dm_v_`) 에러 토스트 차단 (518c2a0)
버그 수정임시 1:1 채팅방 진입 시 불필요한 거래 내역 서버 요청(`getOtherDmUser`) 발생을 차단하여 권한 에러 토스트 예방
E-10. 펫액션 & @멘션 팝업 UX 구조 원복 (e78c15a ~ 4d14a38)
[UX 원복]최초 설계 3단 구조 복원: 펫 텍스트 상단 배치 + 이모지/전송자 뱃지("귓속말: 닉네임") 하단 1줄 구성 원상복구. 앵커 포인트를 상대방 펫 아이콘으로 정렬
텍스트 정제AI 반응 문구에 펫 이모지가 중복 포함되어 푸터 아이콘과 겹치는 현상 수정 (반응 텍스트 내부 중복 이모지 정교한 파싱 제거)
[검증 도입]Puppeteer-Core + 로컬 Chrome 자동 제어 기반 실제 로그인 스크린샷 검증 시스템 가동
E-11. 캐시버스팅 캐스케이드 규칙 확립 (4722854)
[절차 확립]JS 모듈 버전 상향 시 최상위 진입점인 HTML 파일(`chat.html`, `direct.html`) 내 `

댓글목록
최고관리자님의 댓글
오늘은 게임 배경 전용 에디터를 제작중입니다. 배경 에셋을 가져오는것에 한계가 있어서. 직접 제작하는 쪽으로 하려고 합니다.
그러나, WebGL 방식, Three.js 3D 방식의 엔진을 다루기 위한, 전용 에디터를 찾지 못해서 직접 제작하고자 합니다.