dal4segno c69db41ddf
Publish GitHub Pages output / publish (push) Successful in 40s
fix: allow external leader in green node efficiency
2026-08-31 18:28:34 +09:00
2026-08-29 23:49:56 +09:00
2026-08-31 12:33:52 +09:00
2026-08-29 23:49:56 +09:00
2026-08-20 14:30:22 +09:00
2026-08-31 12:33:52 +09:00

홀로도리 계산기

홀로라이브 드림즈의 카드와 멤버 성장 상태를 관리하고, 악곡별 최적 배치와 카드 조합을 분석하는 비공식 도구입니다.

최신 버전 다운로드 · 한국어 전용 · PC 환경 권장

홀로도리 계산기 홈 화면

주요 기능

  • 5성 카드의 타입, 주스탯, 기수와 스킬 정보 조회
  • 보유 카드와 개화 단계, 메모리, 멤버 강화 수치 저장
  • 멤버별 보드 노드와 연결 카드 설정
  • 현재 편성에서 초록 노드의 자원 대비 효율 분석
  • 특정 악곡과 5인 편성의 최적 배치 및 빈도 감소 조합 분석
  • 고정 멤버를 기준으로 남은 자리에 들어갈 카드 조합 탐색
  • 액티브·스페셜 발동 구간과 노트 분포 시각화
  • 사용자 데이터 백업과 복원
  • 인터넷 연결 없이 실행 가능한 오프라인 버전 제공

다운로드 및 실행

  1. 최신 Release를 엽니다.
  2. Assets에서 HolodoriCalc-offline-v버전.zip을 내려받습니다.
  3. ZIP 파일을 원하는 폴더에 완전히 압축 해제합니다.
  4. 압축을 해제한 폴더의 index.html을 실행합니다.

GitHub가 자동으로 제공하는 Source code (zip)은 실행용 배포 파일이 아닙니다. 반드시 HolodoriCalc-offline-...zip을 받아 주세요.

Chrome 또는 Edge의 최신 버전을 권장합니다. 일부 브라우저는 로컬 HTML의 저장소나 네트워크 접근을 제한할 수 있습니다.

처음 사용하는 순서

1. 사용자 데이터를 설정합니다

상단 메뉴에서 사용자 데이터 → 카드로 이동해 보유 카드와 개화 단계를 입력합니다.

  • 5성 카드는 0~5 개화 단계를 설정합니다.
  • 4성 카드는 보유 여부와 5개화 여부를 설정합니다.
  • 보유하지 않은 카드는 개화 단계를 변경할 수 없습니다.
  • 행을 누르면 보유 여부를 빠르게 전환할 수 있습니다.

카드 보유 및 개화 설정

사용자 데이터 → 일반에서는 메모리 보유 수와 멤버 강화 수치를 설정하고, 전체 사용자 데이터를 백업하거나 복원할 수 있습니다.

2. 멤버 보드를 설정합니다

사용자 데이터 → 보드에서 멤버를 선택한 뒤 실제 게임에서 활성화한 노드를 같은 형태로 입력합니다.

  • 빈 공간을 드래그해 보드를 이동합니다.
  • 마우스 휠로 확대하거나 축소합니다.
  • 인접하지 않은 노드를 누르면 중심에서 이어지는 최단 경로가 함께 활성화됩니다.
  • 보드 슬롯에는 보유 카드를 한 장씩 배치할 수 있습니다.
  • 모든 멤버 초록 3칸 활성화와 중앙 연결 노드 자동 배치로 일반적인 설정을 빠르게 적용할 수 있습니다.

멤버 보드 설정

같은 페이지의 초록 노드 효율 분석에서는 현재 편성을 기준으로 다음 항목을 비교할 수 있습니다.

  • 아직 활성화하지 않은 노드 중 우선 활성화할 노드
  • 이미 활성화한 노드 중 초기화를 검토할 노드
  • 종합력 변화, 필요한 연결 노드 수, 자원 소모량과 그린 큐브 효율

목록의 항목을 누르면 해당 멤버와 노드로 바로 이동합니다.

3. 카드 정보를 확인합니다

카드 목록에서는 타입, 주스탯, 기수, 액티브 확률, 조건부 스킬과 이격 여부로 카드를 필터링할 수 있습니다. 카드 행을 누르면 패시브·액티브·스페셜·의상 효과가 펼쳐집니다.

카드 목록과 상세 스킬

4. 5인 편성의 최적 배치를 분석합니다

배치 분석은 선택한 악곡과 5인 조합을 유지하면서 가장 높은 점수를 내는 멤버 순서와 빈도 감소 조합을 찾습니다.

  1. 악곡과 난이도를 선택합니다.
  2. 5장의 카드와 개화 단계를 설정합니다.
  3. 필요한 경우 카드별 빈도 감소를 특정 값으로 고정합니다.
  4. 리더와 리더 의상을 선택합니다.
  5. 최적 배치 분석을 누릅니다.

배치 분석 조건 설정

분석 결과에서는 최고·평균 점수, 최적 순서, 카드별 빈도 감소율과 함께 다음 시각화 자료를 확인할 수 있습니다.

  • 초당 노트 분포
  • 멤버별 액티브 발동 구간
  • 중첩을 반영한 최종 액티브 적용 구간
  • 멤버별 스페셜 발동 구간

분석 조건과 마지막 결과는 브라우저에 저장되며, 같은 악곡과 난이도의 조합 탐색에서 기준 조합으로 사용할 수 있습니다.

5. 더 좋은 카드 조합을 탐색합니다

조합 탐색은 악곡, 리더, 리더 의상과 최대 4명의 고정 카드를 기준으로 남은 자리에 들어갈 후보를 비교합니다.

  • 고정하지 않은 자리에는 전체 5성 카드가 후보로 들어갑니다.
  • 자동 후보의 개화 단계와 기수 보너스 덮어쓰기 값을 지정할 수 있습니다.
  • 보유 카드의 실제 개화가 자동 후보 개화보다 높으면 실제 보유 개화를 우선 적용합니다.
  • 고정 멤버별 개화, 빈도 감소, 파란 노드 전체 적용 여부와 기수 보너스를 따로 설정할 수 있습니다.
  • 한 편성에는 같은 인물의 일반 카드와 이격 카드가 동시에 들어가지 않습니다.
  • 결과는 최고 점수 기준으로 정렬되며 상위 조합의 상세 분석을 펼쳐볼 수 있습니다.

조합 탐색 조건과 기준 조합

최대 컴퓨팅 자원 활용을 켜면 탐색 속도가 빨라질 수 있지만, 분석 중 브라우저와 다른 프로그램의 반응이 느려질 수 있습니다.

데이터 저장과 백업

사용자 데이터와 분석 조건은 서버로 전송하지 않고 현재 브라우저의 localStorage에 자동 저장합니다.

  • 브라우저나 사용자 프로필이 달라지면 별도의 데이터로 취급될 수 있습니다.
  • 브라우저 데이터 삭제 시 저장 내용도 사라질 수 있습니다.
  • 새 버전으로 이동하기 전 사용자 데이터 → 일반 → 백업 내보내기를 권장합니다.
  • 백업 JSON은 다른 브라우저나 PC의 백업 가져오기에서 복원할 수 있습니다.

업데이트

홈 화면에서 현재 버전과 GitHub의 최신 Release를 비교합니다. 새 버전이 있으면 오프라인 ZIP 다운로드 버튼이 표시됩니다.

업데이트는 자동으로 파일을 교체하지 않습니다. 새 ZIP을 내려받아 별도 폴더에 압축을 해제한 뒤 index.html을 실행해 주세요. 업데이트 전에 사용자 데이터 백업을 권장합니다.

참고

  • 이 프로젝트는 홀로라이브 드림즈의 비공식 팬 제작 도구입니다.
  • 게임 업데이트와 확보된 데이터 범위에 따라 실제 게임 결과와 차이가 날 수 있습니다.
  • 분석 결과는 입력한 카드·개화·보드·메모리·멤버 강화 데이터가 정확하다는 전제에서 계산됩니다.
  • 카드와 악곡의 원본 게임 데이터는 프로젝트가 직접 소유하거나 공식 제공하는 데이터가 아닙니다.
개발 환경과 실행 방법

기술 구성

  • SvelteKit + TypeScript + @sveltejs/adapter-node
  • SQLite + Drizzle ORM
  • Web Worker 기반 클라이언트 계산
  • Docker / Docker Compose

계산 엔진은 UI와 분리하며 UI → Engine → Models 의존성 방향을 유지합니다.

Docker 개발 실행

docker compose up --build

종료할 때 docker compose down은 SQLite 볼륨을 보존합니다. docker compose down --volumes는 저장된 볼륨까지 제거하므로 주의하세요.

호스트에서 실행

Node.js 22.12 이상이 필요합니다.

Copy-Item .env.example .env
npm ci
npm run dev

검증과 빌드

npm run check
npm run build
npm run build:offline

릴리즈용 오프라인 ZIP 생성:

npm run package:offline

Production 실행

docker compose -f compose.prod.yaml up --build -d
게임 데이터 갱신과 카드 표시명 수정

공개 HolodoriDB diff 저장소에서 카드 관련 마스터 데이터와 한국어·영어·일본어 텍스트를 수집합니다.

npm run data:sync

생성된 데이터는 data/holodoridb에 저장합니다. 카드 일러스트, 영상과 음성은 수집 대상에서 제외합니다.

특별 버전명이나 번역 이름은 data/card-overrides.csv에서 관리합니다.

cardId,versionName,displayName
card-06002-5-uniq-0066-00,수영복,
  • cardId: 수정할 카드의 고유 ID
  • versionName: 이름 옆에 표시할 짧은 버전명
  • displayName: 기본 멤버 이름을 완전히 바꿀 때만 입력

수정 후 npm run data:sync를 실행하면 반영됩니다. 이 파일은 원본 데이터를 다시 수집해도 덮어쓰지 않습니다.

S
Description
No description provided
Readme
27 MiB
Languages
Svelte 48.1%
TypeScript 39.3%
JavaScript 9.7%
HTML 1.3%
PowerShell 0.6%
Other 0.9%