Project 02 / sample atlas
公式サンプル 31 本を、カテゴリ・難易度・必要な環境で辿り、 解説とソースコードを同じ画面で読むための静的サイトです。 ビルドもサーバーも不要で、GitHub Pages にそのまま公開できます。
左にカテゴリとフィルタ、中央にカード一覧、右に解説とソース。カードを選ぶと、要約・学べること・実行コマンド・行番号付きのコードが並びます。 検索、読了チェック、URL での共有にも対応しています。
Categories
上流の章立てを、探訪しやすい 8 分類に整理しました。カテゴリを選ぶと、その範囲だけに絞り込んだ一覧が開きます。
値の幅から参照まで、言語の前提になる 6 本。
07–126篩、多倍長、ソート、数独、迷路、ハフマン。
13–164プール、相対リンク、スライスをキーにした辞書。
17–193電卓、JSON、バイトコード VM。
20–234ライフゲーム、レイトレース、画像カーネル、スレッド。
24–263C 連携、ファイル形式としての構造体、伸縮するプール。
27–293gfx、physics、ui モジュールとシェーダー。
30–312ボクセル世界と、WAD を読み込む小さな FPS。
番号は上流の推奨順です。最初の 6 本が以降の前提になるので、ここだけは順番に読むのが近道です。
言語ツアー、メモリモデル、文字列、エラー、代数的データ型、関数。まずはこの 6 本。
古典アルゴリズム、データ構造、パーサーと VM、C 連携。Goose のリンクとプールに慣れる範囲。
グラフィックス、シリアライズ、gfx / physics / ui、そして 2 本のゲーム。
ほとんどは標準ライブラリだけで動きます。gfx / physics / ui / audio を使うサンプルは、対応パッケージ入りのコンパイラが必要です。
| バッジ | 必要なもの | 該当 |
|---|---|---|
| 標準のみ | Goose の標準ライブラリ | 24 本(01–22, 25, 26) |
| C ヘッダ | --include call_c.h | 24 |
| gfx | gfx パッケージ入りのコンパイラ | 27, 28, 29, 30, 31 |
| physics | physics パッケージ入りのコンパイラ | 28 |
| ui | ui パッケージ入りのコンパイラ | 29 |
| audio | 音声デバイス(失敗時は無音) | 31 |
| WAD | 同梱の Freedoom WAD | 31 |
| 入力データ | 標準入力から式を渡す | 17 |
| スレッド | ハードウェアスレッド数に応じてワーカーを起動 | 23 |
収録しているコードは aardappel/goose の
samples/ を、コミット 64d62fc(2026-10-26)時点で無改変のまま収録しています。
ライセンスは Apache-2.0 です。帰属は
THIRD_PARTY_LICENSES.md、
ライセンス全文は LICENSE-APACHE-2.0.txt に置いています。
各サンプルの日本語要約・タグ・難易度・必要環境は、このプロジェクトによる整理です。 原文の解説コメントは各ファイルの先頭にそのまま残しています。
fetch() で読むため、file:// で直接開くと動作しません。localStorage にのみ保存されます。カテゴリから絞り込むのもよし、検索でつまみ食いするのもよし。まずは 01 の言語ツアーから始めましょう。