Lab/p5.js Sketchbook

クリエイティブコーディング・ショーケース公開中2026

p5.jsで「何ができるか」を一望できる作品集。さわって動かせるジェネラティブ作品11点を、すべて実際のコードつきで展示する。

サイトを開く
p5.js Sketchbook(コードでえがく実験帳)

Screenshots

p5.js Sketchbook(コードでえがく実験帳) スクリーンショット 1
p5.js Sketchbook(コードでえがく実験帳) スクリーンショット 2
p5.js Sketchbook(コードでえがく実験帳) スクリーンショット 3
p5.js Sketchbook(コードでえがく実験帳) スクリーンショット 4

Overview

概要

p5.jsは、絵を描くようにプログラムを書けるクリエイティブコーディング用のJavaScriptライブラリです。本サイトは、その表現の幅(生成的・シミュレーション・インタラクティブ・3D)を一望できるショーケース。流れ場・向日葵の螺旋・群れ・再帰の樹・ライフゲーム・反応拡散・万華鏡・音に反応するスペクトル・3Dノイズ核・GLSLフラグメントシェーダ・文字パーティクルの全11作品が、すべてブラウザ内でリアルタイムに動作します。最大の特徴は各作品に付いた「コードを見る」パネル。シンタックスハイライトと『たったN行』バッジで、短いコードが世界を動かす感覚を手で確かめられます。

How to use

遊び方・使い方

トップの目録から作品を選ぶか、カテゴリ(ジェネラティブ/シミュレーション/インタラクティブ/3D)で絞り込みます。各作品はマウス/タッチで介入でき、流れ場はドラッグで流れを乱し、向日葵はマウスの横位置で黄金角を微調整、群れはカーソルが捕食者に、ライフゲームはドラッグで細胞を描けます。「音に踊る」はマイクを許可すると声や音楽に反応。各画面の『コードを見る』ボタンで核となる実装が読め、『[ ] キー』で前後の作品へ、スクリーンショット保存・フルスクリーン・描画品質切替にも対応します。

Tech stack

技術スタック

TypeScriptNext.js 16React 19p5.js 1.11Tailwind CSS v4WebAudio / GLSL

Next.js 16 App Router上でp5.jsをinstanceモードでマウントし、11作品を共通インターフェース(create/code)で実装。canvasのリサイズがコンテナを微小振動させて描画がフリーズするResizeObserverのフィードバックループを閾値ガードで遮断し、全作品を60fpsで安定動作させています。PWA/オフライン対応、OG画像も完備。

Highlights

工夫した点

  • p5はブラウザ専用(import時にwindowを参照)のため、メタ情報と実装を分離し、一覧ページのサーバーバンドルへp5を巻き込まない構成に。各スケッチは遅延importで初回表示時にだけ読み込む
  • 各作品に『コードを見る』ビューア(自前の軽量シンタックスハイライト+行数バッジ+コピー)を実装し、p5の『読める・学べる』思想を体現
  • 反応拡散はGray-Scott法を全面シードで一気に育て、無補間で輪郭をシャープに。3DノイズはWEBGLの点群を深度シェーディング。シェーダはGLSLのドメインワーピングノイズと、p5の表現の幅を見せる作品を厳選

To improve

改善したい点

  • 音に反応する作品はマイク許可が必要な唯一の作品で、未許可時のフォールバック演出をさらに分かりやすくしたい
  • WEBGL系(シェーダ・3D核)はモバイル端末での描画負荷の検証と最適化余地がある
  • 作品ごとのパラメータをUIで『いじれる』度をさらに高める余地(粒子数・配色・速度など)

What's next

今後の展望

  • L-system植物・メタボール・水面の波紋など、p5の幅をさらに見せる新スケッチの追加
  • 作品ごとの動的OG画像と、ギャラリーカードでの動きのプレビュー
  • 『コードを見る』からその場でパラメータを書き換えて遊べるミニ・プレイグラウンド化

Category

3D・実験

Genre

クリエイティブコーディング・ショーケース

Year

2026

Status

公開中