Design Vault 用途・構成・配色・本文で検索 /
索引 カテゴリ タグ English
索引に戻る

品質状況 — 残件の合計ではなく、出荷を止める区画を読む

マトリクス
品質状況 — 残件の合計ではなく、出荷を止める区画を読む
140 92

1920 × 1080 作品として見る

持ち帰る

コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。

全部入り

defect-severity-status-matrix-everything.md

このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown

依頼文

1.9 KB
以下の仕様でスライドを 1 枚作ってください。

- 版面 1920 × 1080
- 余白 上 92 右 140 下 92 左 140

## 強調
1 行目のみ。手段は 塗り + 太さ だけ。ほかは変えない

## 文字(版面 1920px に対する px)
title  44px / 700 / 字間 0.01em / 行送り 1.3
period  17px / 400 / 等幅数字
col  15px / 500 / 字間 0.12em
sev  27px / 700 / 行送り 1.4
sevNote  14px / 400
n  42px / 700 / 等幅数字
nSoft  31px / 400 / 等幅数字
fkey  14px / 500 / 字間 0.14em
wn  18px / 700 / 等幅数字
wk  13px / 400 / 等幅数字
rule  16px / 400 / 行送り 1.8

## 配色
地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9

## 外すと崩れる点
- 残件の合計を大きく出さない。「残 37 件」は安全とも危険とも決めない。決めるのは重要度「高」の未解決の区画
- 重要度の定義を行の下に 1 行ずつ書く。定義の無い高・中・低は、報告のたびに基準がずれる
- 未解決 3 列と完了列の間に太い罫を引く。完了を隣に並べるだけだと、大きい完了件数が未解決を小さく見せる
- 完了列は消さない。分母が消えると、収束しているのか始まってもいないのかが読めない
- 推移は残存 1 本だけにする。検出と解決を重ねると、「収束しているか」より先に内訳の議論になる
- 次工程へ進む条件を同じ面に書く。条件が別紙にあると、この表は「今の様子」で終わり、判断の材料にならない

内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。
正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/defect-severity-status-matrix/pattern.html

仕様

2.3 KB

/ai/designs/defect-severity-status-matrix.json

format: slide-16x9
density: high
layout:
  kind: matrix
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 92
    right: 140
    bottom: 92
    left: 140
  emphasis:
    row: 1
    via:
      - fill
      - weight
type:
  title:
    size: 44
    weight: 700
    tracking: 0.01em
    leading: 1.3
  period:
    size: 17
    weight: 400
    numeric: tabular
  col:
    size: 15
    weight: 500
    tracking: 0.12em
  sev:
    size: 27
    weight: 700
    leading: 1.4
  sevNote:
    size: 14
    weight: 400
  n:
    size: 42
    weight: 700
    numeric: tabular
  nSoft:
    size: 31
    weight: 400
    numeric: tabular
  fkey:
    size: 14
    weight: 500
    tracking: 0.14em
  wn:
    size: 18
    weight: 700
    numeric: tabular
  wk:
    size: 13
    weight: 400
    numeric: tabular
  rule:
    size: 16
    weight: 400
    leading: 1.8
colors:
  ground: "#FFFFFF"
  surface: "#F4F6F9"
  ink: "#131820"
  muted: "#667183"
  accent: "#1F5FA8"
  rule: "#DBE1E9"
rules:
  - 残件の合計を大きく出さない。「残 37 件」は安全とも危険とも決めない。決めるのは重要度「高」の未解決の区画
  - 重要度の定義を行の下に 1 行ずつ書く。定義の無い高・中・低は、報告のたびに基準がずれる
  - 未解決 3 列と完了列の間に太い罫を引く。完了を隣に並べるだけだと、大きい完了件数が未解決を小さく見せる
  - 完了列は消さない。分母が消えると、収束しているのか始まってもいないのかが読めない
  - 推移は残存 1 本だけにする。検出と解決を重ねると、「収束しているか」より先に内訳の議論になる
  - 次工程へ進む条件を同じ面に書く。条件が別紙にあると、この表は「今の様子」で終わり、判断の材料にならない

ファイル

pattern.html

7.7 KB

/designs/defect-severity-status-matrix/pattern.html — 版そのものの HTML。書体の部分集合ごと同梱で、開けばこの絵がそのまま出ます。

中身を見る
<!doctype html>
<meta charset="utf-8">
<title>品質状況 — 残件の合計ではなく、出荷を止める区画を読む</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
  /* この版そのもの。index.md の layout / type / colors は、この HTML を
     scripts/render-pattern.mjs で実測した結果であって、別に書いた説明ではない。 */
  :root {
    --ground: #FFFFFF;
    --surface: #F4F6F9;
    --ink: #131820;
    --muted: #667183;
    --accent: #1F5FA8;
    --rule: #DBE1E9;
  }
  * { box-sizing: border-box; margin: 0; }
  html, body { width: 1920px; height: 1080px; }
  body { font-family: "Zen Kaku Gothic New", "IPAGothic", sans-serif; }

  .artboard {
    width: 1920px; height: 1080px;
    background: var(--ground); color: var(--ink);
    padding: 92px 140px;                  /* → layout.margin */
  }
  .content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; }

  .head { display: flex; align-items: baseline; justify-content: space-between; gap: 40px; }
  .title { font-size: 44px; font-weight: 700; line-height: 1.3; letter-spacing: .01em; }
  .period { font-size: 17px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }

  .plate { align-self: center; width: 100%; }

  /* 重要度 × 状態の平面。未解決 3 列と完了 1 列の間に太い罫を引き、
     出荷を止める側とそうでない側を版面の上で分ける。 */
  .grid { display: grid; grid-template-columns: 300px repeat(3, minmax(0, 1fr)) 210px 210px; }
  .cell { padding: 36px 24px; border-bottom: 1px solid var(--rule); text-align: right; }
  .cell.rowhead { text-align: left; }
  /* 未解決 3 列と完了列の間に太い罫。表頭にも同じ位置で引かないと、
     境界が本体だけの飾りに見える。 */
  .grid > .cell:nth-child(6n + 5),
  .grid > .colhead:nth-child(5) { border-right: 2px solid var(--ink); }

  .colhead { padding: 16px 24px; border-bottom: 1px solid var(--ink); text-align: right; }
  .colhead.first { text-align: left; }
  .col { font-size: 15px; font-weight: 500; letter-spacing: .12em; color: var(--muted); }

  .sev { font-size: 27px; font-weight: 700; line-height: 1.4; }
  .sevNote { font-size: 14px; font-weight: 400; color: var(--muted); margin-top: 6px; }
  .n { font-size: 42px; font-weight: 700; font-variant-numeric: tabular-nums; }
  .n[data-zero] { color: var(--rule); font-weight: 500; }
  .n[data-soft] { font-size: 31px; font-weight: 400; color: var(--muted); }

  /* 塗るのは最上位の重要度の行だけ。ここの未解決が 0 にならないかぎり
     出荷判定に進めない、という 1 本の規則を版面で言う。 */
  .band[data-emphasis] .cell { background: var(--surface); }
  .band[data-emphasis] .n { color: var(--accent); }
  .band[data-emphasis] .n[data-zero] { color: var(--muted); font-weight: 500; }
  .band[data-emphasis] .n[data-soft] { color: var(--muted); }

  .foot { display: grid; grid-template-columns: 1.15fr 1fr; gap: 72px; border-top: 1px solid var(--rule); padding-top: 24px; align-items: start; }
  .fkey { font-size: 14px; font-weight: 500; letter-spacing: .14em; color: var(--muted); }

  /* 週次の残存だけを 4 本の帯にする。推移は「収束しているか」だけを答えればよく、
     検出と解決の 2 本を重ねると、その問いより先に内訳の話になる。 */
  .trend { display: grid; grid-template-columns: repeat(4, 96px); gap: 30px; margin-top: 16px; align-items: end; }
  .week { display: grid; justify-items: start; gap: 8px; }
  /* 高さは件数に比例(1 件 = 2.2px)。幅を狭く取らないと、差が
     「帯の高さ」ではなく「四角の大きさ」として読まれて比が効かない。 */
  .wbar { width: 96px; background: color-mix(in srgb, var(--ink) 12%, transparent); }
  .week[data-now] .wbar { background: var(--accent); }
  .wn { font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
  .wk { font-size: 13px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }

  .rule { font-size: 16px; font-weight: 400; line-height: 1.8; color: var(--ink); margin-top: 14px; }
  .rule em { font-style: normal; font-weight: 700; color: var(--accent); }
</style>

<div class="artboard" data-artboard>
  <div class="content" data-content>
    <div class="head">
      <h1 class="title" data-type="title">品質状況(結合テスト 第 4 週)</h1>
      <p class="period" data-type="period">2027.08.24 時点 / 検出累計 214 件・解決 177 件</p>
    </div>

    <div class="plate">
      <div class="grid">
        <div class="colhead first"><p class="col" data-type="col">重要度</p></div>
        <div class="colhead"><p class="col">未着手</p></div>
        <div class="colhead"><p class="col">調査中</p></div>
        <div class="colhead"><p class="col">確認待ち</p></div>
        <div class="colhead"><p class="col">未解決 計</p></div>
        <div class="colhead"><p class="col">完了</p></div>
      </div>

      <div class="grid band" data-row="1" data-emphasis="fill weight">
        <div class="cell rowhead">
          <p class="sev" data-type="sev">高</p>
          <p class="sevNote" data-type="sevNote">業務が止まる・データが壊れる</p>
        </div>
        <div class="cell"><p class="n" data-type="n">2</p></div>
        <div class="cell"><p class="n">3</p></div>
        <div class="cell"><p class="n">1</p></div>
        <div class="cell"><p class="n">6</p></div>
        <div class="cell"><p class="n" data-soft data-type="nSoft">41</p></div>
      </div>

      <div class="grid band" data-row="2">
        <div class="cell rowhead">
          <p class="sev">中</p>
          <p class="sevNote">回避手順があれば運用できる</p>
        </div>
        <div class="cell"><p class="n">7</p></div>
        <div class="cell"><p class="n">9</p></div>
        <div class="cell"><p class="n">5</p></div>
        <div class="cell"><p class="n">21</p></div>
        <div class="cell"><p class="n" data-soft>88</p></div>
      </div>

      <div class="grid band" data-row="3">
        <div class="cell rowhead">
          <p class="sev">低</p>
          <p class="sevNote">表記・見た目・利便性</p>
        </div>
        <div class="cell"><p class="n">6</p></div>
        <div class="cell"><p class="n">4</p></div>
        <div class="cell"><p class="n" data-zero>0</p></div>
        <div class="cell"><p class="n">10</p></div>
        <div class="cell"><p class="n" data-soft>48</p></div>
      </div>
    </div>

    <div class="foot">
      <div>
        <p class="fkey" data-type="fkey">未解決の推移(週末時点)</p>
        <div class="trend">
          <div class="week">
            <p class="wn" data-type="wn">52</p>
            <div class="wbar" style="height: 114px"></div>
            <p class="wk" data-type="wk">第 1 週</p>
          </div>
          <div class="week">
            <p class="wn">49</p>
            <div class="wbar" style="height: 108px"></div>
            <p class="wk">第 2 週</p>
          </div>
          <div class="week">
            <p class="wn">44</p>
            <div class="wbar" style="height: 97px"></div>
            <p class="wk">第 3 週</p>
          </div>
          <div class="week" data-now>
            <p class="wn">37</p>
            <div class="wbar" style="height: 81px"></div>
            <p class="wk">第 4 週</p>
          </div>
        </div>
      </div>
      <div>
        <p class="fkey">総合テストへ進む条件</p>
        <p class="rule" data-type="rule">重要度「高」の未解決が <em>0 件</em>。中・低の残件は、回避手順を添えて総合テストへ持ち越せます。</p>
      </div>
    </div>
  </div>
</div>

font.css

3.2 KB

/designs/defect-severity-status-matrix/font.css — 全部入りには入れていない

中身を見る
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
 * font    Zen Kaku Gothic New 400;500;700
 * chars   111 (24a88527b57d7f4d)
 *
 * pattern.html の文字だけを含む部分集合。描画時に外部へ取りに行かないよう同梱する。
 * 版の文字を変えたら取り直すこと — 忘れると足りない字が豆腐になる。
 * その取り忘れは pattern-entries.test.ts が上の指紋で検出する。
 */

@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(./font-0.woff2) format('woff2');
  unicode-range: U+2e, U+30-39, U+2014, U+3001-3002, U+300c-300d, U+3042, U+3048, U+304b-3050, U+3059-305c, U+305f-3062, U+3066-3067, U+306a, U+306e-3070, U+3078-3079, U+307e, U+3080-3081, U+308b-308c, U+3092, U+3099, U+30b9-30ba, U+30bf-30c0, U+30c6-30c9, U+30fb-30fc, U+4e2d, U+4e86, U+4ef6, U+4f4e, U+4fbf, U+51fa, U+5229, U+52d9, U+533a, U+5408, U+54c1, U+56de, U+58ca, U+5b8c, U+5ea6, U+5f85, U+6027, U+624b, U+6301, U+63a8, U+6642, U+672a-672b, U+6761, U+67fb, U+691c, U+696d, U+6b62, U+6b8b, U+6c7a, U+6cc1, U+6dfb, U+70b9, U+72b6, U+7528, U+753b, U+76ee, U+7740, U+78ba, U+79fb, U+7b2c, U+7d2f, U+7d50, U+7dcf, U+8377, U+8868, U+8981, U+898b, U+89e3, U+8a08, U+8a18, U+8a8d, U+8aad, U+8abf, U+8cea, U+8d8a, U+9031-9032, U+904b, U+907f, U+91cd, U+9806, U+9ad8, U+ff08-ff09, U+ff0f;
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url(./font-1.woff2) format('woff2');
  unicode-range: U+2e, U+30-39, U+2014, U+3001-3002, U+300c-300d, U+3042, U+3048, U+304b-3050, U+3059-305c, U+305f-3062, U+3066-3067, U+306a, U+306e-3070, U+3078-3079, U+307e, U+3080-3081, U+308b-308c, U+3092, U+3099, U+30b9-30ba, U+30bf-30c0, U+30c6-30c9, U+30fb-30fc, U+4e2d, U+4e86, U+4ef6, U+4f4e, U+4fbf, U+51fa, U+5229, U+52d9, U+533a, U+5408, U+54c1, U+56de, U+58ca, U+5b8c, U+5ea6, U+5f85, U+6027, U+624b, U+6301, U+63a8, U+6642, U+672a-672b, U+6761, U+67fb, U+691c, U+696d, U+6b62, U+6b8b, U+6c7a, U+6cc1, U+6dfb, U+70b9, U+72b6, U+7528, U+753b, U+76ee, U+7740, U+78ba, U+79fb, U+7b2c, U+7d2f, U+7d50, U+7dcf, U+8377, U+8868, U+8981, U+898b, U+89e3, U+8a08, U+8a18, U+8a8d, U+8aad, U+8abf, U+8cea, U+8d8a, U+9031-9032, U+904b, U+907f, U+91cd, U+9806, U+9ad8, U+ff08-ff09, U+ff0f;
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(./font-2.woff2) format('woff2');
  unicode-range: U+2e, U+30-39, U+2014, U+3001-3002, U+300c-300d, U+3042, U+3048, U+304b-3050, U+3059-305c, U+305f-3062, U+3066-3067, U+306a, U+306e-3070, U+3078-3079, U+307e, U+3080-3081, U+308b-308c, U+3092, U+3099, U+30b9-30ba, U+30bf-30c0, U+30c6-30c9, U+30fb-30fc, U+4e2d, U+4e86, U+4ef6, U+4f4e, U+4fbf, U+51fa, U+5229, U+52d9, U+533a, U+5408, U+54c1, U+56de, U+58ca, U+5b8c, U+5ea6, U+5f85, U+6027, U+624b, U+6301, U+63a8, U+6642, U+672a-672b, U+6761, U+67fb, U+691c, U+696d, U+6b62, U+6b8b, U+6c7a, U+6cc1, U+6dfb, U+70b9, U+72b6, U+7528, U+753b, U+76ee, U+7740, U+78ba, U+79fb, U+7b2c, U+7d2f, U+7d50, U+7dcf, U+8377, U+8868, U+8981, U+898b, U+89e3, U+8a08, U+8a18, U+8a8d, U+8aad, U+8abf, U+8cea, U+8d8a, U+9031-9032, U+904b, U+907f, U+91cd, U+9806, U+9ad8, U+ff08-ff09, U+ff0f;
}

ノート

この構成について / About this pattern

テスト工程の定例で出す品質状況。pattern.html が版そのもので、cover.png と frontmatter の 寸法はどちらもそこから機械的に出している。編集するのは pattern.html だけ。

The quality report for a test phase. pattern.html is the artboard itself; both cover.png and the measurements come from it, so the three cannot drift apart.

Techniques

Apply to