> For the complete documentation index, see [llms.txt](https://ckaanf.gitbook.io/ckaanf-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ckaanf.gitbook.io/ckaanf-docs/project/undefined.md).

# 메이플 환산주스탯-경매장 브릿지(가칭)

메이플 환산 아이템메이커 - 경매장 사이의 브릿지 역할과 각종 헬퍼 유틸을 포함한 확장 프로그램 프로젝트입니다.

## 제품 개요

### 해결하려는 문제

메이플스토리 웹 경매장에서 장비를 비교하고, 환산 주스탯의 아이템메이커에서 가상 장비 조합을 구성하는 과정은 반복 입력이 많습니다. 이 확장 프로그램은 경매장 찜 목록에 담은 장비 데이터를 읽어 환산기 아이템메이커 형식으로 변환하고, 브라우저 안에서 바로 추가할 수 있게 돕습니다.

또한 여러 캐릭터를 다루는 사용자가 환산기 장비 세트를 보관하고 다시 적용할 수 있도록 보관함을 제공하며, 환산기에서 조회한 스펙업 데이터를 조건에 맞춰 정리합니다.

### 지원하는 작업

#### 경매장 찜 목록의 실시간 최종뎀(FD) 및 가성비(eff100B) 산출

환산기 서버를 호출하지 않고 브라우저 로컬 CPU에서 환산주스탯의 3차 에르미트 스플라인 수식을 계산합니다. 찜 목록의 장비를 착용했을 때 기존 착용 장비 대비 최종뎀 상승량(%)과 100억 메소당 효율을 즉시 비교하고 정렬할 수 있습니다.

#### 직작 vs 완제 가치평가 (손익분기 기댓값 분석)

2026 최신 강화 시스템(스타포스 30성 확장, 15성 이상 하락 방지, 메소 잠재)을 반영하여 장비의 직작 총원가를 산출합니다. 가위 사용 가능 횟수(가횟) 감가 모델과 상위 75% 불운 리스크를 적용해 경매장 매물의 손익분기 구매 적정가(🟢/🟡/🔴)를 안내합니다.

#### 경매장 찜 목록을 아이템메이커 및 스펙업 순서로 추가

메이플스토리 웹 경매장 찜 목록을 방문하면 확장 프로그램이 대상 슬롯의 장비를 브라우저 저장소에 동기화합니다. 팝업에서 원하는 항목을 선택해 환산기 아이템메이커 형식으로 변환하여 추가하거나, \*\*\[스펙업 순서로 추가]\*\*를 통해 추가스펙 시뮬레이션 북마크(`bookMarkSimulList`)로 즉시 등록할 수 있습니다.

#### 환산주스탯 아이템메이커 장비 보관함

환산주스탯 사이트에서 현재 내 장비 또는 아이템메이커 보관함을 가져와 확장 프로그램의 폴더에 저장할 수 있습니다. 폴더는 캐릭터나 비교 목적별로 만들 수 있으며, 저장한 장비 세트는 환산기 아이템메이커에 적용할 수 있습니다.

#### 스펙업 순서 분석

환산기 스펙업 순서 화면에서 조회된 데이터를 바탕으로 목표 최종뎀, 교환불가 가중치, 조각 가격, 환불 가격을 반영해 우선순위를 계산합니다. 교환불가 항목에만 설정한 가중치를 적용하며, 분석 결과와 분석 시각은 팝업을 다시 열어도 확인할 수 있도록 로컬에 보관합니다. 기준선에 해당하는 항목은 환산기 화면에서 강조 표시합니다.

### 동작 구조

이 프로젝트는 Chrome Extension Manifest V3 기반의 확장 프로그램입니다.

1. 경매장과 환산기 페이지에서 콘텐츠 스크립트가 동작합니다.
2. 경매장 측 데이터는 확장 프로그램 저장소에 보관되고, `fd_calculator.js`가 로컬에서 각 아이템의 최종뎀(`eff`)과 직작 손익분기 기댓값을 연산합니다.
3. 선택한 항목은 `mapper.js`를 통해 환산기 아이템메이커 장비 형식 또는 추가스펙 북마크 형식으로 변환됩니다.
4. 백그라운드 서비스 워커가 환산기 탭을 열고, 페이지 문맥에서 아이템메이커 보관 목록 또는 스펙업 순서 북마크를 갱신합니다.
5. 팝업은 찜 목록(실시간 FD 및 직작 기댓값 배지), 장비 보관함, 스펙업 순서의 세 영역에서 저장된 데이터와 분석 결과를 보여 줍니다.

### 데이터와 저장 위치

| 데이터                     | 저장 위치                  | 용도                                    |
| ----------------------- | ---------------------- | ------------------------------------- |
| 경매장 찜 목록                | `chrome.storage.local` | 선택·정리·내보내기할 장비 목록                     |
| 확장 프로그램 보관함 폴더          | `chrome.storage.local` | 캐릭터 또는 목적별 장비 세트                      |
| 스펙업 분석 설정·수집 데이터·마지막 결과 | `chrome.storage.local` | 분석 조건, 환산기에서 읽은 데이터, 마지막 분석 결과와 분석 시각 |
| 아이템메이커 보관 목록            | 환산기 페이지의 브라우저 로컬 저장소   | 환산기에서 사용하는 장비 보관 데이터                  |

### 지원 범위와 제한 사항

* 이 확장 프로그램은 메이플스토리 웹 경매장과 환산주스탯 웹사이트의 현재 화면·데이터 형식을 전제로 동작합니다. 두 서비스의 UI나 데이터 형식이 바뀌면 일부 기능이 동작하지 않을 수 있습니다.
* 경매장 찜 목록은 해당 페이지를 방문한 뒤에 동기화됩니다. 페이지를 방문하지 않았거나 대상 슬롯이 없으면 팝업에서 빈 목록으로 보일 수 있습니다.
* 장비 보관함을 환산기 아이템메이커에 **교체**하는 작업은 대상 보관 목록을 덮어쓸 수 있습니다. 확인 창의 내용을 읽고 필요한 데이터는 먼저 보관하세요.
* 분석 결과는 입력한 목표값과 가격·가중치를 기준으로 정리한 참고 정보입니다. 게임 내 실제 비용이나 결과를 보장하지 않습니다.
* 본 프로젝트는 넥슨 및 환산주스탯 사이트와 무관한 개인 프로젝트입니다. 사용 결과와 데이터 관리의 책임은 사용자에게 있습니다.

### 용어

| 용어     | 의미                                    |
| ------ | ------------------------------------- |
| 환산기    | MapleScouter 웹사이트를 가리키는 문서 내 표현       |
| 아이템메이커 | 환산기에서 장비 데이터를 보관·비교하는 기능              |
| 찜 목록   | 메이플스토리 웹 경매장에서 사용자가 찜한 장비 목록          |
| 보관함    | 확장 프로그램에 저장하는 장비 세트와 폴더               |
| 내보내기   | 선택한 찜 목록 장비를 환산기 아이템메이커에 추가하는 작업      |
| 교체     | 보관함에 저장한 장비 세트로 환산기 아이템메이커 목록을 바꾸는 작업 |
