갈림길SCENARIO STUDIO스튜디오 열기

UPDATES

갈림길 업데이트

새 기능과 수정 사항을 기록합니다.

계산식 상태 변경 및 설명 효과

추가

  • 계산해 증감 효과 추가
    • 숫자 변수와 계수를 조합해 상태 변화량 설정
    • 고정 증감량과 계산 항을 합산하고 최종 계산식 표시
  • 설명 효과 추가
    • 행동 묘사나 수치가 정해지지 않은 결과를 최대 500자로 기록
    • 플레이테스트 경로 기록과 AI·Obsidian 내보내기에 효과 설명 포함

안정성

  • 계산식의 삭제된 변수·숫자가 아닌 변수·잘못된 수치 검사
  • 유효하지 않은 계산 효과는 상태에 적용하지 않고 경로 기록에 오류 표시

이 문서는 사용자에게 영향을 주는 주요 변경 사항을 기록합니다. 최신 변경 사항이 위에 옵니다.

최신

장면 클릭 개선, 미니맵 드래그 이동 및 실행 취소 단축키

추가

  • 편집 실행 취소 및 다시 실행 단축키 추가
    • 입력창 밖에서 Ctrl + Z로 내 편집 실행 취소, Ctrl + Shift + Z 또는 Ctrl + Y로 다시 실행 가능
    • 현재 접속 중 최근 20단계 보관, 새로고침 시 실행 취소 기록 초기화
    • 입력창에서는 기존 글자 되돌리기 유지
  • 미니맵 드래그 이동 지원
    • 화면 영역을 드래그하면 잡은 위치를 유지하며 메인 화면이 즉시 따라 이동
    • 화면 영역 밖 클릭으로도 해당 위치로 이동 가능

개선

  • 선택지·하위 선택지·조건 분기의 다음 장면 목록을 이름순으로 정렬
    • 숫자를 고려해 Scene 2 → Scene 10 순서로 표시
  • 단축키 안내에 입력창·미니맵·패널 구분선의 사용 조건 명시
    • 한글 키보드 상태의 Ctrl 단축키 인식 보완
    • 실행 취소·다시 실행 및 패널 조절 키 표시를 기존 키 박스 형식으로 통일

수정

  • 장면 카드와 연결선이 겹칠 때 연결선이 대신 클릭되던 문제 수정
    • 장면 카드를 연결선과 라벨 위에 배치하고 선택된 연결선의 자동 상승 해제
    • 노드 갱신 시 기존 다중 선택 상태 유지

협업 데이터 보존 및 편집 오류 수정

수정

  • 누적 변경분 조회 및 정리 안전성 보강
    • ID 기준 분할 조회로 1,000건 이후의 변경분도 읽도록 수정
    • 체크포인트는 버전이 일치할 때만 저장하고, 실제 반영한 변경분 ID만 같은 트랜잭션에서 정리하도록 변경 (새 SQL 010 적용 필요)
  • 과거 이력 복원 시 변수·대시보드 본문 및 서버 JSON 백업의 대시보드 보존 보강
  • 테스트용 강제 확률 분기, 내보내기 공통 효과 및 다중 선택 유지 관련 오류 수정
  • 체크리스트 처리에 파서의 원문 행 정보를 사용해 코드 예시가 잘못 수정되지 않도록 보완
  • 대시보드 메뉴의 Escape 전파 및 높이 측정 상태 의존성 수정
  • 입력 중 Ctrl + K가 검색창으로 가로채지 않도록 수정

실시간 증분 델타 자동 정리, 복원 변수 정합성 보정, 테스트 강제 분기 및 내보내기 효과 개선

수정

  • 실시간 협업 증분 델타 누적 자동 정리 및 안정화
    • Supabase project_yjs_updates 테이블에 누적된 델타가 체크포인트(store_yjs_project) 시점에 원자적으로 삭제되도록 데이터베이스 및 실시간 서버 보강 (010_yjs_delta_compaction.sql)
    • 델타 누적이 50건 또는 256KB에 도달할 때 자동 체크포인트를 트리거하고, 프로젝트 재접속 시 1,000건 이상의 델타가 있어도 누락 없이 분할 로딩하도록 개선
  • 이력 복원(Restore) 시 변수 롤백 누락 수정
    • 과거 시점으로 복원할 때 장면 본문 및 대시보드뿐만 아니라 프로젝트 변수(variablesV2)도 과거 스냅샷 시점으로 안전하게 롤백되도록 옵션(overwriteVariables: true) 반영
  • 플레이테스터 확률 장면 강제 분기 테스트 수정
    • 확률(random) 장면에서 '테스트용 분기 직접 선택'을 클릭했을 때 난수 재계산으로 선택이 무력화되던 문제를 수정하여 강제 지정한 분기로 확정 이동되도록 개선
  • 시나리오 내보내기 엣지 결과 분기 효과 결합
    • Obsidian 및 AI 마크다운 내보내기(export.ts) 시 결과 분기(branch) 엣지에 상위/하위 선택지의 공통 효과(baseEffects)가 분기 효과와 함께 온전히 합산되어 기록되도록 보정
  • 대시보드 데이터 백업 프로젝션 보존
    • 실시간 서버의 JSON 프로젝션(project-codec.mjs)에 대시보드 할 일 목록(dashboardV2) 직렬화/역직렬화를 추가하여 데이터베이스 백업 컬럼에 대시보드가 누락되지 않도록 보존
  • 플로우 맵 노드 갱신 시 다중 선택 상태 보존
    • 캔버스에서 노드 데이터를 편집하거나 외부 변경이 수신될 때 Shift/영역 드래그로 다중 선택된 노드들의 선택 상태가 풀리지 않고 유지되도록 개선
  • 대시보드 코드블록 체크박스 예외 및 우클릭 메뉴 Escape 닫힘 분리
    • 마크다운 코드블록 내의 - [ ] 텍스트가 대시보드 체크박스로 오인 토글되지 않도록 파싱 보정
    • 대시보드 카드 우클릭 메뉴가 열린 상태에서 Escape 키를 눌렀을 때 우클릭 메뉴만 닫히고 대시보드 전체 창은 닫히지 않도록 이벤트 캡처 전파 분리

전체 연결선 서식 일괄 변경, 업데이트 페이지 마크다운 렌더링 지원

추가

  • 우측 속성 패널의 연결선 서식 메뉴에 전체 연결선 일괄 적용 도구 추가
    • 시나리오 전체의 모든 연결선 색상(팔레트 8종 + 커스텀 컬러), 두께(얇게/보통/굵게), 선 모양(곡선/직각/직선)을 한 번의 클릭으로 일괄 변경 가능
    • 새 선택지를 추가할 때도 현재 전체 연결선에 설정된 기본 서식을 자동으로 상속하도록 개선
    • 특정 장면의 선택지만 다르게 꾸밀 수 있는 선택지별 개별 서식 기능도 하단에 함께 제공

수정

  • 업데이트 기록 페이지(/updates)에서 마크다운 문법(굵게, 인라인 코드, 링크, 중첩 목록 등)이 렌더링되지 않고 원문 텍스트 그대로 노출되던 문제 해결
    • ReactMarkdownremarkGfm을 적용하여 패치노트의 볼드, 백틱 코드 블록, 링크, 들여쓰기된 하위 목록이 정상 서식으로 표시되도록 개선

개선

  • Render 실시간 서버가 Supabase에 저장하는 Yjs 협업 문서를 gzip으로 압축하도록 변경
    • 기존 압축되지 않은 문서는 그대로 읽고, 다음 저장부터 자동으로 압축 형식으로 전환
    • 대표 E4 문서 기준 저장 원본 265KB를 약 87KB로 줄여, 저장 상태 자체는 약 67% 작아짐
  • 편집 중에는 문서 전체 대신 변경분만 묶어서 저장하도록 전환
    • 최대 20초 동안의 변경을 하나의 Yjs 업데이트로 합쳐 Supabase에 보냄
    • 프로젝트를 열 때는 기존 전체 문서와 누적 변경분을 순서대로 합쳐 동일한 상태로 복원
    • 비정상적으로 큰 단일 변경은 안전하게 기존 전체 문서 저장 방식으로 되돌아감

장면 우클릭 메뉴 삭제 지원, 긴 장면 제목 줄바꿈 및 말줄임표 처리

추가

  • 플로우 맵 장면(노드) 우클릭 메뉴에 장면 삭제 기능 추가
    • 캔버스에서 노드를 마우스 우클릭하여 즉시 해당 장면을 삭제 가능 (확인 알림창 및 시작점/연결선 자동 정리 안전 로직 적용)
    • 단축키 안내(?) 화면에 노드 우클릭 메뉴 항목 설명 업데이트

개선

  • 플로우 맵 장면 카드에서 긴 제목이 카드 영역 밖으로 삐져나오던 레이아웃 문제 해결
    • 제목이 길어질 경우 최대 2줄까지 자연스럽게 줄바꿈되고, 그 이상은 말줄임표(...)로 깔끔하게 축약 표시
    • 카드 및 제목 텍스트에 title 툴팁 속성을 적용하여 마우스 호버 시 잘린 전체 제목을 바로 확인 가능
    • 영문/특수문자 단어가 길어도 카드를 뚫고 나가지 않도록 word-break: break-word; overflow-wrap: anywhere 처리

장면 검색 및 중앙 자동 이동, 연결선 포커스 강조, 장면 복사, 영역 드래그 다중 선택

추가

  • 원하는 장면을 키워드로 즉시 찾아 화면 중앙으로 자동 이동해 주는 장면 검색 시스템(SceneSearchDialog) 추가
    • 제목, 본문 내용, 선택지 텍스트, 식별자(ID), 장면 종류(일반/엔딩/랜덤)로 실시간 검색
    • 키보드 방향키(/)로 결과 탐색 및 Enter 키로 즉시 점프
    • 검색 결과 선택 시 캔버스가 해당 씬을 화면 정중앙으로 부드럽게 끌어오고 스마트 연결선 강조 적용
    • 검색 접근 경로: 단축키 Ctrl + F / Ctrl + K (또는 Cmd + F / Cmd + K) 및 플로우 맵 툴바 [🔍 검색] 버튼
  • 플로우 맵에서 장면(노드) 선택 시 연결선 포커스 강조 및 디밍(Dimming) 효과 추가
    • 선택한 장면에서 나가는 연결선(Outgoing): 두꺼운 선폭 및 흐르는 대시 애니메이션 적용, 최상단 표시, 선택지 텍스트 고대비 강조
    • 선택한 장면으로 들어오는 연결선(Incoming): 강조 선폭 및 높은 z-index로 전후 관계 즉시 식별
    • 무관한 연결선 및 노드: 투명도를 대폭 낮추어(Dimmed) 복잡한 맵에서도 흐름을 한눈에 파악 가능
    • 미니맵(개요 창)에서도 선택된 장면과 연결된 선을 굵게 표시하고 무관한 선을 흐리게 처리
    • 배경 캔버스 클릭 또는 Esc를 누르면 포커스가 해제되어 모든 노드와 연결선이 원래의 평상시 전체 보기 상태로 복귀
  • 캔버스에서 Shift + 마우스 드래그 또는 영역 선택 모드를 통해 여러 장면을 박스로 한 번에 선택할 수 있는 다중 선택 기능 추가
  • 다중 선택된 장면 중 하나를 드래그하여 선택된 모든 장면의 위치를 한 번에 일괄 이동할 수 있도록 개선
  • 플로우 맵 툴바에 영역 선택 모드 토글 버튼 및 다중 선택 개수 뱃지 추가
  • 플로우 맵 노드 우클릭 메뉴에 장면 복사 항목 추가
  • 선택한 장면을 즉시 복제할 수 있는 단축키(Ctrl+D / Cmd+D) 지원
  • 장면 복제 시 본문, 속성, 선택지 분기 구조를 온전히 유지하면서 원본 옆 빈 공간에 자동 배치
  • 편집기 단축키 목록을 한눈에 확인할 수 있는 단축키 안내(?) 화면 및 상단 툴바 바로가기 버튼 추가

실시간 서버 재시작 안정화

수정

  • Render 실시간 서버의 시작 명령에서 매 재시작마다 pnpm을 내려받던 단계를 제거
  • 빌드에서 설치한 의존성으로 Node 서버를 바로 시작하도록 바꿔, 패키지 관리자의 외부 다운로드 연결이 끊겨도 서버 시작 자체가 실패하지 않도록 보완

협업 이력 전송량 최적화

수정

  • 변경 이력의 전체 프로젝트 복원본을 gzip 압축해 실시간 문서에 저장하도록 변경
  • 기존의 압축 전 이력도 다음 협업 연결 후 브라우저가 한가한 시점에 자동 압축
  • 이력 복원과 복원 대상 요약은 유지하면서, 대표 E4 프로젝트 기준 초기 동기화 대상 크기를 약 3.75MB에서 약 1.24MB로 축소

재접속 복구 경로 보강

  • 실시간 서버가 기존의 압축 전 이력도 첫 문서 로드 때 gzip 이력으로 정리해 저장하도록 보강
  • 인증 대기열 상한을 10MB로 제한해, 이미 저장된 대용량 오프라인 변경이 압축 전에도 즉시 연결 해제를 일으키지 않도록 조정

Supabase 전송량 절감

  • 실시간 편집기를 열 때 Yjs 동기화로 다시 받을 대형 JSON 원본을 중복 조회하지 않도록 수정
  • 실시간 서버도 이미 Yjs 상태가 있는 프로젝트에서는 JSON 원본을 읽지 않고, 최초 생성·레거시 문서에서만 추가 조회하도록 변경
  • 복원 이력을 전용 project_snapshots 테이블로 옮겨, 평소 협업 문서에는 이력 메타데이터만 유지하도록 변경
  • 이력 스냅샷 업서트에 맞도록 프로젝트·이력 식별자 고유 인덱스를 보강

실시간 저장 빈도 조정

수정

  • 실시간 동기화는 즉시 유지하면서, Supabase에 전체 Yjs 상태를 저장하는 간격을 1.5초10초에서 4초20초로 조정
  • 변경 이력의 실제 복원본은 평소 내려받지 않고, 복원 버튼을 눌렀을 때만 project_snapshots에서 가져오도록 유지
  • 최근 20개 이력만 협업 문서와 이력 패널에 유지하고, 이전 복원본은 별도 스냅샷 저장소에 보관

공개 페이지 자동 광고 준비

추가

  • norang.cc 공개 소개 페이지에서만 Google AdSense 자동 광고 스크립트를 불러오도록 추가
  • 협업 편집기와 플레이테스트에는 자동 광고 스크립트를 적용하지 않도록 유지

스튜디오 열기 경로 보완

수정

  • 공개 소개 페이지의 스튜디오 열기 버튼이 편집기 전용 주소로 바로 이동하도록 수정
  • Vercel 사용자 도메인에서 편집기를 인식할 때 전달 호스트 이름도 함께 사용하도록 보완

공개 소개 페이지

추가

  • norang.cc에서 사용할 로그인 없는 갈림길 소개·기능·사용 흐름 공개 페이지 추가
  • studio.norang.cc의 루트 주소는 기존 협업 편집기로 유지하도록 도메인별 라우팅 추가
  • 공개 페이지에서 업데이트 기록과 스튜디오로 이동할 수 있는 경로 제공

대시보드 메모 입력 성능

수정

  • 메모·제목 입력 중에는 프로젝트 전체 변경 이력과 저장 작업을 만들지 않고 Yjs 텍스트만 직접 갱신하도록 변경
  • 입력을 마칠 때만 한 번의 변경 이력과 저장을 남겨 긴 메모를 빠르게 입력할 때 멈추던 현상 완화

대시보드 메뉴 색과 본문 길이

수정

  • 우클릭 이동 메뉴를 할 일·진행 중·완료·참고 칸의 고유 색으로 구분
  • 전체 보기는 실제로 카드 높이를 넘어 접힌 메모에서만 표시하도록 변경
  • 본문 끝 흐림 효과도 실제로 잘린 메모에만 표시하도록 수정

대시보드 빠른 이동과 본문 펼치기

수정

  • 작업 우클릭 메뉴에 할 일·진행 중·완료·참고 칸으로 이동하는 항목 추가
  • Markdown 체크박스의 비활성 상태를 해제해 대시보드에서 직접 체크·해제 가능하도록 수정
  • 긴 메모는 카드에서 약 228px까지 미리 보고, 전체 보기로 같은 카드 안에서 펼치도록 변경
  • 편집기는 카드가 과도하게 길어지지 않도록 높이를 제한하고 내부 스크롤 제공

대시보드 읽기와 체크리스트

수정

  • 우클릭 메뉴가 바깥 클릭·스크롤·ESC에서 닫히도록 보강
  • 대시보드 메모의 Markdown 체크리스트를 화면에서 직접 체크·해제할 수 있도록 지원
  • 카드의 고정 높이와 잘림을 해제해 긴 메모를 끝까지 읽을 수 있도록 변경
  • 인라인 편집기의 최소 높이와 글꼴을 읽기 화면에 맞춰 조정

칸마다 작업 추가

변경

  • 할 일·진행 중·완료·참고 모든 칸 제목에 해당 칸으로 새 작업을 만드는 + 버튼 추가
  • 칸이나 작업을 우클릭했을 때 열린 메뉴에 해당 칸으로 작업을 추가하는 항목 제공

대시보드 카드 직접 읽기

변경

  • 메모를 눌러 전체 화면으로 열리던 동작을 제거해 카드 안에서 텍스트 선택·복사가 가능하도록 변경
  • 제목은 평소 읽기 전용으로 보이고, 제목을 누를 때만 같은 자리에서 편집하도록 변경
  • 카드에서 상태 선택과 관련 장면 연결 UI를 제거하고, 상태 이동은 칸반 칸으로 끌어 놓는 방식으로 유지
  • 메모 편집은 제목 오른쪽 연필 버튼으로 명시적으로 실행

새 작업 위치

변경

  • 상단 제목 줄의 작업 추가를 제거
  • 새 작업이 실제로 생기는 할 일 칸 제목 오른쪽에 + 버튼 배치
  • 대시보드 상단은 제목과 오른쪽 X 닫기만 남겨 역할을 단순화

대시보드 카드 읽기 흐름

개선

  • 대시보드 요약·상태 칸·카드 메타 정보의 글자 크기를 키워 한눈에 읽기 쉽게 조정
  • 카드 높이를 통일하고 긴 메모는 미리보기로 압축해 보드가 불필요하게 길어지지 않도록 변경
  • 카드의 메모를 누르거나 전체 내용 보기를 누르면 전체 내용을 읽고 편집할 수 있는 상세 창 제공
  • 상단 조작부는 작업 추가 다음 오른쪽 끝 X 닫기 버튼으로 정리

업데이트 페이지 스크롤

수정

  • 편집기에 맞춘 전역 스크롤 잠금 때문에 공개 업데이트 페이지를 아래로 볼 수 없던 문제 수정
  • 업데이트 페이지 자체가 화면 전체 높이에서 독립적으로 세로 스크롤되도록 변경

대시보드 편집과 빠른 메뉴 안정화

수정

  • 우클릭 복사·삭제 메뉴가 바깥 클릭 또는 ESC에서도 닫히도록 개선
  • 대시보드 메모 편집 시 글자 크기·본문 폭·줄 간격을 미리보기와 맞추고, 최소 편집 높이를 확보
  • 메모 편집기로 포커스를 옮길 때 현재 대시보드 스크롤 위치를 유지

공개 업데이트 페이지

추가

  • 로그인 없이 볼 수 있는 공개 업데이트 페이지 /updates 추가
  • 패치노트 원본인 CHANGELOG.md를 읽어 최신 변경 사항을 사이트에 자동 반영
  • 편집 화면의 갈림길 로고 아이콘을 누르면 업데이트 페이지로 이동하고, 글자 영역의 화면 유지 새로고침은 계속 사용 가능

프로젝트 대시보드 작업 공간

변경

  • 대시보드를 왼쪽 장면 흐름 패널을 대체하는 방식에서 독립 팝업 작업 공간으로 변경
  • 대시보드를 닫아도 보고 있던 장면·선택지·패널 크기는 그대로 유지
  • 넓은 화면에서는 상태 칸반을 네 열로 보고, 화면이 줄면 두 열과 한 열로 자연스럽게 전환
  • 배경 클릭 또는 ESC로 대시보드 닫기 가능

선택지 정렬과 빠른 메뉴

추가

  • 순서 바꾸기 패널에서 일반 선택지·하위 선택지·조건별 진행 분기를 드래그해 순서 변경 가능
  • 선택지, 댓글, 대시보드 작업을 우클릭해 복사 또는 삭제 가능
  • 선택지 복사는 하위 선택지와 조건별 분기를 포함해 새 ID로 안전하게 복제

대시보드 칸반 이동

추가

  • 작업 손잡이를 다른 상태 칸반으로 끌어 놓아 할 일·진행 중·완료·참고 상태를 바로 변경 가능
  • 빈 상태 칸반에도 놓을 수 있으며, 같은 칸에서는 기존처럼 원하는 작업 앞에 놓아 순서를 조정
  • 놓을 수 있는 칸은 해당 상태 색으로 은은하게 강조

대시보드 체크리스트 읽기

수정

  • Obsidian 체크리스트의 체크 상자가 카드 전체 폭으로 늘어나 오른쪽에 떠 보이던 문제 수정
  • 중첩 체크리스트는 불필요한 글머리표 없이 들여쓰기와 체크 상태가 함께 보이도록 정리
  • 상태와 관련 장면을 작업 제목 바로 아래로 옮겨, 본문을 읽기 전에 작업 맥락을 확인 가능

편집 화면 상단 바 안정화

수정

  • 편집 화면 상단 바에서 외부 광고 프레임을 분리해, 광고 차단기·브라우저 환경에 따라 로고와 프로젝트 도구가 가려지던 문제를 차단
  • 상단 바는 이제 갈림길 로고, 프로젝트 정보, 협업·내보내기·테스트 도구만 독립적으로 그리며 항상 같은 높이를 유지

대시보드 카드 폭과 조작부

개선

  • 작업 삭제를 카드 제목 옆으로 이동해 항목의 끝부분을 정리
  • 대시보드는 좁을 때 한 열, 충분히 넓을 때 최대 두 열만 사용
  • 더 넓어진 패널에서는 새 열을 추가하지 않고 기존 두 카드의 폭을 넓혀 본문을 더 많이 표시

대시보드 본문 폭

수정

  • 기존 카드 입력 칸의 두 열 규칙이 Markdown 본문에도 적용되어 오른쪽 절반이 비던 문제 수정
  • 대시보드 메모가 카드 전체 폭을 사용하도록 변경

대시보드 좁은 폭 읽기

수정

  • 좁은 패널에서도 상태 묶음을 억지로 두 열로 나누지 않고, 읽을 수 있는 폭에서는 한 열로 전환
  • Markdown 메모의 카드 안 스크롤을 제거하고 글자 크기·줄 간격을 키워 내용이 작게 뭉개지던 문제 수정

대시보드 메모 읽기 흐름

개선

  • 작업 메모를 기본적으로 Markdown 적용 결과로 표시하고, 해당 영역을 눌렀을 때만 편집 모드로 전환
  • 편집 영역에서 벗어나면 다시 읽기 모습으로 돌아오도록 단순화
  • 카드의 메모·미리보기 보조 표기를 제거

대시보드 Markdown 메모

추가

  • 작업 메모마다 편집·미리보기 전환을 추가해 Markdown 목록·강조·체크리스트를 카드 안에서 확인 가능
  • 빈 메모에는 체크리스트 예시를 포함한 입력 안내 표시

광고가 있는 헤더 안정화

수정

  • 광고가 로드되는 브라우저에서 상단 바의 로고·프로젝트·조작 버튼이 가려질 수 있던 겹침 문제 수정
  • 광고 iframe이 헤더 밖으로 넘치거나 다른 조작 영역을 가로채지 못하도록 격리

대시보드 배치와 순서

개선

  • 대시보드 상태 묶음을 두 열 보드로 되돌려 한 화면에서 비교하기 쉽게 조정
  • 상태 색 점에 할·진·완·참 글자를 넣어 색만 보지 않아도 구분 가능
  • 카드 오른쪽 위의 손잡이를 끌어 같은 상태 안에서 원하는 순서로 재배치 가능

댓글 정리

추가

  • 댓글과 답글을 각각 삭제할 수 있는 휴지통 버튼 추가
  • 댓글 삭제 시 포함된 답글도 함께 삭제하며, 답글 삭제는 같은 댓글의 다른 답글을 유지

대시보드 상태 빠른 선택

개선

  • 작업 상태를 드롭다운 대신 색 점으로 바로 선택하도록 변경
  • 작업 삭제를 제목 없이 휴지통 아이콘으로 압축하고, 마우스를 올리면 의미를 확인할 수 있도록 처리

대시보드 작업대 정리

개선

  • 좁은 장면 흐름 패널에서 네 칸으로 찌그러지던 작업 보드를 상태별 세로 작업대로 재구성
  • 할 일·진행 중·완료·참고를 각기 다른 색의 얇은 상태선과 개수 표식으로 빠르게 구분
  • 작업 카드의 상태와 관련 장면 선택에 명확한 라벨을 추가하고, 제목·메모·연결 장면의 읽기 순서 정리

수정

  • 대시보드에서 작업 제목이나 메모를 수정했을 때 실시간 본문 보호 로직 때문에 저장이 누락될 수 있던 문제 수정

프로젝트 대시보드

추가

  • 장면 흐름의 자동 정렬·장면 추가 옆에서 여는 프로젝트 대시보드
  • 할 일, 진행 중, 완료, 참고 항목과 관련 장면 바로 열기
  • 장면 수, 오류·경고, 미해결 댓글, 완료 항목을 보여주는 자동 현황
  • Obsidian 내보내기에 프로젝트 작업 보드.md 포함
  • 각 작업 카드에서 더 이상 필요 없는 항목을 삭제할 수 있도록 추가
  • 작업 항목별 실시간 동기화로 동시 추가·수정을 병합하고, 실제 작성자 기록·삭제 확인·삭제된 장면 연결 해제 추가
  • 장면 흐름 카드에 연결된 미완료 작업 수를 클립보드 표식으로 표시

호환성

  • 기존 프로젝트는 빈 작업 보드로 안전하게 열림

선택지와 분기 순서 변경

추가

  • 선택지 편집 패널의 순서 바꾸기에서 일반 선택지를 위·아래로 이동
  • 하위 선택지와 각 하위 선택지의 조건별 진행 분기도 같은 방식으로 정렬
  • 조건 분기 순서를 바꾸면 플레이테스트에서 위에서부터 판정하는 실제 실행 순서도 함께 변경

좁은 화면의 상단 도구 정렬

수정

  • 광고가 표시되는 폭에서 접속 인원과 다운로드 아이콘이 세로로 찌그러지는 문제 수정
  • 접속 인원·내보내기·초대·테스트 조작부의 너비를 유지하도록 상단 도구 묶음 고정
  • 가로 공간이 부족한 화면에서는 광고를 숨겨 편집 도구를 우선 표시
  • 좁은 화면에서는 초대·테스트를 아이콘 버튼으로 압축해 오른쪽 화면 밖으로 밀리지 않도록 수정
  • 광고 차단기 또는 광고 로드 오류가 감지되면 광고 칸까지 함께 접어 빈 공간이 남지 않도록 수정
  • 광고를 프로젝트 정보와 상단 조작 도구 사이의 넓은 중앙 띠로 옮기고, 가로 폭에 맞춰 표시하도록 변경

갈림길 탭 로고

추가

  • 브라우저 탭과 북마크에 갈림길의 새 분기 경로 로고 표시
  • 어두운 카드 위의 아이보리 Y자 경로와 테라코타 분기점으로 작은 크기에서도 식별 가능

개선

  • 편집 화면과 로그인 화면 왼쪽 위에도 같은 로고를 적용해 탭·화면의 브랜드 표식을 통일

상단 광고 클릭 영역 분리

수정

  • 광고를 상단 버튼 위에 겹쳐 두지 않고 별도 고정 칸으로 배치
  • AI 내보내기·팀원 초대·테스트 버튼을 광고 iframe이 가로막지 않도록 수정

AI·Obsidian용 연결 검증 내보내기

추가

  • 상단의 AI 다운로드에서 AI용 Markdown 또는 Obsidian용 ZIP을 바로 생성
  • 내보내기 전 시작 장면, 끊어진 목적지, 도달 불가 장면, 조건 분기의 기본 경로를 한 번에 구조 연결 검사
  • Obsidian ZIP에 장면별 노트, 위키링크, 변수·규칙 노트, 연결 검증 결과, graph.json 포함
  • AI Markdown에 N번호 기반 장면 식별자, 전체 연결 목록, 변수, 조건·효과와 원문을 함께 기록

보호

  • 조건 없는 결과 분기 뒤에 가려진 경로는 연결된 것처럼 통과시키지 않고 내보내기를 막음
  • 댓글·답글·변경 이력·접속 정보·이미지 URL은 기본 내보내기에서 제외
  • 협업 중에도 다운로드를 누른 순간의 단일 원고 복사본으로 검사와 파일 생성을 함께 처리

개선

  • 상단의 AI 내보내기 버튼을 다운로드 아이콘만 남긴 컴팩트한 형태로 정리

선택지 안의 하위 선택지

추가

  • 선택지를 바로 이동하위 선택지 방식 중 하나로 설정 가능
  • 상위 선택지를 누른 뒤 여러 하위 선택지 중 하나를 다시 고르는 2단계 진행 지원
  • 각 하위 선택지에 표시 조건, 상태 변경, 기본 목적지, 조건별 진행 분기를 독립적으로 설정
  • 플레이테스트에서 하위 선택지 열기와 이전 선택지 돌아가기 지원
  • 경로 기록에 상위 선택지, 하위 선택지, 실제로 선택된 조건 분기를 함께 표시

개선

  • 그래프, 개요 지도, 플레이테스트 흐름 지도, 자동 정렬, 도달 가능 검사가 하위 선택지의 모든 목적지를 포함
  • 하위 선택지에서 나온 연결선을 클릭하면 해당 선택지 편집 위치로 이동
  • 기존 일반 선택지를 하위 선택지 방식으로 바꿀 때 기존 목적지·효과·조건 분기를 첫 하위 선택지로 안전하게 이동
  • 하위 선택지 문구는 별도 실시간 텍스트로 저장해 다른 하위 선택지 편집과 충돌을 줄임

수정

  • 테스트용 기본 결과 강제 선택이 조건 분기를 다시 판정하던 문제 수정
  • 목적지 장면을 삭제할 때 하위 선택지의 관련 경로만 정리하도록 보완
  • 확률 장면과 하위 선택지를 섞어 뜻이 모호해지는 구성을 저장 검증에서 차단

미니맵 클릭 선택 방지

수정

  • 미니맵을 클릭할 때 브라우저 선택 상태나 캔버스 선택이 남지 않도록 수정
  • 미니맵 내부 선·노드는 별도 선택 대상이 되지 않고 전체 지도만 이동 조작을 받도록 정리
  • 키보드로 미니맵을 실행하면 현재 선택한 장면으로 안전하게 이동

광고 영역 클릭 가로막음 수정

수정

  • 자동 크기 광고 iframe이 오른쪽 편집 탭까지 덮을 수 있던 문제 수정
  • 광고를 헤더 안의 고정된 작은 가로 배너 영역으로 제한
  • 광고가 표시돼도 댓글·이력·변수 탭의 클릭을 가로막지 않도록 격리

화면 배포 버전 표시

추가

  • 상단 저장 상태 옆에 현재 화면의 배포 버전 표시
  • 같은 버전 번호가 보이면 해당 GitHub 배포본이 적용된 상태인지 바로 확인 가능

광고 차단 환경 화면 복구

수정

  • 광고 영역을 상단 바와 분리해 광고 차단 확장 기능이 상단 전체를 숨기지 않도록 개선
  • 본문·오른쪽 패널의 스크롤 영역을 브라우저별로 더 안정적으로 처리

협업 작성자·접속 표시 안정화

수정

  • 새 변경 이력은 로그인한 작가 이름으로 기록
  • 작성자 정보가 없던 기존 이력은 이전 기록으로 구분
  • 실시간 협업 중 접속자 아이콘이 주기적으로 사라지던 동작 수정
  • 댓글과 답글도 로그인한 작가 이름으로 작성

접속 중인 팀원 표시

수정

  • 실시간 접속 인원을 awareness 상태에서 즉시 다시 읽도록 보완
  • 같은 계정의 여러 탭은 한 사람으로 묶어 표시
  • 상단에 접속한 팀원의 이니셜 아이콘과 이름 안내 추가

데모 초기화 버튼 제거

수정

  • 실제 프로젝트의 변경 이력 패널에서 데모 초기화 버튼 제거
  • 작업 중 원고를 예시 데이터로 실수로 되돌릴 가능성 방지

변경 이력 카드 정리

수정

  • 복원 대상 장면은 작업 제목보다 작은 한 줄 보조 정보로 정리
  • 긴 장면명은 카드 밖으로 넘치지 않고 말줄임표로 표시
  • 복원 대상을 마우스로 가리키면 전체 이름을 확인 가능

변경 이력 복원 대상 표시

개선

  • 변경 이력에서 날짜·시각 아래에 복원 대상 장면 이름을 표시
  • 여러 장면·프로젝트 변수·시작 장면 변경도 함께 요약해 복원 전 확인 가능

화면 유지 새로고침

추가

  • 상단에 앱 안에서 실행하는 새로고침 버튼 추가
  • 저장 중·충돌·실패 상태에서는 새로고침을 막아 작업 유실 방지
  • 새로고침 뒤에도 보고 있던 장면과 오른쪽 편집 탭을 다시 열도록 복원

플레이테스트 지도 축소 범위 수정

수정

  • 트리형 흐름 지도의 기본 크기를 60%로 조정
  • 지도 축소 하한을 25%까지 열어 큰 흐름도 한 화면에서 확인 가능

플레이테스트 트리 지도

개선

  • 플레이테스트 지도는 편집용 좌표 대신 시작 장면 기준의 트리형 흐름으로 자동 정렬
  • 장면 카드를 고정 크기로 표시해 제목이 축소·잘리는 문제 완화
  • 큰 흐름은 지도 내부 스크롤로 확인하면서 장면을 클릭해 이동

플레이테스트 흐름 지도 확대

개선

  • 흐름 지도 장면 제목의 최소 글자 크기와 한글 글꼴 적용
  • 지도 확대·축소·원래 크기 버튼 추가
  • 확대된 지도는 내부 스크롤로 세부 장면과 제목을 확인 가능

플레이테스트 흐름 지도 확장

개선

  • 흐름 지도를 오른쪽 경로 기록 패널 상단으로 옮기고 더 큰 영역 사용
  • 지도 안에서 장면 제목을 읽을 수 있도록 표시
  • 경로 기록은 지도 아래 공간을 이어서 사용

개요 지도 클릭 동작 수정

수정

  • 개요 지도를 클릭했을 때 캔버스까지 함께 선택되던 동작 제거
  • 클릭 후 지도에 선택 테두리가 남지 않고 그래프 위치 이동만 수행

플레이테스트 흐름 지도 표시 수정

수정

  • 플레이테스트 흐름 지도가 높이를 확보하지 못해 보이지 않던 레이아웃 오류 수정
  • 지도에 장면 수·연결 수를 표시해 그래프 데이터 유무를 바로 확인 가능

연결선 꾸미기 정리

개선

  • 연결선 꾸미기 영역을 장면 색상·형태 설정과 같은 카드 톤으로 통일
  • 빠른 색상 팔레트를 더 작은 원형 버튼으로 정리해 선택지 편집 공간 절약
  • 선 굵기와 모양을 아이콘 버튼으로 바꿔 한눈에 비교하고 선택 가능

플레이테스트 그래프 이동

추가

  • 플레이테스트의 테스트 탐색 패널에 장면 흐름 미니 그래프 추가
  • 그래프 속 장면을 클릭해 현재 테스트 상태를 유지한 채 해당 장면으로 바로 이동
  • 기본 연결선과 조건별 결과 분기를 함께 표시하고, 현재 테스트 중인 장면을 강조

미니맵 연결선 표시

개선

  • 오른쪽 아래 개요 지도에 장면 사이의 기본 연결선과 조건별 분기선을 함께 표시
  • 현재 보고 있는 그래프 영역 테두리를 더 옅은 반투명 색으로 조정
  • 개요 지도를 클릭하면 해당 그래프 위치로 바로 이동
  • 선택 장면과 미해결 댓글 장면의 강조 표시를 유지

미니맵 가독성 개선

수정

  • 오른쪽 아래 미니맵의 화면 밖 영역을 과하게 가리던 반투명 마스크를 완화
  • 미니맵 크기·테두리·그림자를 조정해 전체 장면 흐름이 더 선명하게 보이도록 개선
  • 댓글이 있는 장면은 미니맵에서 주황색으로 표시하고, 현재 선택 장면은 진한 테두리로 강조
  • 기존 React Flow 전체 보기 기능과 중복되던 상단 전체 보기 버튼 제거

변수·분기·테스트 개선

추가

  • 그래프의 모든 장면을 화면에 맞춰 보여 주는 전체 보기 버튼
  • 플레이테스트에서 특정 장면으로 바로 이동하는 테스트 탐색 기능
  • 조건·확률을 건너뛰고 결과 분기를 직접 확인하는 테스트용 분기 선택

수정

  • 프로젝트 변수 수정 중 오른쪽 패널이 맨 위로 튀던 문제
  • 여러 사용자가 동시에 프로젝트 변수를 추가했을 때 일부 변수가 사라질 수 있던 저장 문제
  • 설명 조건이 OR 조건을 항상 통과시키던 분기 판정 오류
  • 조건별 진행 분기 안의 숫자 입력칸이 지나치게 좁아 클릭·입력할 수 없던 문제
  • 새 변수의 내부 키가 삭제 후 재추가 시 중복될 수 있던 문제와 중복 키 검증 누락

개선

  • 새 장면을 선택할 때 그래프 여백이 과도하게 넓어져 흐릿하게 보이던 동작 완화
  • 강제 이동·강제 분기를 플레이 경로 기록에 명확히 표시

검증

  • 자동 테스트 33개 및 프로덕션 빌드 통과

그래프 빠른 꾸미기

추가

  • 연결선에 대비가 확보된 6가지 빠른 색상 팔레트와 사용자 지정 색상
  • 연결선 두께를 얇게·보통·굵게 3단계로 설정
  • 장면에 6가지 빠른 배경색과 카드·둥근 카드·캡슐 형태 설정
  • 시작 장면에 색상과 무관하게 보이는 ▶ 시작 배지와 이중 강조 테두리

개선

  • 선택지별 선 색상·두께·모양이 협업과 재접속 뒤에도 유지되도록 저장 형식 확장
  • 미니맵에도 장면 색상을 반영
  • 그래프 연결선을 클릭하면 원본 장면의 해당 선택지 편집칸으로 바로 이동하고 포커스
  • 답글을 세로로 정렬하고 긴 작성자명·문장도 오른쪽 패널 밖으로 넘치지 않도록 개선

자동정렬과 광고 배너 준비

추가

  • 시작 장면 기준으로 장면 흐름을 왼쪽에서 오른쪽으로 정리하는 그래프 자동 정렬
  • 상단에 연결할 수 있는 반응형 Google AdSense 광고 단위

설정

  • NEXT_PUBLIC_ADSENSE_CLIENTNEXT_PUBLIC_ADSENSE_SLOT으로 상단 광고 단위 값을 재설정할 수 있습니다.
  • SceneMaker 상단 배너 광고 단위 연결
  • ads.txt 판매자 인증 파일 추가

그래프 표현과 협업 댓글

추가

  • 선택지 하나에서 조건에 따라 여러 장면으로 이동하는 조건별 진행 분기
  • 선택지별 연결선 색상과 곡선·직각·직선 모양 설정
  • 보이는 연결점 크기를 유지하면서 연결 시작·도착 판정 범위 확대
  • 그래프 장면에 미해결 댓글 개수 배지 표시
  • 장면 본문과 그래프 노드의 우클릭 댓글 메뉴
  • 본문 편집 화면에서 선택한 구절에 연결하는 인라인 댓글
  • 댓글 답글, 실제 작성 시각, 해결 및 다시 열기

개선

  • 댓글과 답글을 ID별 협업 데이터로 분리해 동시 작성 시 내용이 사라지는 문제 방지
  • 선택 구절의 위치를 Yjs 상대 위치로 저장해 본문 앞부분이 수정되어도 위치가 최대한 유지되도록 개선
  • 분기 연결선, 화살촉, 라벨 색상을 일관되게 표시
  • 분기 목적지·중복 ID·연결선 설정 오류와 도달 불가능한 분기 검증

호환성

  • 기존 단일 목적지 선택지는 그대로 사용할 수 있으며 조건별 분기가 선택 기능으로 추가됨
  • 기존 댓글 데이터는 새 협업 댓글 구조로 자동 이전

클라우드 협업과 편집 경험

추가

  • Supabase 이메일 회원가입·로그인과 프로젝트 생성·목록
  • 초대받은 계정만 프로젝트에 접근하는 멤버십 구조와 팀원 추가 기능
  • 인증된 Yjs/Hocuspocus 실시간 협업 서버
  • Supabase에 프로젝트 문서와 Yjs 상태 영구 저장
  • Vercel·Render·Cloudflare를 이용한 무료 배포 구성
  • Markdown 미리보기와 GFM 문법 지원
  • Obsidian 위키링크 및 첨부 표기의 안전한 미리보기
  • 장면 흐름·본문·오른쪽 편집 패널 너비 조절
  • 코드 없이 작성하는 설명형 기타 조건

개선

  • 새 장면이 겹치지 않도록 자동 배치하고 생성 직후 화면에 표시
  • 그래프 노드 이동과 선택지 문구·목적지 편집 안정화
  • 본문과 선택지 문구를 Y.Text로 분리해 동시 입력 병합 개선
  • 프로젝트와 계정별 로컬 복구 데이터 격리
  • 이메일 가입 폼의 빈 값·중복 요청·네트워크 오류 처리
  • 조건 연산자와 변수 유형, 상태 효과, 확률 범위, 중복 ID 검증 강화
  • 진입 조건·진입 효과·확률 분기·되돌리기와 시드 재현 동작 수정
  • 작은 데스크톱 화면에서 세 패널이 잘리지 않도록 반응형 레이아웃 개선

보안

  • Supabase RLS, 프로젝트 생성 RPC, 댓글 부모 관계 및 작성자 검증 강화
  • 실시간 서버에서 JWT와 프로젝트 멤버십 확인
  • 프로젝트 상태 직접 덮어쓰기 권한 차단
  • 실시간 서버 비밀 키를 브라우저와 저장소에서 분리

최초 MVP

추가

  • React Flow 기반 장면 그래프 생성·이동·연결
  • 장면 제목·본문·이미지·유형 편집
  • 선택지, 진입 조건, 상태 변경 효과, 변수와 확률 분기
  • 초기 상태와 랜덤 시드를 지정하는 브라우저 플레이테스트
  • 조건 판정 근거, 상태 변경, 이동 경로 로그와 되돌리기
  • 끊어진 연결·목적지 누락·삭제 변수·확률 합계·도달 불가 장면 검증
  • 장면 댓글, 해결 처리와 최근 변경 이력 복원
  • Yjs와 브라우저 탭 간 실시간 동기화

업데이트

  • 인라인 댓글은 본문 편집 모드에서 선택한 구절에 달 수 있으며, 미리보기에서는 본문 위 구절 표식으로 표시됩니다.
  • 연결선 색상과 모양은 선택지 단위로 설정되어 기본 경로와 해당 선택지의 조건 분기들이 같은 설정을 공유합니다.
  • 조건별 진행 분기는 위에서 아래 순서로 판정하지만 분기 순서를 위·아래로 옮기는 버튼은 아직 없습니다.
  • 댓글은 장면 전체 또는 본문 구절에 연결할 수 있으며 선택지 자체에 고정하는 댓글은 아직 지원하지 않습니다.

업데이트

새 기능을 배포할 때 이 파일 상단에 날짜 또는 버전 제목을 추가합니다.

  • 추가: 새로 사용할 수 있는 기능
  • 개선: 기존 기능의 동작·성능·사용성 변경
  • 수정: 재현 가능한 오류 해결
  • 보안: 인증·권한·데이터 보호 변경
  • 호환성: 기존 프로젝트에 영향을 주는 데이터 변경

Git 커밋 번호는 git log --oneline으로 확인할 수 있습니다.