版の配色
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。
このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown — 大きいのでファイルで渡す(コピーは 32KB まで)
以下の仕様でスライドを 1 枚作ってください。 - 版面 1920 × 1080 - 余白 上 96 右 140 下 96 左 140 ## 強調 3 行目のみ。手段は 塗り + 太さ だけ。ほかは変えない ## 文字(版面 1920px に対する px) title 44px / 700 / 字間 0.01em / 行送り 1.3 period 17px / 400 / 等幅数字 col 15px / 500 / 字間 0.12em pname 21px / 700 / 行送り 1.4 pct 20px / 500 / 等幅数字 state 18px / 500 fix 16px / 400 / 行送り 1.7 fkey 14px / 500 / 字間 0.14em fval 18px / 500 / 行送り 1.6 / 等幅数字 ## 配色 地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9 ## 外すと崩れる点 - 信号の色を使わない。役割色は 6 つで赤も黄も無く、代わりに状態を語で書く。語で書いたほうが議事録に残る - 遅れている行には必ず手当てを書く。手当ての無い遅延は、報告ではなく告知になる - 予定は帯の中の目盛り、実績は塗り。2 本の帯を上下に並べると、凡例を読むまでどちらがどちらか決まらない - 面を敷くのは判断をお願いする 1 行だけ。遅延も塗ると、決めてほしい行と報告だけの行が同じ重さになる - 溝は面ではなく ink の薄い混色にする。塗った行の上で面と同じ色になると、帯の伸びしろが消える 内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。 正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/status-report-rag-rows/pattern.html
/ai/designs/status-report-rag-rows.json
format: slide-16x9
density: high
layout:
kind: table
canvas:
w: 1920
h: 1080
margin:
top: 96
right: 140
bottom: 96
left: 140
emphasis:
row: 3
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
pname:
size: 21
weight: 700
leading: 1.4
pct:
size: 20
weight: 500
numeric: tabular
state:
size: 18
weight: 500
fix:
size: 16
weight: 400
leading: 1.7
fkey:
size: 14
weight: 500
tracking: 0.14em
fval:
size: 18
weight: 500
leading: 1.6
numeric: tabular
colors:
ground: "#FFFFFF"
surface: "#F4F6F9"
ink: "#131820"
muted: "#667183"
accent: "#1F5FA8"
rule: "#DBE1E9"
rules:
- 信号の色を使わない。役割色は 6 つで赤も黄も無く、代わりに状態を語で書く。語で書いたほうが議事録に残る
- 遅れている行には必ず手当てを書く。手当ての無い遅延は、報告ではなく告知になる
- 予定は帯の中の目盛り、実績は塗り。2 本の帯を上下に並べると、凡例を読むまでどちらがどちらか決まらない
- 面を敷くのは判断をお願いする 1 行だけ。遅延も塗ると、決めてほしい行と報告だけの行が同じ重さになる
- 溝は面ではなく ink の薄い混色にする。塗った行の上で面と同じ色になると、帯の伸びしろが消える{
"format": "slide-16x9",
"density": "high",
"layout": {
"kind": "table",
"canvas": {
"w": 1920,
"h": 1080
},
"margin": {
"top": 96,
"right": 140,
"bottom": 96,
"left": 140
},
"emphasis": {
"row": 3,
"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"
},
"pname": {
"size": 21,
"weight": 700,
"leading": 1.4
},
"pct": {
"size": 20,
"weight": 500,
"numeric": "tabular"
},
"state": {
"size": 18,
"weight": 500
},
"fix": {
"size": 16,
"weight": 400,
"leading": 1.7
},
"fkey": {
"size": 14,
"weight": 500,
"tracking": "0.14em"
},
"fval": {
"size": 18,
"weight": 500,
"leading": 1.6,
"numeric": "tabular"
}
},
"colors": {
"ground": "#FFFFFF",
"surface": "#F4F6F9",
"ink": "#131820",
"muted": "#667183",
"accent": "#1F5FA8",
"rule": "#DBE1E9"
},
"rules": [
"信号の色を使わない。役割色は 6 つで赤も黄も無く、代わりに状態を語で書く。語で書いたほうが議事録に残る",
"遅れている行には必ず手当てを書く。手当ての無い遅延は、報告ではなく告知になる",
"予定は帯の中の目盛り、実績は塗り。2 本の帯を上下に並べると、凡例を読むまでどちらがどちらか決まらない",
"面を敷くのは判断をお願いする 1 行だけ。遅延も塗ると、決めてほしい行と報告だけの行が同じ重さになる",
"溝は面ではなく ink の薄い混色にする。塗った行の上で面と同じ色になると、帯の伸びしろが消える"
]
} /designs/status-report-rag-rows/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: 96px 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; }
.table { align-self: center; width: 100%; }
/* 工程・予定・実績・進み具合・状態・手当て。進み具合は帯で、状態は語で出す。 */
.row { display: grid; grid-template-columns: 300px 104px 104px 1fr 148px 1.05fr; align-items: center; gap: 30px; padding: 24px 22px; border-bottom: 1px solid var(--rule); }
.row:first-child { border-top: 1px solid var(--rule); }
.row.head-row { padding: 16px 22px; border-bottom-color: var(--ink); }
.col { font-size: 15px; font-weight: 500; letter-spacing: .12em; color: var(--muted); }
.pname { font-size: 21px; font-weight: 700; line-height: 1.4; }
.pct { font-size: 20px; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.pct[data-plan] { color: var(--muted); }
/* 予定を罫の枠、実績を塗りで重ねる。2 本の帯を上下に並べると、
どちらがどちらか凡例を読まないと決まらない。 */
/* 溝は面ではなく ink の薄い混色。塗った行の上でも面と同じ色にならず、
帯がどこまで伸びうるのかが読める。 */
.meter { position: relative; height: 22px; background: color-mix(in srgb, var(--ink) 8%, transparent); }
.meter i { position: absolute; top: 0; bottom: 0; left: 0; display: block; background: var(--muted); }
.meter u { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--ink); }
.row[data-emphasis] .meter i { background: var(--accent); }
/* 状態は 3 語だけ。信号の色は使わない — 役割色は 6 つで、赤も黄も無い。
色が足りないから語で書くのではなく、語で書いたほうが議事録に残る。 */
.state { font-size: 18px; font-weight: 500; }
.row[data-emphasis] { background: var(--surface); }
.row[data-emphasis] .state { color: var(--accent); font-weight: 700; }
.fix { font-size: 16px; font-weight: 400; line-height: 1.7; color: var(--muted); }
.row[data-emphasis] .fix { color: var(--ink); }
.foot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; border-top: 1px solid var(--rule); padding-top: 24px; }
.fkey { font-size: 14px; font-weight: 500; letter-spacing: .14em; color: var(--muted); }
.fval { font-size: 18px; font-weight: 500; line-height: 1.6; margin-top: 10px; font-variant-numeric: tabular-nums; }
</style>
<div class="artboard" data-artboard>
<div class="content" data-content>
<div class="head">
<h1 class="title" data-type="title">進捗報告(第 18 週)</h1>
<p class="period" data-type="period">2027.02.01 - 02.05 / 次回報告 02.12</p>
</div>
<div class="table">
<div class="row head-row">
<p class="col" data-type="col">工程</p>
<p class="col">予定</p>
<p class="col">実績</p>
<p class="col">進み具合</p>
<p class="col">状態</p>
<p class="col">手当て</p>
</div>
<div class="row" data-row="1">
<p class="pname" data-type="pname">基本設計</p>
<p class="pct" data-plan data-type="pct">100%</p>
<p class="pct">100%</p>
<p class="meter"><i style="width: 100%"></i><u style="left: 100%"></u></p>
<p class="state" data-type="state">完了</p>
<p class="fix" data-type="fix">御社承認済(01.29)</p>
</div>
<div class="row" data-row="2">
<p class="pname">詳細設計</p>
<p class="pct" data-plan>78%</p>
<p class="pct">74%</p>
<p class="meter"><i style="width: 74%"></i><u style="left: 78%"></u></p>
<p class="state">順調</p>
<p class="fix">差の 4% は今週中に吸収</p>
</div>
<div class="row" data-row="3" data-emphasis="fill weight">
<p class="pname">帳票の様式確定</p>
<p class="pct" data-plan>60%</p>
<p class="pct">31%</p>
<p class="meter"><i style="width: 31%"></i><u style="left: 60%"></u></p>
<p class="state">要ご判断</p>
<p class="fix">統合対象 4 帳票の可否を 02.12 までにお願いします</p>
</div>
<div class="row" data-row="4">
<p class="pname">実装(受注登録)</p>
<p class="pct" data-plan>42%</p>
<p class="pct">45%</p>
<p class="meter"><i style="width: 45%"></i><u style="left: 42%"></u></p>
<p class="state">順調</p>
<p class="fix">先行分を単体試験へ</p>
</div>
<div class="row" data-row="5">
<p class="pname">試験環境の構築</p>
<p class="pct" data-plan>50%</p>
<p class="pct">38%</p>
<p class="meter"><i style="width: 38%"></i><u style="left: 50%"></u></p>
<p class="state">遅延</p>
<p class="fix">02.20 までに回復見込み。工程全体への影響なし</p>
</div>
</div>
<div class="foot">
<div>
<p class="fkey" data-type="fkey">未解決の課題</p>
<p class="fval" data-type="fval">8 件(うち期限超過 1 件)</p>
</div>
<div>
<p class="fkey">全体工程への影響</p>
<p class="fval">現時点でなし</p>
</div>
<div>
<p class="fkey">本日お願いする決定</p>
<p class="fval">帳票 4 件の統合可否</p>
</div>
</div>
</div>
</div>
/designs/status-report-rag-rows/font.css — 全部入りには入れていない
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
* font Zen Kaku Gothic New 400;500;700
* chars 139 (58772972df9ae773)
*
* 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+25, U+2d-2e, U+30-39, U+2014, U+3001-3002, U+3044, U+3046, U+304a, U+3053-3054, U+3057-305a, U+3061-3062, U+3066-3067, U+306a-306b, U+306e-3070, U+3078-3079, U+307e-307f, U+308b, U+308f, U+3092, U+3094, U+3099, U+4e2d, U+4e86, U+4e88, U+4eca, U+4ef6, U+4f53, U+4f7f, U+4fe1, U+5148, U+5168, U+5177, U+5206, U+5224, U+5358, U+5371, U+53ce, U+53d7, U+53ef, U+53f7, U+5408, U+5426, U+5438, U+544a, U+56de, U+57fa, U+5831, U+5883, U+5b8c, U+5b9a, U+5b9f, U+5bfe, U+5de5, U+5dee, U+5e33, U+5ef6, U+5f0f, U+5f53, U+5f71, U+5fa1, U+5fa9, U+614b, U+624b, U+627f, U+6357, U+65ad, U+65e5, U+6642, U+671f, U+672a, U+672c, U+69cb, U+69d8, U+6b04, U+6b21, U+6c7a, U+6ce8, U+6e08, U+70b9, U+72b6, U+73fe, U+74b0, U+767b, U+78ba, U+793a, U+793e, U+7968, U+7a0b, U+7b2c, U+7bc9, U+7d30, U+7d71, U+7e3e, U+8272, U+884c, U+88c5, U+8981, U+898b, U+89e3, U+8a08, U+8a2d, U+8a66, U+8a73, U+8a8d, U+8ab2, U+8abf, U+8c61, U+8d85, U+8fbc, U+9031-9032, U+9045, U+904e, U+9332, U+9650, U+967a, U+97ff, U+9806, U+984c, U+9858, U+9a13, 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+25, U+2d-2e, U+30-39, U+2014, U+3001-3002, U+3044, U+3046, U+304a, U+3053-3054, U+3057-305a, U+3061-3062, U+3066-3067, U+306a-306b, U+306e-3070, U+3078-3079, U+307e-307f, U+308b, U+308f, U+3092, U+3094, U+3099, U+4e2d, U+4e86, U+4e88, U+4eca, U+4ef6, U+4f53, U+4f7f, U+4fe1, U+5148, U+5168, U+5177, U+5206, U+5224, U+5358, U+5371, U+53ce, U+53d7, U+53ef, U+53f7, U+5408, U+5426, U+5438, U+544a, U+56de, U+57fa, U+5831, U+5883, U+5b8c, U+5b9a, U+5b9f, U+5bfe, U+5de5, U+5dee, U+5e33, U+5ef6, U+5f0f, U+5f53, U+5f71, U+5fa1, U+5fa9, U+614b, U+624b, U+627f, U+6357, U+65ad, U+65e5, U+6642, U+671f, U+672a, U+672c, U+69cb, U+69d8, U+6b04, U+6b21, U+6c7a, U+6ce8, U+6e08, U+70b9, U+72b6, U+73fe, U+74b0, U+767b, U+78ba, U+793a, U+793e, U+7968, U+7a0b, U+7b2c, U+7bc9, U+7d30, U+7d71, U+7e3e, U+8272, U+884c, U+88c5, U+8981, U+898b, U+89e3, U+8a08, U+8a2d, U+8a66, U+8a73, U+8a8d, U+8ab2, U+8abf, U+8c61, U+8d85, U+8fbc, U+9031-9032, U+9045, U+904e, U+9332, U+9650, U+967a, U+97ff, U+9806, U+984c, U+9858, U+9a13, 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+25, U+2d-2e, U+30-39, U+2014, U+3001-3002, U+3044, U+3046, U+304a, U+3053-3054, U+3057-305a, U+3061-3062, U+3066-3067, U+306a-306b, U+306e-3070, U+3078-3079, U+307e-307f, U+308b, U+308f, U+3092, U+3094, U+3099, U+4e2d, U+4e86, U+4e88, U+4eca, U+4ef6, U+4f53, U+4f7f, U+4fe1, U+5148, U+5168, U+5177, U+5206, U+5224, U+5358, U+5371, U+53ce, U+53d7, U+53ef, U+53f7, U+5408, U+5426, U+5438, U+544a, U+56de, U+57fa, U+5831, U+5883, U+5b8c, U+5b9a, U+5b9f, U+5bfe, U+5de5, U+5dee, U+5e33, U+5ef6, U+5f0f, U+5f53, U+5f71, U+5fa1, U+5fa9, U+614b, U+624b, U+627f, U+6357, U+65ad, U+65e5, U+6642, U+671f, U+672a, U+672c, U+69cb, U+69d8, U+6b04, U+6b21, U+6c7a, U+6ce8, U+6e08, U+70b9, U+72b6, U+73fe, U+74b0, U+767b, U+78ba, U+793a, U+793e, U+7968, U+7a0b, U+7b2c, U+7bc9, U+7d30, U+7d71, U+7e3e, U+8272, U+884c, U+88c5, U+8981, U+898b, U+89e3, U+8a08, U+8a2d, U+8a66, U+8a73, U+8a8d, U+8ab2, U+8abf, U+8c61, U+8d85, U+8fbc, U+9031-9032, U+9045, U+904e, U+9332, U+9650, U+967a, U+97ff, U+9806, U+984c, U+9858, U+9a13, U+ff08-ff09, U+ff0f;
}
定例で出す進捗報告の版。pattern.html が版そのもので、cover.png と frontmatter の寸法は
どちらもそこから機械的に出している。編集するのは pattern.html だけ。
The recurring status report. pattern.html is the artboard itself; both cover.png and the
measurements come from it, so the three cannot drift apart.