← 목록
기타 2026-06-14 6KB 읽기 6분

티옴타 미디어 허브 구축 — 문화콘텐츠 튜브/매체 (2026-06-14)

개요

티옴타를 "정한대로 살기 · 나의 잠재력" 문화콘텐츠 영상 미디어로 확장. 딥리서치로 UX/IA를 검증·확정하고, 4화면 미디어 허브를 울트라병렬로 구축. 유튜브/X 부트스트랩(oembed) → 자체 튜브 이전 전략. 크라우니코드 자율주도.

무엇을 했는지

1. 기반 — 9 미디어 노드 라이브

  • 튜브9890/톡9891/송9892/코드9893/게임9894/P2P노드9895/달러9896/진단9899/게이트웨이9898 전부 기동.
  • tiomta-keepalive.sh 데몬으로 영속화 + CROWNY_STD=libs export 추가(노드가 네트워크.한선 임포트 → 재컴파일 시 필수, 누락이 미생존 원인이었음).

2. 딥리서치 UX/IA (104 에이전트, 검증된 21 findings)

  • 2층 인터랙션: micro(플레이어) / macro(피드·IA)
  • 개인화 레일 상단 + 설명가능(출처 라벨) + 테마/9유형 그룹화
  • 투명·편집가능 Taste/가치 프로필(Spotify 모델)
  • 중독 4종(빨강배지·불투명알고·간헐보상·무한스크롤) 회피 → Time Well Spent
  • 의도 마찰은 영상 끝 선택적으로(강제 per-item은 53% 불만, 회상 d'=2.89)
  • Nebula(directional): 유튜브=top-of-funnel 파트너, "확장팩"

3. 공유 디자인 계약

  • public/media/tiomta-media.css — 클로드 밸런스(kraft#F4F2EC+coral#D97757+gold+serif)+TOAU 4상색, tm- 컴포넌트(카드/출처배지/TOAU칩/가치배너/레일).
  • public/media/tiomta-media.js — TM 클라이언트(same-origin /api/media/), tmCard/tmWhy/tmRail/tmTheme, TM.vow(가치)·TM.intent(Time Well Spent), 9유형·테마.

4. 4화면 울트라병렬 빌드 (Workflow, sonnet ×4)

  • media/index.html 홈 — 가치배너 + 개인화레일 + 테마섹션 + 톡 타임라인 (무한스크롤X, 더보기)
  • media/play.html 플레이어 — 자체/YT/X 임베드, micro 도구줄(주석타임라인·TOAU마크·속도·traces·요약), 4상칩, 영상 끝 성찰카드(선택)
  • media/studio.html 스튜디오 — 직접올리기(튜브/송/톡+CRD) / 유튜브·X 가져오기(미리보기→큐레이션)
  • media/profile.html 프로필 — 9유형·가치편집기·피드스티어링·잠재력여정(intent 집계)

5. 백엔드 (server.js + 한선씨 동반)

  • server.js: /media* 페이지 라우트 + /api/media/* 프록시(9890/9891/9892 정규화) + 유튜브/X oembed(공개, 키 불필요). API 404 catch-all이 /api/media/ 통과하도록 수정.
  • 진입점: index.html 헤더 "✳ 튜브" + home-full 사이드바 "티옴타 튜브 NEW".
  • 한선씨 동반: 미디어허브.한선(:9888 그림자, 노드프록시+oembed) — 컴파일 OK, 이전 대상.

검증

  • 9노드 LIVE · /media·/media/play·/studio·/profile 200 · /api/media/tube|song|tok 정규화 OK · youtube oembed OK(키 없이)

관련 파일

  • public/media/{tiomta-media.css,tiomta-media.js,index,play,studio,profile}.html
  • server.js(미디어 라우트/프록시), 미디어허브.한선, tiomta-keepalive.sh(CROWNY_STD)

잔여 (다음 "하나씩")

  • feed.html(테마/9유형 전용 피드 페이지) 미작성 — 현재 /media/feed→홈 폴백
  • 콘텐츠 바이너리 저장(노드는 메타만) — 실제 영상/음원 업로드·스트리밍
  • 유튜브/X 검색 API(현재 oembed 단건만, server.js platforms 스텁 잔존)
  • 한선씨 미디어허브 라이브 스왑(:9789 패턴) + 게이트웨이 결선
  • 개인화 추천 실제 9유형 큐레이션 결합(현재 레일 분배는 순차 placeholder)

마일스톤 2 완료 (병렬 4스트림) — 2026-06-15

  • 헤드리스검증(Chrome): 5화면 렌더 PASS. 홈 톡 타임라인 필드버그(tok.title) 수정 → 정상.
  • 콘텐츠시드: 노드에 테마 콘텐츠 적재 — 영상13/글13/음원15(잠재력·정한대로살기·문화·신앙·예술). 홈 86카드 렌더 확인.
  • 외부부트스트랩(oembed, 키 불필요): studio 가져오기→큐레이션 영속(data/curated.json), play youtube-nocookie 임베드, feed/home에 외부 큐레이션 병합. server.js에 /api/media/curate(POST)·/api/media/curated(GET) 통합. 종단 검증 OK(count 증가).
  • 한선씨 라이브화: 미디어허브.한선 :9888 그림자 가동 + crowny-ports media-hub 등록. oembed 0.33초(Content-Length OK, 멈춤 없음).
  • ★컷오버 전 과제: :9888은 노드 원본형({videos/tracks/posts}) 패스스루, :9878 JS는 정규화({items}). 한선씨에 정규화(videos→items+source+icon) 추가해야 프런트 호환 → 그 후 server.js가 /api/media/*를 :9888로 프록시 컷오버.
  • 최종 라이브 상태

    • 채팅 ✓ · 9노드 ✓ · 5화면 ✓(실콘텐츠 렌더) · 외부 oembed 부트스트랩+큐레이션 ✓ · 한선씨 그림자 :9888 ✓

    마일스톤 3 완료 (한선씨 라이브 컷오버) — 2026-06-15

    • 미디어허브.한선에 정규화목록()(노드 원본→{items:[id,title,author,source,icon]}) 추가 → :9888이 JS와 동일 계약.
    • server.js: 노드 읽기(tube/list·song/tracks·tok/timeline·song/curation)를 :9888 한선씨 우선 + JS 폴백(무중단). → 라이브 읽기 경로가 한선씨(헌법 우선).
    • oembed(youtube/xcom)는 JS 유지: 유튜브가 html '<'를 <로 주는데 한선씨 JSON파싱이 \uXXXX 미디코드(VM한계) → JS가 정확 디코드. 한선씨 oembed 정규화는 추가했으나 컷오버에서 제외.
    • :9888 영속화: /api/status 추가 + tiomta-keepalive.sh에 "미디어허브:9888" 등록.
    • 검증: tube 한선씨 경유 {items}, youtube iframe 정상, 5화면 200, 9888/9890/9891/9892 LIVE.

    함정 추가

    • 한선씨 JSON파싱 \uXXXX 미디코드 → \u 포함 외부 JSON(유튜브 oembed html) 추출 시 이중이스케이프. 그런 경로는 JS 유지 또는 \u 디코더 필요.