1// async data fetching with full type safety
2import { createContext, useContext } from 'react'
3 
4interface ApiResponse<T> {
5 data: T
6 status: number
7 ok: boolean
8}
9 
10async function request<T>(
11 url: string,
12 options?: RequestInit
13): Promise<ApiResponse<T>> {
14 const res = await fetch(url, options)
15 const data = await res.json() as T
16 return { data, status: res.status, ok: res.ok }
17}
18 
19const BASE = 'https://api.vesper.dev'
20const TIMEOUT = 5_000

テーマ作業台

HearthCode

まず Ember か Moss を選び、公開中のテーマをその場で見て、そのまま使う場所へ入れられます。

Forge で自分の主色を調整

マルチサーフェス

同じ色の言語を、作業するすべての場所へ

意味体系はただひとつ。コメントは常に後退し、制御フローは常に前へ。場所が変わっても意味は変わりません。

VS Code と VSX エディタ

方向 × モード2 × 2
1// async data fetching with full type safety
2import { createContext, useContext } from 'react'
3 
4interface ApiResponse<T> {
5 data: T
6 status: number
7 ok: boolean
8}
9 
10async function request<T>(
11 url: string,
12 options?: RequestInit
13): Promise<ApiResponse<T>> {
14 const res = await fetch(url, options)
15 const data = await res.json() as T
16 return { data, status: res.status, ok: res.ok }
17}
18 
19const BASE = 'https://api.vesper.dev'
20const TIMEOUT = 5_000

Ember と Moss はそれぞれダークとライトを備え、VS Code Marketplace と Open VSX で公開。同じ生成パイプラインの出力です。

VS Code にインストール

Obsidian

方向Moss

デザインノート · Moss

色を、読む順序にする

本文は静かなリズムを保ち、リンク、強調、コードだけが必要なときに前へ出ます。

コメントは退き、構造が導く。
#カラー言語

Obsidian テーマは Moss 方向のダーク / ライト両版。ノートも長文リーディングも同じ意味体系で読めます。

Obsidian テーマを入手

このサイト自身

本文コントラスト予算≥ 4.5:1
HEARTH / TOKEN LAB監査合格

カラー契約

すべての意味に、居場所を

本文は安定し、重要な操作は明確に前へ。同じ token が UI とコードを統制します。

サイトの色はすべてテーマ token から導出され、本文のコントラスト予算はコミット時の監査で強制されます。いま読んでいるものが校正済みの出力です。

Ember は現在 VS Code エコシステムと本サイト向け。Obsidian テーマは Moss 方向です。

校正パイプライン

色は選ぶものではなく、校正するもの

公開されるテーマはすべて同じパイプラインを通ります。明示的なカラー契約、知覚空間での連立最適化、項目ごとの監査、そして Forge 全入力空間のスイープです。

  1. 契約を宣言

    各方向はまずルールを契約として明文化します。重要ペアの最小 ΔE、各シグナルレーンの色相帯です。

    7重要ペア

    ΔE 下限≥ 8–10シグナルレーン14
  2. 連立で解く

    隣接ロールは知覚色空間で分離度を連立最適化し、ライト版はロール別のコントラスト下限も満たします。

    1.28分離中央値目標 · Light

    Dark 中央値1.05ロール別下限≥ 2.2–5
  3. 監査ゲート

    公開テーマは契約に対して項目ごとに再測定され、監査に落ちるとコミットできません。

    4公開テーマ

    issues0warnings0
  4. 全域スイープ

    Forge の全入力空間を色相 × 彩度のグリッドで走査し、各点が公開版と同じ品質ゲートを通過します。

    48グリッド点

    色相ステップ15°彩度バンド60–100

上記の数値は契約と監査のソースファイルから直接読み込まれ、再校正のたびに自動更新されます。