본문으로 건너뛰기

덱

화면에 띄워 보여 주는 16:9 표면입니다. 1920 × 1080 고정 캔버스에 v1 이 실측한 크기를 그대로 쓰고, 재질만 카톤으로 바꿨습니다.

슬라이드 바닥은 단색이고, 장면은 헤어라인 행 · 파인 면 · 초점 카드 하나로 위계를 냅니다. 1920 캔버스는 제품 화면보다 크게 읽혀 두께도 2배(4,6)입니다. 슬라이드는 화면 테마를 따르지 않고 data-tone 으로 라이트 · 다크를 고릅니다. 반응형으로 만들지 않습니다. 노트북과 프로젝터에서 줄바꿈이 같아야 발표자가 자기 슬라이드를 압니다.

쓰는 경우
분기 리뷰 · 제안 · 발표 자료. 렌더러(uyoostudio)가 템플릿으로 마크업을 만들고 뷰어가 넘긴다.
쓰지 않는 경우
모든 블록을 카드로 · 카드 안에 카드 · 슬라이드 전체를 primary 로 칠하기 · 01 · 02 번호 킥커 · 제목마다 강조어 색칠 · 그라데이션 · 블롭 배경을 쓰지 않습니다. 다크 슬라이드는 장 표지 · 마무리처럼 넘김의 마디에만 둡니다.

import

/* 렌더러(단일 HTML · PDF)는 Tailwind 없이 두 파일을 그대로 인라인한다 */
node_modules/@uyoolabs/ui/src/css/carton-tokens.css
node_modules/@uyoolabs/ui/src/css/carton/brand.css
// 앱 화면에 슬라이드를 띄울 때는 @import "@uyoolabs/ui/css" 안에 들어 있다
// 서체: @uyoolabs/ui/fonts/app(Noto Sans · Display · Mono) · 일본어 덱은 fonts/app-ja
// 장면 아이콘: import { DECK_ICONS } from "@uyoolabs/ui/deck-icons"

구성 요소

키트의 아홉 장입니다. v1 장면 열여섯은 픽스처 brand-deck 에 모두 있습니다.

01 · cover

제품 리뷰 · 2026년 3분기

함께 일하는 시간을 줄였습니다

채널 · 회의 · 문서를 한곳에 묶은 뒤 석 달

김서연 · 제품 책임자 · 2026-10-22

HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 01 / 28
03 · section · dark
사용 현황

사용 현황 · 고객 2,400팀

회의는 줄고, 결정은 빨라졌습니다

3분기 동안 팀들이 한결에서 보낸 시간을 회의 · 대화 · 문서로 나눠 봅니다

HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 03 / 28
04 · figs + aside
사용 현황

3분기 · 고객 2,400팀

회의 시간은 줄고 결정은 빨라졌습니다

−23%

팀당 주간 회의 시간

1.8일

결정까지 걸린 시간(중앙값)

92%

회의록을 올린 회의

  • 무엇이 줄었나

    같은 안건으로 다시 잡는 회의

  • 무엇이 늘었나

    회의 없이 문서로 끝낸 결정

앞면 칸이 이 장의 초점 · 지표는 세 개까지출처 · 사용 기록 7–9월
HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 04 / 28
07 · card + aside
AI 요약

AI 요약 · 9월 1일 출시

요약을 붙이자 회의록을 다시 여는 사람이 늘었습니다

회의록을 다시 연 사람 · 회의당

3.4명8월 1.2명

요약의 문장마다 원래 발언으로 가는 링크가 붙어, 회의에 없던 사람이 필요한 부분만 찾아 듣는다

  • 출처가 붙은 요약

    문장마다 발언 시각으로 이동한다

  • 읽기 전용 공유

    회의에 없던 사람도 권한만큼 본다

  • 남은 과제

    일본어 회의의 요약 정확도

HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 07 / 28
08 · table
사용 현황

채널 · 9월 한 달

결제 · 디자인 채널이 가장 활발합니다

채널멤버하루 메시지회의회의록
# 결제-개편384126192% 올림
# 디자인-리뷰242863488% 올림
# 고객-지원511,2041258% 올림
# 채용941812% 올림
고객-지원 채널은 대화가 많고 회의가 적다 · 회의록 기준을 따로 둔다출처 · 워크스페이스 통계
HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 08 / 28
09 · code + aside
개발자

개발자 API · 베타

API 한 번으로 채널에 회의를 엽니다

meeting.tsTypeScript
// 채널에 회의를 열고 링크를 돌려받는다
const meeting = await hangyeol.meetings.create({
  channel: "결제-개편",
  title: "배포 전 점검",
  record: true,
});
// 끝나면 요약이 문서로 남는다
meeting.on("ended", (m) => m.summary.url);
  • record 를 켜면

    참가자 모두에게 녹화 표시가 뜨고 동의를 받는다

  • ended 이벤트

    요약 문서의 주소가 온다

  • 한도

    워크스페이스당 분당 60회

HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 09 / 28
10 · quote
고객의 말

고객 인터뷰 · 누리상사 경영지원팀

회의가 끝나면 요약이 이미 채널에 있어요. 회의에 못 들어간 사람도 그 문서 하나로 따라옵니다.

이하준 · 누리상사 경영지원팀 팀장
HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 10 / 28
11 · rows · focus · step 2/3
사용 현황

운영 노트 12호 · 9월 결제팀 회의 61건

회의를 25분으로 줄이자 안건이 짧아졌습니다

  • 끝나는 시간이 먼저 정해진다

    초대장에 25분이 적히면 안건을 셋 안으로 줄여 온다

  • 결정이 회의록의 첫 줄에 온다

    남는 5분에 회의록을 올리고, 결정과 담당자를 맨 위에 적는다

  • 다음 회의가 덜 생긴다

    같은 안건으로 다시 잡힌 회의가 18건에서 7건으로 줄었다

회의록 첫 줄에 결정이 있는 비율 92% · 8월보다 31%p 높다출처 · 결제팀 회의 기록
HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 11 / 28
28 · closing · dark
다음 분기

다음 분기 · 함께 정할 것

4분기에 정해야 할 세 가지

  • 일본어 회의 요약을 정식으로 낼지

    정확도 목표 90% · 결정 10월 31일 · 박도윤

  • 회의록 기준을 모든 팀에 적용할지

    고객-지원 채널은 예외로 둘지 · 결정 11월 7일 · 김서연

  • 엔터프라이즈 데이터 보관 위치를 늘릴지

    도쿄 리전 · 결정 11월 14일 · 이하준

의견은 # 제품-리뷰 채널에 · 이 덱의 문서 링크도 거기 있다문의 · 김서연
HG-Q3-REVIEW · 한결 3분기 제품 리뷰1.2판 · 2026-10-22 · 28 / 28

마크업

스테이지는 region(슬라이드 모음), 슬라이드는 group(APG Carousel 의 수동 회전)

<div className="uyoo-deck-stage" data-static={printing || undefined}
     style={{ "--uyoo-deck-scale": scale }}
     role="region" aria-roledescription="슬라이드 모음" aria-label="한결 3분기 제품 리뷰">
  <section className="uyoo-slide" data-tone="light" data-current
           role="group" aria-roledescription="슬라이드" aria-label="05 / 09 · 회의를 25분으로 줄이자 …">
    <div className="uyoo-slide-rail">
      <span className="uyoo-slide-run">사용 현황</span>
      <img className="uyoo-slide-mark" data-for="light" src={mark.light} alt="" />
      <img className="uyoo-slide-mark" data-for="dark" src={mark.dark} alt="" />
    </div>
    <div className="uyoo-slide-body">
      <p className="uyoo-slide-kicker">운영 노트 12호 · 9월 결제팀 회의 61건</p>
      <h2 className="uyoo-slide-head">회의를 25분으로 줄이자 안건이 짧아졌습니다</h2>
      <div className="uyoo-slide-scene" data-cols="1">
        <div className="uyoo-slide-reg" data-fill="fill" data-tempo="ui">
          <ul className="uyoo-deck-rows">
            <li data-reveal="step" data-on style={{ "--uyoo-deck-i": 0 }}>…</li>
            <li data-reveal="step" data-focus style={{ "--uyoo-deck-i": 1 }}>…</li>  {/* 초점 행 = 그 장의 카드 */}
          </ul>
        </div>
      </div>
      <div className="uyoo-slide-note"><span><b>…</b> · …</span><span className="uyoo-slide-src">출처 · …</span></div>
    </div>
    <div className="uyoo-slide-foot"><span><b>HG-Q3-REVIEW</b> · …</span><span>1.2판 · 2026-10-22 · 05 / 09</span></div>
  </section>
</div>

부분과 클래스

CSS 표면이라 props 대신 클래스와 상태 속성을 적습니다.

부분클래스변형 · 규칙
틀uyoo-deck-stage · uyoo-slide · -rail · -run · -mark · -body · -footdata-tone="light|dark" · data-layout="cover|section" · data-current · mark[data-for]
머리 · 캡션uyoo-slide-kicker · -head · -lede · -label · -sub · -note · -src제목은 언제나 두 줄 자리. 대문자 · 넓은 자간은 영어만
장면 틀uyoo-slide-scene · uyoo-slide-regdata-cols="1|2" · data-balance="even" · data-fill="start|center|between|fill"
표지 · 장 표지uyoo-slide-cover · -chapter · -title · -by · uyoo-deck-art제목 88 · 장 표지 76
초점 면uyoo-deck-card · uyoo-deck-stack(-row) · rows > li[data-focus] · cell[data-focus] · slab[data-state=added]슬라이드당 하나. 두께 4,6 · 지붕 32
목록 · 지표 · 인용uyoo-deck-rows(-row-title · -desc · -meta) · -figs · -fig[data-focus] · -fig-value · -fig-label · -aside(-title) · -quote(-text · -who) · -quotes(-rest)지표는 앞면 · 옆면 타일 + 4px 이음새
표 · 코드 · 터미널uyoo-deck-table · -status · -code(-bar) · -term(-bar · -line)[data-tone="ok|warn|bad"] · [data-tok="comment|mark"]
순서uyoo-deck-opener(-n · -t) · -timeline(-when · -what · -timeline-note) · -steps · -proof(-item · -box · -title)li[data-state="done"] · li[aria-current="step"] · data-layout="spine"
차트uyoo-deck-bars · -bar(-label · -track · -fill · -value) · -funnel(-stage · -label · -track · -fill · -value · -drop) · -range(…) · -journey(…)폭이 값. 이탈은 주의색
그 밖uyoo-deck-compare(-side · -text) · -paths · -path[data-state=was|now] · -matrix · -quad · -cell · -axis[data-axis] · -layers · -slab(-dim) · -icons · -icon-cell · -logos(-wall · -cell · -cap) · -chips(-set · -cap) · -chip · -name(-title · -sub) · -shot같은 규칙(파인 면 · 헤어라인 · 초점 하나)
등장[data-reveal="step|rise|line"] · [data-on] · [data-static] · [data-tempo="ui|narrative"] · --uyoo-deck-i인쇄 · 줄인 모션에서는 모두 편 채로

키보드(뷰어)

넘길 때 aria-live="polite" 로 '4 / 9 · 제목' 을 알립니다. 차트 장은 캡션 줄에 핵심 수치를 글로 적습니다.

키동작
→ · Space · PageDown다음. 공개 단계가 남았으면 단계부터 편다
← · PageUp이전
Home · End처음 · 끝 슬라이드
F전체 화면
Esc전체 화면 · 뷰어에서 나간다

v1 deck.css 의 짧은 클래스(.stage · .slide · .scene · 장면 30종)와 등장 클래스(.step · .rise · .is-on · body.static)가 어디로 갔는지는 docs/migration/v2-brand.md 의 덱 표에 있습니다.