版の配色
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。
このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown — 大きいのでファイルで渡す(コピーは 32KB まで)
以下の仕様でスライドを 1 枚作ってください。 - 版面 1920 × 1080 - 余白 上 104 右 140 下 104 左 140 ## 強調 2 行目のみ。手段は 塗り + 罫 だけ。ほかは変えない ## 文字(版面 1920px に対する px) title 46px / 700 / 字間 0.01em / 行送り 1.3 lede 19px / 400 / 行送り 1.8 tname 24px / 700 / 行送り 1.4 tnote 15px / 400 / 行送り 1.6 bname 19px / 500 / 行送り 1.4 btag 14px / 400 fkey 14px / 500 / 字間 0.14em fval 17px / 500 / 行送り 1.6 ## 配色 地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9 ## 外すと崩れる点 - 層は 3 つまで。4 つ目を足した瞬間、聞き手は層の名前を覚えるほうに気を取られ、どこを作るのかを聞き逃す - すべて新規の層だけを塗る。一部だけ足す層は箱の「新規」で示す。全層を塗ると「全部作り直す」と読まれ、費用の話がその前提で始まる - 既存システムは点線にしない。点線は「未確定」と読まれる。示したいのは確定していることなので、文字色だけを落とす - 1 層に置く箱は 5 個まで。6 個目からは、箱の名前ではなく箱の数が印象に残る - 連携方式を下端に 1 行で書く。構成図に矢印で書き込むと、線の意味を説明する時間のほうが長くなる 内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。 正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/architecture-3tier-stack/pattern.html
/ai/designs/architecture-3tier-stack.json
format: slide-16x9
density: high
layout:
kind: stack
canvas:
w: 1920
h: 1080
margin:
top: 104
right: 140
bottom: 104
left: 140
emphasis:
row: 2
via:
- fill
- rule
type:
title:
size: 46
weight: 700
tracking: 0.01em
leading: 1.3
lede:
size: 19
weight: 400
leading: 1.8
tname:
size: 24
weight: 700
leading: 1.4
tnote:
size: 15
weight: 400
leading: 1.6
bname:
size: 19
weight: 500
leading: 1.4
btag:
size: 14
weight: 400
fkey:
size: 14
weight: 500
tracking: 0.14em
fval:
size: 17
weight: 500
leading: 1.6
colors:
ground: "#FFFFFF"
surface: "#F4F6F9"
ink: "#131820"
muted: "#667183"
accent: "#1F5FA8"
rule: "#DBE1E9"
rules:
- 層は 3 つまで。4 つ目を足した瞬間、聞き手は層の名前を覚えるほうに気を取られ、どこを作るのかを聞き逃す
- すべて新規の層だけを塗る。一部だけ足す層は箱の「新規」で示す。全層を塗ると「全部作り直す」と読まれ、費用の話がその前提で始まる
- 既存システムは点線にしない。点線は「未確定」と読まれる。示したいのは確定していることなので、文字色だけを落とす
- 1 層に置く箱は 5 個まで。6 個目からは、箱の名前ではなく箱の数が印象に残る
- 連携方式を下端に 1 行で書く。構成図に矢印で書き込むと、線の意味を説明する時間のほうが長くなる{
"format": "slide-16x9",
"density": "high",
"layout": {
"kind": "stack",
"canvas": {
"w": 1920,
"h": 1080
},
"margin": {
"top": 104,
"right": 140,
"bottom": 104,
"left": 140
},
"emphasis": {
"row": 2,
"via": [
"fill",
"rule"
]
}
},
"type": {
"title": {
"size": 46,
"weight": 700,
"tracking": "0.01em",
"leading": 1.3
},
"lede": {
"size": 19,
"weight": 400,
"leading": 1.8
},
"tname": {
"size": 24,
"weight": 700,
"leading": 1.4
},
"tnote": {
"size": 15,
"weight": 400,
"leading": 1.6
},
"bname": {
"size": 19,
"weight": 500,
"leading": 1.4
},
"btag": {
"size": 14,
"weight": 400
},
"fkey": {
"size": 14,
"weight": 500,
"tracking": "0.14em"
},
"fval": {
"size": 17,
"weight": 500,
"leading": 1.6
}
},
"colors": {
"ground": "#FFFFFF",
"surface": "#F4F6F9",
"ink": "#131820",
"muted": "#667183",
"accent": "#1F5FA8",
"rule": "#DBE1E9"
},
"rules": [
"層は 3 つまで。4 つ目を足した瞬間、聞き手は層の名前を覚えるほうに気を取られ、どこを作るのかを聞き逃す",
"すべて新規の層だけを塗る。一部だけ足す層は箱の「新規」で示す。全層を塗ると「全部作り直す」と読まれ、費用の話がその前提で始まる",
"既存システムは点線にしない。点線は「未確定」と読まれる。示したいのは確定していることなので、文字色だけを落とす",
"1 層に置く箱は 5 個まで。6 個目からは、箱の名前ではなく箱の数が印象に残る",
"連携方式を下端に 1 行で書く。構成図に矢印で書き込むと、線の意味を説明する時間のほうが長くなる"
]
} /designs/architecture-3tier-stack/pattern.html — 版そのものの HTML。書体の部分集合ごと同梱で、開けばこの絵がそのまま出ます。
<!doctype html>
<meta charset="utf-8">
<title>システム構成 — 層を 3 つに畳み、新設の 1 層だけを塗る</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: 104px 140px; /* → layout.margin */
}
.content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; }
.head { display: grid; gap: 16px; }
.title { font-size: 46px; font-weight: 700; line-height: 1.3; letter-spacing: .01em; }
.lede { font-size: 19px; font-weight: 400; line-height: 1.8; color: var(--muted); }
/* 層は 3 つまで。4 つ目を足した瞬間、聞き手は層の名前を覚えるほうに気を取られる。 */
.stack { align-self: center; display: grid; gap: 22px; }
.tier { display: grid; grid-template-columns: 236px 1fr; align-items: center; gap: 40px; border: 1px solid var(--rule); padding: 32px 36px; }
/* 新しく作る層だけを塗る。既存を塗ると「全部作り直す」と読まれる。 */
.tier[data-emphasis] { background: var(--surface); border-color: var(--accent); }
.tname { font-size: 24px; font-weight: 700; line-height: 1.4; }
.tnote { font-size: 15px; font-weight: 400; line-height: 1.6; color: var(--muted); margin-top: 8px; }
.tier[data-emphasis] .tname { color: var(--accent); }
.boxes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.box { border: 1px solid var(--rule); background: var(--ground); padding: 22px 20px; }
/* 既存システムは点線にしない — 点線は「未確定」と読まれる。文字色だけ落とす。 */
.box[data-keep] .bname { color: var(--muted); }
.bname { font-size: 19px; font-weight: 500; line-height: 1.4; }
.btag { font-size: 14px; font-weight: 400; color: var(--muted); margin-top: 10px; }
.foot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; border-top: 1px solid var(--rule); padding-top: 26px; }
.fkey { font-size: 14px; font-weight: 500; letter-spacing: .14em; color: var(--muted); }
.fval { font-size: 17px; font-weight: 500; line-height: 1.6; margin-top: 10px; }
</style>
<div class="artboard" data-artboard>
<div class="content" data-content>
<div class="head">
<h1 class="title" data-type="title">システム構成(第 1 期)</h1>
<p class="lede" data-type="lede">すべて新しく作るのは中段の 1 層だけです。上下は既存の資産を使い、足すのは受注の画面 2 つとデータベースに限ります。</p>
</div>
<div class="stack">
<section class="tier" data-row="1">
<div>
<p class="tname" data-type="tname">利用者層</p>
<p class="tnote" data-type="tnote">既存の端末・認証をそのまま使う</p>
</div>
<div class="boxes">
<div class="box"><p class="bname" data-type="bname">受注入力画面</p><p class="btag" data-type="btag">新規</p></div>
<div class="box"><p class="bname">受注照会画面</p><p class="btag">新規</p></div>
<div class="box" data-keep><p class="bname">社内ポータル</p><p class="btag">既存</p></div>
<div class="box" data-keep><p class="bname">認証基盤</p><p class="btag">既存</p></div>
<div class="box" data-keep><p class="bname">帳票ビューア</p><p class="btag">既存</p></div>
</div>
</section>
<section class="tier" data-row="2" data-emphasis="fill rule">
<div>
<p class="tname">業務アプリ層</p>
<p class="tnote">第 1 期の開発の中心</p>
</div>
<div class="boxes">
<div class="box"><p class="bname">受注管理</p><p class="btag">新規</p></div>
<div class="box"><p class="bname">出荷指示</p><p class="btag">新規</p></div>
<div class="box"><p class="bname">在庫引当</p><p class="btag">新規</p></div>
<div class="box"><p class="bname">帳票出力</p><p class="btag">新規</p></div>
<div class="box"><p class="bname">監査ログ</p><p class="btag">新規</p></div>
</div>
</section>
<section class="tier" data-row="3">
<div>
<p class="tname">データ・連携層</p>
<p class="tnote">既存の連携基盤を経由する</p>
</div>
<div class="boxes">
<div class="box"><p class="bname">受注データベース</p><p class="btag">新規</p></div>
<div class="box" data-keep><p class="bname">在庫システム</p><p class="btag">既存</p></div>
<div class="box" data-keep><p class="bname">会計システム</p><p class="btag">既存</p></div>
<div class="box" data-keep><p class="bname">連携基盤</p><p class="btag">既存</p></div>
<div class="box" data-keep><p class="bname">マスタ管理</p><p class="btag">既存</p></div>
</div>
</section>
</div>
<div class="foot">
<div>
<p class="fkey" data-type="fkey">連携方式</p>
<p class="fval" data-type="fval">在庫は同期、会計は日次バッチ</p>
</div>
<div>
<p class="fkey">稼働環境</p>
<p class="fval">既存のプライベートクラウドに相乗り</p>
</div>
<div>
<p class="fkey">この章でのご判断</p>
<p class="fval">在庫連携を同期にする前提の可否</p>
</div>
</div>
</div>
</div>
/designs/architecture-3tier-stack/font.css — 全部入りには入れていない
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
* font Zen Kaku Gothic New 400;500;700
* chars 142 (6bcd2fc58a03af5a)
*
* 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+31-33, U+2014, U+3001-3002, U+3044, U+3046, U+304f-3054, U+3057-305a, U+305d-3060, U+3064-3069, U+306b, U+306e-3071, U+3078-307a, U+307e-307f, U+308a-308b, U+3092, U+3094, U+3099-309a, U+30a2, U+30a4, U+30a6, U+30af-30b0, U+30b7-30ba, U+30bf-30c3, U+30c6-30c9, U+30cf-30de, U+30e0, U+30e5, U+30e9-30eb, U+30ed, U+30f4, U+30fb-30fc, U+4e0a-4e0b, U+4e2d, U+4e57, U+4f1a, U+4f5c, U+4f7f, U+50cd, U+5165, U+5185, U+51fa, U+5224, U+5229, U+524d, U+529b, U+52d9, U+53d7, U+53ef, U+540c, U+5426, U+5728, U+57fa, U+5857, U+5883, U+5b58, U+5c64, U+5e33, U+5eab, U+5f0f, U+5f15, U+5f53, U+5fc3, U+6210, U+6307, U+63d0, U+643a, U+65ad, U+65b0, U+65b9, U+65e2, U+65e5, U+671f, U+672b, U+67fb, U+696d, U+69cb, U+6b21, U+6bb5, U+6ce8, U+7167, U+7406, U+74b0, U+7523, U+7528, U+7531, U+753b, U+7573, U+767a, U+76e3-76e4, U+76f8, U+793a, U+793e, U+7968, U+7a3c, U+7ae0, U+7aef, U+7b2c, U+7ba1, U+7d4c, U+8005, U+8377, U+898f, U+8a08, U+8a2d, U+8a3c, U+8a8d, U+8cc7, U+8db3, U+9023, U+958b, U+9650, U+9762, U+ff08-ff09;
}
@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+31-33, U+2014, U+3001-3002, U+3044, U+3046, U+304f-3054, U+3057-305a, U+305d-3060, U+3064-3069, U+306b, U+306e-3071, U+3078-307a, U+307e-307f, U+308a-308b, U+3092, U+3094, U+3099-309a, U+30a2, U+30a4, U+30a6, U+30af-30b0, U+30b7-30ba, U+30bf-30c3, U+30c6-30c9, U+30cf-30de, U+30e0, U+30e5, U+30e9-30eb, U+30ed, U+30f4, U+30fb-30fc, U+4e0a-4e0b, U+4e2d, U+4e57, U+4f1a, U+4f5c, U+4f7f, U+50cd, U+5165, U+5185, U+51fa, U+5224, U+5229, U+524d, U+529b, U+52d9, U+53d7, U+53ef, U+540c, U+5426, U+5728, U+57fa, U+5857, U+5883, U+5b58, U+5c64, U+5e33, U+5eab, U+5f0f, U+5f15, U+5f53, U+5fc3, U+6210, U+6307, U+63d0, U+643a, U+65ad, U+65b0, U+65b9, U+65e2, U+65e5, U+671f, U+672b, U+67fb, U+696d, U+69cb, U+6b21, U+6bb5, U+6ce8, U+7167, U+7406, U+74b0, U+7523, U+7528, U+7531, U+753b, U+7573, U+767a, U+76e3-76e4, U+76f8, U+793a, U+793e, U+7968, U+7a3c, U+7ae0, U+7aef, U+7b2c, U+7ba1, U+7d4c, U+8005, U+8377, U+898f, U+8a08, U+8a2d, U+8a3c, U+8a8d, U+8cc7, U+8db3, U+9023, U+958b, U+9650, U+9762, U+ff08-ff09;
}
@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+31-33, U+2014, U+3001-3002, U+3044, U+3046, U+304f-3054, U+3057-305a, U+305d-3060, U+3064-3069, U+306b, U+306e-3071, U+3078-307a, U+307e-307f, U+308a-308b, U+3092, U+3094, U+3099-309a, U+30a2, U+30a4, U+30a6, U+30af-30b0, U+30b7-30ba, U+30bf-30c3, U+30c6-30c9, U+30cf-30de, U+30e0, U+30e5, U+30e9-30eb, U+30ed, U+30f4, U+30fb-30fc, U+4e0a-4e0b, U+4e2d, U+4e57, U+4f1a, U+4f5c, U+4f7f, U+50cd, U+5165, U+5185, U+51fa, U+5224, U+5229, U+524d, U+529b, U+52d9, U+53d7, U+53ef, U+540c, U+5426, U+5728, U+57fa, U+5857, U+5883, U+5b58, U+5c64, U+5e33, U+5eab, U+5f0f, U+5f15, U+5f53, U+5fc3, U+6210, U+6307, U+63d0, U+643a, U+65ad, U+65b0, U+65b9, U+65e2, U+65e5, U+671f, U+672b, U+67fb, U+696d, U+69cb, U+6b21, U+6bb5, U+6ce8, U+7167, U+7406, U+74b0, U+7523, U+7528, U+7531, U+753b, U+7573, U+767a, U+76e3-76e4, U+76f8, U+793a, U+793e, U+7968, U+7a3c, U+7ae0, U+7aef, U+7b2c, U+7ba1, U+7d4c, U+8005, U+8377, U+898f, U+8a08, U+8a2d, U+8a3c, U+8a8d, U+8cc7, U+8db3, U+9023, U+958b, U+9650, U+9762, U+ff08-ff09;
}
第 1 期で作る範囲を構成図の上で示すための版。pattern.html が版そのもので、cover.png と
frontmatter の寸法はどちらもそこから機械的に出している。編集するのは pattern.html だけ。
The architecture slide that shows which part of the estate this phase touches. pattern.html is
the artboard itself; both cover.png and the measurements come from it, so the three cannot
drift apart.
btag の 2 文字だけで足りる。凡例を別に置くと凡例を読む時間が要るbtag で示す — 足す箱があるたびに層を塗ると、塗りが「どこを作るか」を言わなくなるbtag を「継続/廃止」に読み替える)