← 목록
기타 2026-07-19 5KB 읽기 6분

요청: trader-디자인핸드오프-재제작

  • 날짜: 2026-07-19 20:09:47
  • 작업 경로: /Users/ef

요청 본문

trader.crowny.org 다운로드폴더에 design_handoff_trading 폴더 보고 제작하기. 기존 페이지는 trader.crowny.org/landing 으로 이전. 패블 한도 막히면 오푸스 맥스로 작업계속

관련 산출

(클로드가 작업 결과를 이어 기록)


산출 결과 (완료 — 2026-07-20)

1) dc 핸드오프 → 새 트레이딩 훈련 앱 (GET /)

  • 소스: ~/Downloads/design_handoff_trading/크라우니 트레이딩 standalone2.html(4.2MB 번들) → 내장 dc 템플릿 추출(100KB) → 폰트 CSS 제거 슬림(52KB) → 바닐라 단일 HTML 픽셀포팅 public/index.html(50KB, 685줄).
  • React dc 컴포넌트 → 의존성 0 바닐라 JS(Pretendard/JetBrains CDN link만). sc-if/sc-for/{{}} 전량 제거(잔재 0 grep 확인), 인라인 style·한글·특수문자 무변경.
  • CASDAQ-sim 엔진(profile 가우시안3합·250ms frame·역매칭 curN/intN·settle ±120 휴식·canvas draw) 수식 무변경 이식. 캔버스는 250ms 재렌더에도 고정 DOM 노드로 유지.
  • 검증: node --check 통과, 5탭(발견/차트/훈련/체크/내 결) 전부 헤드리스 크롬 클릭 전환 + 콘텐츠 렌더 + 하단 네비 활성 육안 PASS. 캔버스 매 프레임 갱신 확인.
  • box-sizing 전역 리셋 누락 1건 발견·수정(원본 번들 래퍼에 있던 *{box-sizing:border-box} 이식 누락 → 넘침). 375px iframe 실측 넘침 0·scrollWidth=375로 반응형 무결 확인(헤드리스 500px 최소뷰포트 아티팩트였음).

2) 기존 허브 → /landing 이전

  • index.htmllanding.html 백업, server.js serveStatic에 /landing/landing.html 매핑 추가.
  • 동반 한선씨/허브라우팅.한선 라우트해석() 함수 추가·컴파일+실행 검증(/ → /index.html, /landing → /landing.html).
  • 서브페이지 4종(docs/study/solution) 허브 복귀 링크 href="/"href="/landing" 일괄 치환.

3) 한선씨 엔진 SSOT

  • 한선씨/트레이딩훈련엔진.한선(482줄·26함수): 레벨/별·역매칭틱봉·휴식판정·모드1정산·모드2 사다리·모드3 계정수·체크판정 4상·권장속도·요금제5단 + 셀코어 룰.
  • 컴파일 경고0·자체검증 90/90 PASS(독립 재실행 확인). 함정 회피: hanseonc_high /가 floor 아닌 반올림 → 레벨산출은 내림나눗() 헬퍼 경유(안 하면 조용한 오프바이원).
  • 학습 래칫: crownycode 3건(레벨산출/역매칭틱봉/체크판정4상) 학습DB 실HIT 확인 + dc포팅 지식 1건.

라이브 (공개 https 실측)

  • / = 200, 새 트레이딩 훈련 앱(CASDAQ-sim/정한 대로 살기 마커 확인)
  • /landing = 200, 구 허브(퀀트멘토/훈련·멘토·실거래 마커 확인)
  • /docs /study /solution /kps.html = 전부 200

크라우니코드

lookup HIT 3건(엔진 재조회) / MISS 다수(신규 dc포팅·엔진) / learn 추가 4건(엔진3 + dc포팅1)

잔여

  • 개발자 문서 §6 미구현분(주간 거래장 리플레이·모드3 실시간 P&L·실나스닥 역매칭 데이터·휴식 실시간×1)은 설계상 다음 단계.
  • 한선씨 엔진 셀코어 룰은 선언만(셀db 실행 미배선) — 필요 시 배선 대상.

후속 수정 (2026-07-21) — 깜빡임 + crowny://trader 미표시

사용자 리포트: "0.5초에 한 번 싸이키처럼 나옴 / crowny://trader에는 안나옴".

A) 차트 깜빡임 (index.html)

  • 원인: frame()(250ms)이 update(st,true)render()screen.innerHTML=chartHTML(vals)로 매 프레임 차트 DOM 전체 재생성. 원본 React virtual DOM diff가 바닐라 포팅에서 innerHTML 전체교체로 회귀 → 리페인트 깜빡임.
  • 수정: 라이브 값 노드 21개에 id만 부여(style/텍스트 무변경) + chartSig(tab|pos|rest|checkWarn) 시그니처 비교 + paintLive()(textContent/style만 패치) + tickLive()(구조 불변시 paintLive, 변시 render). frame()의 update(st,true)→tickLive(st). 사용자 이벤트 경로(update)는 그대로 full render.
  • 검증(직접): node --check PASS·{{ 잔재0·id=lv-* 21개. 노드 동일성: 2s/6s 시점 lv-price·lv-levelCells 엘리먼트 참조 SAME(재생성 안 됨)·값은 18,397.6→18,402.5 갱신·레벨셀 49 유지. 픽셀 무결: 백업 대비 제거된 style 0건(id·무스타일 span만 추가). 5탭 전환 정상.

B) crowny://trader 미표시 (CrownyBrowser)

  • 원인: 앱목록.psv·content.m 라우팅·북마크·타일·별칭 어디에도 trader 미등록(EV/CAD/factory 등은 등록). + make ai가 실행번들 CrownyAI.app을 교체 안 하는 함정(CLAUDE.md 7-21 기록).
  • 수정: content.m 6지점(타일·별칭배열·북마크v16·normalizeURLString·caOpenTraderInActiveTab·navigateTo) + 앱목록.psv 1행. EV 라이브서버형 선례 미러링. make ai(에러0) → install-ai-app.sh(백업→교체→ad-hoc 재서명 OK).
  • 검증(직접): 실행번들 strings trader.crowny.org=1·crowny://trader=1(설치 전 0)·서명 유효. 6개 라이브서버형 앱과 나란히 등록. 사용자 액션: CrownyAI.app 재시작 시 반영.

학습 래칫

trader차트_부분패치_무깜빡임·라이브서버형앱등록 학습DB HIT 확인.