Materializr
開源參數式 3D CAD 給創客 — 受限草圖、實體建模、螺紋、SVG 與文字雕刻、STL/STEP 匯出。Android、iPad、Linux、Mac、Windows。Vibe 編碼。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證UNFOLD image-to-3D animation and lyric motion editor (public copy of the source)
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗UNFOLD のソースには、非公開の本体リポジトリ(作業用)と、それを写した公開用リポジトリがあります。文書や記録に出てくるコミット番号(
780034dなど)は本体の番号で、公開用リポジトリでは番号が違います(docs/公開用リポジトリへの反映.md)。ライセンス:MIT(
LICENSE)。改変や、ほかのアプリへの組み込みも自由ですが、無保証です。app/vendor/の同梱ライブラリとフォント(three.js・troika・GSAP・Rapier・p5.js・Mediabunny・各書体など)と、それらを束ねたapp/vendor/*-worker.jsは、それぞれのライセンス(同じフォルダの*-LICENSE.txt・*-NOTICE.txt)に従います。
STUDIOを開く。曲・歌詞を固定した共通時間軸に、画像・短動画・文字・p5演出・UNFOLDを重ね、横MVと別配置の縦ショートを作れます。旧シーケンスの「05 STUDIO」からも入れます。
公開ソース 0bc28e5。本番407配信ファイル一致、保存往復・曲歌詞ロック・横縦の実H.264/AAC出力・旧工房8連携を確認済み。使い方 / 検証・公開・復旧記録。GitHub pushなし。
8751dcc、公開記録)a2cfe86、公開記録)app/studio/cuts/decos.js)。設定に「装飾」。毎日のルーティンでも装飾を足せる。5d72de8、公開記録)image-method-layer.js)。これまでは画面で再生したあとに大きく書き出すと、画像メソッドの区間が最後に見ていた絵のまま固まっていた。6627798、公開記録)params.label を使うもの)に「表示する文字」欄。工房(物理の設定の並び)、1枚モード(02 の崩れ方の一覧の下)、シーケンス(◆の設定、tr.label)。空なら、メソッドの元の文字(UNFOLD など)。欄は、そのメソッドが文字を使うときだけ出ます(app/image-label.js の usesImageLabel)。input.params)を、メソッドの設定の上に重ねます(image-method-layer.js)。保存したメソッドは書き換えません。3c6be08、公開記録)model-import.js の modelPaint・splitExtras、motion.js の uModelTex・modelUv)。modelNormal・modelNormalAt)。model-layout.js は、追加の値(色・UV・法線)を opts.extras で運ぶ形に。三角形を配列の配列ではなく平らな配列で持つので、100万面でも速く(約3倍)軽くなりました。拡張なしの結果は前と完全に同じです(model-layout-ordered.test.mjs)。58968a7、公開記録)motion.js の motionAt(t, hold)・warpTime・chaosTime)。立体化の始まりが、0%で今までどおり(変化の32%)、100%で66%まで後ろへ。電撃で消失・焦げ穴と炎などの表面の効果(変化の約64%まで進む)が、最後まで進んでから立体になります。初期値は50%(立体化は約40%から)。チャプターのボタン・書き出しの「ぐちゃぐちゃから」「立体化から」も、この設定に合わせた位置になります。vendor/image-method-worker.js、約5MB)の読み込み:通信エラー(Failed to fetch)なら2回まで自動で読み直し、それでもだめなら「通信エラー」と分かる言葉で知らせます(image-method-runtime.js)。009e487、公開記録)app/model-import.js の modelPaint、importModel(buf,{colors:true}))。テクスチャはGLBに埋め込まれた画像だけを読み、外部URLは今までどおり読みません。色は頂点ごとなので、面の少ないモデルではテクスチャの細かい模様はぼけます。KTX2(basisu)だけのテクスチャは読めず、基本色だけになります。seq.modelColor、保存されます)。立体になるにつれて写真とGLBの色を混ぜます(平らな写真は染めない)。新しい作品は100%、この設定を保存していない前の作品は0%(写真だけ)で開きます。色のないGLB・組み込みの形・立体文字には効きません。app/colour-shapes.js(id は c-…、GLB は app/assets/models/、最初に選んだときに読む)。GLBは tools/make_colour_samples.py(カラー見本だけ tools/make_colour_sample_glb.py)で作り直せます。使わなかった案(地球・きのこ・桜吹雪・シャボン玉・星空)も同じスクリプトにあります。asset.extras.unfold.fit = "frame" があると、いつもの大きさ(長い辺3.5)ではなく16:9の画面(5.25×2.95)に合わせます(model-import.js の fitFrame)。紙吹雪・ハート吹雪はこれで、立体化中の引きもかけません(fillsFrame)。model-layout.js が分割しても色を運び color(rgba、a=2が「色あり」)を返す → modelColor 属性 → motion.js で uModelColor 分だけ混ぜる。app/studio/omakase-extents.js)で収めます。「文字の配置」で「真ん中に揃える」に戻せ、「ここだけ変える」に「配置・大小」を足しました。Intl.Segmenter で語に分け、平均の大きさは変えないので行の幅は同じ)。run の scale として保存され、色・縁取り・中抜きを変えても残ります。文字モーション側は語ごとのメッシュ(textStart)にもそのまま効きます(コードモーションの描画器を作り直し、?v=7)。// @fonts と書くと、api.fonts / api.fontsFor(文字) が使えます(app/code-motion-runtime.js)。app/bundled-image-methods.js。保存はされず、使うとプロジェクトにコードが入ります)。メソッド工房 に画像4作品・文字7作品を追加。カードと既知の .js から名前・種類・設定が入り、共有ファイルでも設定を復元できます。工房から表面作品を適用すると、1枚モード・シーケンスとも「立体化なし」を引き継ぎます。保存済みカードの編集中の内容を保護し、文字5作品の日本語折り返しも改善しました。
公開ソース dca149d。365配信ファイルの一致、11カード、画像4作品×両モード、文字7作品の長文・部分色・逆シーク・MV適用を確認済み。使い方とローカル検証 / 公開・復旧記録。GitHubへのpushなし。
メソッド工房 に、焦げ穴と炎、インク、水彩、霜、電撃、酸、絵の具、風化を追加して公開しました。従来のJavaScriptサンプルでも選べます。実描画の見本から選択し、コード編集・共有ができます。使い方と検証。1枚モードは「立体化する」をオフ、シーケンスは「形にしない」で使用します。
302配信ファイルの一致と、8種類×両モードの16通りを公開URLで確認済み。公開・復旧記録。
メソッド工房 を公開しました。GLSL・画像JavaScript/物理・文字JavaScriptのブロック選択、実動プレビュー、コード編集、参照画像・配色、下書き復元、UNFOLD本体への追加に対応。変更前のメソッドは残し、既存作品の別ブロックを書き換えません。公開ソース 4ac4af5、全292配信ファイルの一致と3方式・保存・本体連携・390px表示を確認済み。個人の画像・曲・下書きは非公開です。使い方 / 公開・復旧記録。GitHubへのpushなし。
JavaScript+物理演算でも、画像片が選んだ立体・GLBへ集まって画像に戻れるように拡張。1枚モードは「03 立体」、シーケンスは◆変形の「立体化する」で選択します。コードエディタにも立体プレビューを追加。操作と対応範囲は 画像コードメソッド、確認結果は 立体化の検証記録。https://unfold.saisuiwa.com/ へ公開済み。配信285ファイルと公開画面での両モードの動作を確認しました。公開記録。
https://unfold.saisuiwa.com/ に 864801b を公開済み。画像メソッドのJavaScript+物理演算(Three.js/Troika Text/GSAP/Rapier)を含みます。配信282ファイルの一致と公開サイトでの動作を確認しました。公開物・バージョン・検証証跡は 公開記録。以下の古い更新記録にある「未公開」は、その記録時点の状態です。
現在のアプリ本体、公開用ZIP、デモ動画、読み込んで使うGLB、以前の版と作業記録をこのフォルダにまとめています。
app/ — 現在の公開版(Cloudflare、2026-10-06・質感エフェクト8種入り)のソース。index.html が1枚モード、sequence.html がシーケンスです。releases/UNFOLD-Test-custom-methods-glb-2026-10-04.zip — 旧Netlify版の最後のZIP(2026-10-04。Netlifyはもう使っていません)。自作メソッド・画像ごとのカメラ・新しい形(龍・クジラ…)・位置どおり貼るGLB・GLB100個まで、など2026-10-02〜04の更新が全部入り。公開前の確認結果は docs/公開前チェックリスト_自作メソッド.md の §7。releases/UNFOLD-Test-glb-dashboard-mp4-2026-09-30.zip — 1つ前の公開版(2026-09-30 22:07)。戻すときはこれ(Netlifyの Deploys 一覧から前のデプロイを選んで Publish deploy でもOK)。引きスライダー・追加した形のダッシュボード・粒の細かさ・MP4書き出し入り。releases/UNFOLD-Test-effects-camera-2026-09-29.zip — 1つ前の公開版(2026-09-29 22:24)。演出・カメラ入り。releases/UNFOLD-Test-particles-timeline-2026-09-29.zip — 以前の公開版(2026-09-29 21:28)。崩れ方29種・タイムライン編集・3カラムのシーケンス・保存機能入り。releases/UNFOLD-Test-confetti-glitch-2026-09-28.zip — 1つ前の公開版ZIP。星とハートのメソッド(1枚・シーケンス)と、色収差・グリッチ演出(1枚モード)を追加した版です。releases/UNFOLD-Test-stronger-push-2026-09-28.zip — 以前のGLB 100万面・プッシュイン約2.1倍版ZIP。releases/UNFOLD-Test-million-GLB-2026-09-28.zip — 以前のGLB 100万面・色差シルエット説明版ZIP。releases/UNFOLD-Test-three-column-2026-09-28.zip — 以前の3カラム版ZIP。releases/UNFOLD-Test-model-library-2026-09-28.zip — 以前のGLB保存・シーケンス共有版ZIP。releases/unfold_seq_deploy.zip — 以前のシーケンス版ZIP。releases/UNFOLD-Test-update.zip — 以前のNetlify更新用ZIP。releases/UNFOLD-cloudflare.zip — 初期Cloudflare版のZIP。releases/UNFOLD-app.zip — 初期ローカル版のZIP。demos/ — 動画見本。demos/sequence-glb-heart-2026-09-28.webm — 公開版シーケンスで保存済みGLBを使って書き出した2秒の動作確認動画。同名PNGは立体化中のフレームです。models/ — GLB置き場からコピーした作例モデル。元のGLB置き場はそのまま残しています。models/星屑のハート.glb — 星とドット186個を離して配置したUNFOLD用の作例。星屑のハート.blend はBlenderで編集できる元データ、同名のPNGは見本画像です。models/星屑のハート_大きめ.glb — 外側のアクセント星を省き、UNFOLDでハート本体が約28%大きく見える版。元の版は残しています。同名の .blend と .png もあります。demos/genso_silent_unfold_mv.mp4(と .webm・_phone.mp4)— 歌詞MV機能で自動で組んだ「幻想サイレント」のMV(曲入り)。demos/genso_silent_outro_seq.webm — 幻想サイレント歌詞動画のアウトロー用に書き出したシーケンス(原本は Opus5.5/punk_lyric/outro_seq.webm。render.py が使うのでそちらも残しています)。demos/particles_demo_2026-09-29.mp4 — 2026-09-29に追加したパーティクル系15メソッドの見本。崩れ方(METHODS)を12種→29種に。パーティクル系(塵になる・きらめき・爆発・群れ・雨・雪・泡・網点・銀河・竜巻・風で飛ぶ・花びらが舞う)と、モーショングラフィックス定番(波紋・ブラインド・タイル反転・グリッチ・線で描かれる)。画像を6400個の小さな粒(GLB・文字はその三角形ごと)として動かせるように、ジオメトリに part 属性を追加しています。
シーケンスにタイムライン編集を追加(app/timeline.js・app/project.js)。画像クリップ/◆変形/曲の波形/歌詞が下に並び、ドラッグで並べ替え・長さ変更・切り替え位置の移動、画像ファイルをブロックにドロップで差し替え、歌詞と画像の連動ON/OFF、⌘/Ctrl+Z で元に戻す。編集内容はブラウザに自動保存され、「書き出し」で .unfold ファイル(画像と曲も入った1ファイル)に保存・「読み込み」で開けます。
releases/UNFOLD-Test-effects-camera-2026-09-29.zip)演出を追加:光のにじみ(ブルーム)・ネオン(輪郭が光る/色指定可)・ガラス・走査線(ブラウン管)・ノイズ・周辺減光・ボケ(奥行きで変わる被写界深度)。後処理は app/effects.js の SceneBlur、ガラスは app/motion.js の glassLook。シーケンスにはカメラ(遠近感・ゆっくりズーム・手持ち揺れ・傾き・回り込み)と「◆ごとの演出の上書き」も。1枚モードは「04–05 演出」タブに同じ演出スライダー。見本は demos/effects_camera_demo_2026-09-29.mp4。
releases/UNFOLD-Test-glb-dashboard-mp4-2026-09-30.zip)app/model-thumb.js)。particleParts in app/model-layout.js)。app/mp4-writer.js)。app/ は archive/app-before-*-2026-09-30/ に保存。シーケンスの「04 見た目」が、プレイヘッドの位置(ぐちゃぐちゃ/立体化/画像)で効く設定だけを表示するように。橙の丸=ぐちゃぐちゃ、紫の丸=立体化、丸なし=いつでも。一番上の「自動/すべて」で全部出せます。判定は phaseOf()、文言は app/look-view.js。変更前の app/ は archive/app-before-phase-filter-2026-10-02/。設計書は docs/superpowers/specs/2026-10-02-phase-filtered-look-tab-design.md、実装計画は docs/superpowers/plans/2026-10-02-phase-filtered-look-tab.md。
単体テスト: node --test tools/test/look-view.test.mjs
自作メソッドの土台(2026-10-04 に公開):崩れ方の一覧を app/method-registry.js に統合。ブラウザのコンソールから unfoldMethods.registerCustom({ id: 'cm-…', name, symbol, vertex }) で GLSL の自作メソッドを登録すると、1枚モードとシーケンスの一覧に水色の枠で出て使えます(エディタ・保存・見張りは次の計画)。仕組みは app/custom-method.js、簡易チェックは app/method-guard.js。変更前の app/ は archive/app-before-custom-engine-2026-10-02/。設計書は docs/superpowers/specs/2026-10-02-custom-methods-design.md、実装計画は docs/superpowers/plans/2026-10-02-custom-methods-1-engine.md。
単体テスト: node --test "tools/test/*.test.mjs"(ディレクトリ指定だと動きません)
自作メソッドのエディタ(2026-10-04 に公開):メソッド一覧の最後の「+自作メソッド」でエディタが開きます(1枚モード・シーケンス共通)。左にコード、右にプレビュー、下に「書き方のチェック」と「GPUでのコンパイル」の結果。サンプルから始める/AIに頼むひな形をコピー/下書きの自動保存つき。自作タイルは水色の枠で、⚙から編集・複製・削除・もう一度試す。壊れたメソッドは登録した瞬間に自動で「停止中」になります。保存先はこのブラウザ(IndexedDB)。仕組みは app/method-editor.js・app/method-library.js ほか。変更前の app/ は archive/app-before-custom-editor-2026-10-03/。実装計画は docs/superpowers/plans/2026-10-03-custom-methods-2-editor.md。
自作メソッドの安全装置(2026-10-04 に公開):エディタに「試し描画」を追加(標準の一番重いメソッドと同じ場で測って4倍まで、ただし速いGPUでは床の4msが実際の線/何も映らない・変わらないは警告)。再生中にコマ間隔が基準の4倍かつ50ms以上のまま30コマ続くと、その自作メソッドを自動で止めます(「停止中」)。使い始める前に localStorage へ「試用中」の印を書き、30コマ描けたら消します。ブラウザごと落ちたときは、次の起動で印が残っているメソッドを「落ちた」にして止め、エディタの下書きは自動でチェックしません(「チェックする」を押すまで)。GPUのコンテキストが失われたときも、使っていた自作メソッドを止めます。書き出しの前に、自作メソッドのコンパイル完了を待ちます。仕組みは app/method-safety.js・method-watchdog.js・method-crashflag.js・method-trial.js。変更前の app/ は archive/app-before-custom-safety-2026-10-03/。実装計画は docs/superpowers/plans/2026-10-03-custom-methods-3a-safety.md。
自作メソッドの .unfold への同梱と、取り込み時の隔離(2026-10-04 に公開):プロジェクトを書き出すと、◆が使っている自作メソッドだけがコードごと入ります(version 2。使っていなければ今までどおり version 1)。ブラウザの自動保存には入れず、ファイルへの書き出し(と保存先ファイル)だけです。他の人のファイルを開くと、手元に無いコードは「未確認」で入り、確認が終わるまでコンパイルも描画もされません(同じコードが手元にあれば、それを使います)。シーケンスの方法一覧の下のバナーか、タイルの⚙から「有効にする」を押すと、書き方チェック・GPUのコンパイル・試し描画を通ったものだけが使えるようになります。「コードを見る」は自動チェックなしでエディタを開きます(読んで、「チェックする」を通して保存すると有効)。ファイルの や状態は信用せず、id・名前・コードの大きさも検査します(50個まで・1つ8000文字まで・新しい形式のファイルは取り込まない)。確認の途中でブラウザが落ちたときは、次の起動で未確認のまま理由を残します。仕組みは ・・。変更前の は 。実装計画は 。
公開サイト: https://unfold.saisuiwa.com/ (説明 /guide/、メソッド集 /guide/methods.html、GLB置き場 /guide/glb.html)
Cloudflare管理画面: Workers & Pages → unfold(手順と注意は docs/公開手順_Cloudflare.md)
公開先は Cloudflare だけです。 Netlify(unfold-test)はもう使っていません(2026-10-17 作者。サイトを消すときは Netlify の管理画面 https://app.netlify.com/projects/unfold-test から)。
Mac内の移動は公開中のサイトや管理画面に影響しません。現時点では手動デプロイなので、今後更新する場合は docs/公開手順_Cloudflare.md の手順で、app/ のフォルダを Cloudflare の unfold にアップロードしてください。ローカルの編集だけでは公開サイトは更新されません。
追加したGLBはサイトごと・ブラウザごとのIndexedDBに保存され、1枚モードとシーケンスで共有されます。従来版で一時的に読み込んだGLBは一度追加し直す必要があります。ブラウザのサイトデータを削除すると保存したGLBも消えるので、元のGLBファイルは保管してください。
以前のフォルダ位置にはこのフォルダへのリンクを残しています。外付けORICOを外すと、それらのローカルリンクは開けなくなりますが、公開中のサイトには影響しません。
花びら・渦・立体ポップのプリセット、エディタ内の画像変更、userMethodコピー、実amount 0.00〜0.80表示を追加。公開はしていません。起動・検証・変更範囲・画面写真は 検証記録。
元に戻せる表示比較をエディター・1枚モード・シーケンスへ追加。初期値OFF、網点透過は任意の実験機能。操作、同条件の性能、原画保持、動画出力と制約は 検証記録。公開サイトは未更新。
1枚モードとシーケンスに共通の「回転方向・カメラの移動」を追加。入り・戻りそれぞれ右/左/上/下/斜め4方向/回転なしと0〜3回転を指定。画像パッドでカメラの開始点・終了点を選び、ズーム・秒数・速さの変化を設定できます。初期OFFで従来の動きを保持。自動追跡ではなく指定軌道です。242件の単体テスト、5件のChrome描画検証、両モードのMP4出力を確認。公開はしていません。検証記録と見本動画。
シーケンスの「05 歌詞・曲」で、既存の画像・立体映像の前面にテキストモーションを重ねられます。
文字のタイミングを変えても、背景の画像・変形・回転・カメラは組み直しません。現在の文字は前面の2Dレイヤーです。立体の背後への回り込みは含みません。
新しい歌詞を含む .unfold はversion 3です。旧版UNFOLDでは新歌詞を再現できないため、この版以降で開いてください。version 1/2の旧作品は従来の見た目で開きます。旧歌詞MVは「テキストモーション版を作る」で変換でき、元の保存先を解除して別名保存を案内します。Undoにも対応。
音楽・歌詞・画像を外部サービスへ送信しません。FLAC/Vorbis等の歌詞タグ抽出は対象外です。フォントは既存のWebフォント設定を使用し、オフラインではシステムフォントへフォールバックします。
検証と見本動画:歌詞MV検証記録。起動は従来どおり python3 tools/serve.py、ローカルシーケンス。
「歌詞・曲 → モーション集・自作」で6つの文字構成を選び、登場・表示中・退場を組み合わせられます。揺れ・明滅・グリッチ・波ワープ・残像は最大3種類まで重ねられ、名前付き保存、.unfoldmotionファイルの受け渡し、AI依頼文とJSON編集に対応。各行へ個別適用、または固定していない行へ一括適用できます。
モーション集は同じ描画器による動く見本です。編集済みの歌詞時刻・固定・Undo/Redo・プロジェクト保存を保持します。文字間の本格モーフィングは未実装。公開サイトは未更新。検証記録。
タイムラインで歌詞を選び、右側の「動き・色・書体」から直接編集できます。言葉をタップして単語だけの色、行・全歌詞の配色、PCインストール済みフォントやフォントファイルに対応。色・書体を変えずにモーションを試せます。使い方と検証。
In the lyric inline editor, choose 動き → +追加・コードで作る. The editor combines Three.js, Troika Text and GSAP using an isolated, seekable JavaScript API. Preview before adding a reusable block; export/import .unfoldmotion files to share motions. Existing recipe files still work. See author guide and verification report. Standard fonts and runtime dependencies are bundled locally.
メソッド工房のサンプルと同じ3種類を、毎日1つずつ足して検証し、通ったものだけ main に入れるルーティンです。手順は docs/daily-samples-routine.md、追加の記録は docs/daily-samples-log.md。
app/method-samples.js の SAMPLES、グラフィックモーション=JavaScriptの画像メソッドは app/image-method-daily.js、テキストモーション=文字のコードモーションは app/code-motion-daily.js。後ろの2つは、Macで作られたプリセット(image-method-presets.js code-motion-presets.js)の末尾につながって、工房とエディタのサンプルに出ます。以前の GLSL の graphic と、かんたん設定の文字の動き(TEXT_MOTIONS、歌詞パネルの「動き」の選択肢)は残してあり、新しくは足しません。/guide/samples.html(マウスを載せると動く。ソースは app/guide/samples.html、node tools/build_guide_samples.mjs で作る。プレビューのJPG/MP4は app/guide/samples/、node tools/make_sample_previews.mjs が、GLSLはエディタのプレビュー、画像メソッドと文字コードはアプリ本物の実行環境、かんたん設定の文字は歌詞の描画器で描いて作る)。node tools/verify_daily.mjs --expect-new=<日付>(単体テスト・GLSLのGPU検査・画像メソッドと文字コードの実行(効果が出る/画面に収まる/終わりで消える)・プレビューの形式・全ページの表示・?v= の上げ忘れ・ログまで)。GLSLを変えたときの ?v= は node tools/bump_module_version.mjs app/<ファイル>.js で、HTMLまで玉突きで上がります。app/ を Cloudflare にアップロードしてください(docs/公開手順_Cloudflare.md)。demos/petals_line_demo_2026-09-29.mp4 — 「花びらが舞う」と「線で描かれる」の見本。samples/幻想サイレント/ — 歌詞MVを試すための素材(網点写真12枚 mv_photos/、タイミング付き歌詞 lyrics.json、アウトロー用スライド outro_slides/)。tools/serve.py — app/ をローカルで開く確認用サーバー(python3 tools/serve.py → http://127.0.0.1:8771/ 、書き出し保存は tools/out/)。docs/ — 公開URL、旧版の使い方、更新時の確認画像。archive/original-dist/ — 2026-09-19に最初に作った版。archive/outputs/UNFOLD/ — 当初のローカル起動パッケージ。archive/work/ — 過去の検証記録とバックアップ。archive/app-before-particles-2026-09-29/ — パーティクル系メソッドを足す前(Netlify公開版と同じ)の app/。archive/downloads/ — ダウンロードフォルダにあった書き出し(demos/sequence-glb-heart-2026-09-28.webm と同じ内容)。hashapp/method-project.jsmethod-verify.jsmethod-banner.jsapp/archive/app-before-custom-project-2026-10-03/docs/superpowers/plans/2026-10-03-custom-methods-3b-project.md自作メソッドを1個だけファイルで渡す(.unfoldmethod、2026-10-04 に公開):自作タイルの⚙メニューの「ファイルに保存(.unfoldmethod)」か、エディタの下の「ファイルに保存」で、コードを小さなテキストファイル(JSON、メモ帳で開ける)にして保存します。受け取る側は、方法一覧の最後の「ファイルから読み込み」タイル(1枚モード・シーケンス共通)か、シーケンスの「読み込み」ボタンで開きます。取り込んだものは、.unfold の場合と同じ「未確認」から始まり、「有効にする」で書き方チェック・GPUコンパイル・試し描画を通ったものだけ使えます。同じコードが手元にあれば増やしません。プロジェクト丸ごとの .unfold(画像・曲も入る)とは別の、メソッドだけのファイルです。仕組みは app/method-file.js(ファイルの形と検査)・method-transfer.js(保存と読み込み)。変更前の app/ は archive/app-before-method-file-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-method-file.md。
自作メソッドのエディタの使いやすさ(2026-10-04 に公開):名前の欄とアイコンの欄に見出し(「名前(一覧に出る名前)」「アイコン(タイルの1文字)」)と入力例を付け、「コードを消す」ボタンを追加(普通の入力と同じ消し方なので、⌘Z/Ctrl+Z で元に戻せます)。
画像ごとの演出と、パネルの分かりやすさ(シーケンス、2026-10-04 に公開):画像を選ぶと「この画像だけの演出」が出て、光のにじみ・ネオン・グリッチなど10種を、その画像が止まって見えている間だけ全体の設定から置きかえられます(ネオンの色は全体のまま)。◆の間は、前の画像の設定から次の画像の設定へ、◆の中ほどでなめらかにつなぎます。◆自身の「この◆だけの演出」は今までどおり、崩れている間と立体の間に上乗せされます。上書きしている画像はタイムラインで ✦ が付きます。保存・読み込み・元に戻す・複製に対応し、ファイルの値は読み込むときに検査します(既知の10種・0〜1の数だけ)。上書きがなければ今までと画素まで同じ絵です。判定と混ぜ方は app/fx-mix.js。変更前の app/ は archive/app-before-picture-fx-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-picture-fx.md。
◆ごとの「絵柄を混ぜる」(シーケンス、2026-10-04 に公開):変形の途中で、画像を断片に分けて混ぜて元の絵を隠す演出(これまでは常にオン)を、◆ごとにオフにできます(◆のパネルの「絵柄を混ぜる」)。オフにすると、立体になったときも絵柄がそのまま貼られます。例:世界地図(正距円筒図法)の画像を球にすると、本物の地球儀になります(1枚モードの「絵柄を混ぜて、最後に見せる」と同じ考え方)。初期値はオンで、今までと画素まで同じ絵です(変更前との比較 117/117 一致)。保存・読み込み・元に戻すに対応し、ファイルの値は本物の false だけ受け付けます。判定は app/fx-mix.js の concealAmount。変更前の app/ は archive/app-before-mix-tiles-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-mix-tiles.md。
◆ごとの「立体は前の画像のまま」(シーケンス、2026-10-04 に公開):これまで、立体の途中(◆の46〜54%)で絵が次の画像に入れ替わっていました。◆のパネルの「立体は前の画像のまま」をオンにすると、入れ替わりを◆の72〜80%(立体が崩れてから)に遅らせて、立体の間は前の画像のままになります(地球の地図は、地球儀のまま崩れてから、次の画像になる)。「絵柄を混ぜる」をオフにした◆と組み合わせると、各画像がそれぞれの形(地球→球、ドーナツ→ドーナツ、りんご→りんご)になります。立体化しない◆では出ません。初期値はオフで、今までと画素まで同じ絵です(変更前との比較 117/117 一致)。判定は app/fx-mix.js の swapCurve。変更前の app/ は archive/app-before-late-swap-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-late-swap.md。
「立体は前の画像のまま」と画像ごとの演出の組み合わせ(シーケンス、2026-10-04 に公開):「立体は前の画像のまま」をオンにした◆では、画像ごとの演出(光のにじみなど)も、絵の入れ替わり(◆の72〜80%)に合わせて次の画像の設定へ移ります(以前は35〜65%で先に移り、立体の間に発光などが消えていました)。オフのときは今までと同じです。判定は app/fx-mix.js の mixFx の late。変更前の app/ は archive/app-before-fx-late-2026-10-03/。
画像ごとのカメラ(シーケンス、2026-10-04 に公開):画像を選ぶと「この画像だけのカメラ」が出て、その画像が登場してから、次の変形で崩れ始めるまでの間、カメラの動きを画像ごとに決められます(ズーム・横・縦・傾き、それぞれ「はじめ → おわり」、動き方(なめらか/はじめ速く/おわり速く/一定)、動く長さ(秒))。ボタンで選べる動き:ゆっくり寄る/引く、ドンと引く(画面からはみ出す大きさ=2.2倍から、元の大きさに戻る)、ドンと寄る、左右・上下に流れる、ゆっくり傾く、動かさない。画像が入れ替わる瞬間(◆の中ほど。「立体は前の画像のまま」の◆では76%)に次の画像のカメラへ切り替わるので、その瞬間にはみ出したズームから始まります。立体になっている間は、はみ出さないよう動きを弱めます。設定のない画像は今までの全体の「ゆっくりズーム」のままで、どの画像にも設定がなければ今までと同じ絵です。保存・読み込み(既知の4項目・範囲内の数だけ検査)・元に戻す・複製に対応。計算は app/camera-work.js(純粋な関数、単体テスト11本)。変更前の app/ は archive/app-before-slide-camera-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-slide-camera.md。
新しい立体の形:**龍・クジラ・鳥の群れ(14羽)・球の群れ(16×9=16:9の画面と同じ比率)**を追加し、人とペガサスを作り直し(シーケンス、2026-10-04 に公開)。形のボタンに並びます。新しい形は、画像を「位置どおり」に貼ります(画像の左は形の左、下は下。印刷した模様のように、絵がそのまま形に乗る)。りんご・アイスは今までどおりのバラバラ貼りで、数値まで同じです(単体テストで確認)。どの形も 5.25×2.95 の画面に収まる大きさに揃えてあります。ドーナツ(トーラス)は、横から見ると穴が見えず分かりにくいので、◆の「縦向き」を上げて上から見下ろす向きにすると穴が見えます(動画では約54°)。人・ペガサス・クジラ・龍・鳥・球の群れは、立体が完成する瞬間に正面(横向き)を向けるため、◆の「横向き」を180°にしておくと見やすいです。形は app/shape-presets.js(OPTS の ordered が位置どおり貼り)。変更前の app/ は archive/app-before-new-shapes-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-new-shapes.md。
GLBに「絵を位置どおりに貼る」(シーケンス、2026-10-04 に公開):追加したGLBの形の◆に、「絵を位置どおりに貼る(GLB)」のチェックが出ます。オンにすると、画像の左は形の左、下は下に貼られて、絵がそのまま形に乗ります(今までは、画像の断片が形のあちこちに散って、粒の混ざった模様)。初期値はオフで、オフのときは今までと数値まで同じです(単体テストで確認)。高精度のGLB(19万枚前後の三角形)で、とくに効きます。計算は app/model-layout.js の modelLayout(input, {ordered})。変更前の app/ は archive/app-before-ordered-glb-2026-10-03/。記録は docs/superpowers/plans/2026-10-03-ordered-glb.md。
Tripo で作ったGLB 94個(models/tripo/、動物・植物・乗り物・楽器・人物・もの・キャラクターのフォルダ別):動物32(クジラ・ペガサス・龍・鳥・不死鳥…オオカミ・ライオン・ユニコーン・孔雀・ゾウ・馬・トラ・ペンギン・ワシ・ティラノサウルス)、植物5、乗り物5、楽器10(ギター・ピアノ・サックス・ドラムセット・ラジカセ…)、人物16(弓を射る・踊る・歌う・全力で走る・空へ手を伸ばす・銃を構える・祈る・ジャンプする・刀を構える女性、ギタリスト、スケートボーダー、手をつなぐ二人、DJ、宇宙飛行士、ロボットほか)、もの20(お城・灯台・砂時計・宝箱・折り紙の鶴・大波・古い鍵・懐中時計・水晶・幾何学模様ほか)、そして「画像置き場」の6枚から作ったキャラクター6体。1体約19万枚の三角形・約4.5MB・テクスチャなし。見本は models/tripo/一覧.png、使い方は models/tripo/はじめに.md。
たくさんのGLBを扱う(シーケンスと1枚モード):保存できるGLBを8個→100個に。シーケンスは「+ GLBを追加」で複数まとめて選べて、一覧は縦にスクロール、8個を超えると名前の絞り込み欄が出ます(1枚モードも上限100・スクロール・絞り込み。変更前の app/ は archive/app-before-single-many-glb-2026-10-04/)。記録は docs/superpowers/plans/2026-10-03-many-glb.md。変更前の app/ は archive/app-before-many-glb-2026-10-03/。
GLBのグループ(タブ)(シーケンスと1枚モード、2026-10-04):保存したGLBに「グループ」を付けて、タブで切り替えられます(すべて/動物・生き物/植物/乗り物/楽器・音楽/人物/もの・風景/キャラクター/自分で作ったグループ/未分類)。◆の形メニューと右パネルの一覧、1枚モードの「追加した形」で共通。新しく追加したGLBは、見ているタブに入ります。グループは右パネルの各行の選択で変えられます。app/model-groups.js、テスト tools/test/model-groups.test.mjs、版 sequence.js?v=60・app.js?v=49。
説明・メソッド集・GLB置き場のページ(2026-10-04、/guide/):説明(できること・はじめかた・よくある質問)、メソッド集(37種類の動く見本と、自作メソッドの紹介。2026-10-12に線画系5・色の滲み系3を標準に追加)、GLB置き場(94個をグループ別に表示。ファイルが置いてあれば「UNFOLDに追加」でブラウザに保存)。メソッドの見本動画は tools/build_guide_methods.py で作るページ+シーケンスで描いた短い動画、GLBのサムネは点群の絵。GLBのファイルは別の置き場(glb.saisuiwa.com、Cloudflare の Worker unfold-glb、2026-10-04 公開・94個確認済み)に置いてあり、元は models/tripo-publish/ にまとめてあります。サイトの .js/.css の種類を固定する app/_headers も、毎回の公開に含めてください(手順書のハマりどころ参照)。
「タイルの細かさ」スライダーを追加と、「粒の細かさ」が効く組み合わせの表示(シーケンスの04 見た目、1枚モードの「ぐちゃぐちゃにする」、2026-10-04 に公開):崩れ方は、動き方で3種類に分かれます。①粒で動く12個(塵になる・きらめき・爆発・群れ・雨・雪・泡・網点・銀河・竜巻・風で飛ぶ・花びらが舞う)=「粒の細かさ」が効く(面の細かい形=追加したGLB・文字・輪郭のときだけ)。②タイルで動く9個(ばらばら・砕ける・とける・シュレッダー・モザイク・星とハート・ブラインド・タイル反転・グリッチ)=新しい「タイルの細かさ」が効く(どの形でも)。③全体がなめらかに動く8個(くしゃくしゃ・ねじれ・波打ち・めくれ・折りたたみ・渦に吸い込み・波紋・線で描かれる)=どちらも効かない。「タイルの細かさ」は、画像を n×n に分けたものをタイルにします(真ん中=今までの16×16、左端=4×4の大きなタイルで荒々しく、右端=64×64で細かく。縦横を同じ数で分け、4倍ずつ)。形は変わらず、三角形ごとに「入るタイル」を決めて中心を頂点属性 tcell(x,y=中心、z=n)で渡します。tcell がない形(自作メソッドの試し描画など)と標準の16は、シェーダーが今までの cell と16に戻るので今までと同じ絵(実測:29の崩れ方×球・GLB×4時点で、公開前の版(releases/UNFOLD-Cloudflare-2026-10-04.zip。タイルの細かさを足す前の、_headers 入りの版)と画素まで一致。公開後の版は releases/UNFOLD-Cloudflare-2026-10-04-tilesize.zip)。自作メソッドは今までどおり cell(16×16)を読むので、タイルの細かさは効きません(粒は partC() を使えば効く)。保存・読み込み(.unfold の設定 tiles、0〜1の数以外は標準)に対応。スライダーの下に、いま効くか(シーケンスは◆全体のうち何個、1枚モードは選んでいる崩れ方)を文章で出します。訂正: 最初の説明で「くしゃくしゃ」をタイル単位と書いたのは間違いで、くしゃくしゃは位置で動く方法(②ではなく③)です。分類は tools/test/slider-notes.test.mjs が motion.js の各分岐の中身(partC() か unfoldTileC() か)と突き合わせます。計算は app/tile-size.js、文言は app/slider-notes.js、シェーダーは app/motion.js(unfoldTileC()/unfoldTileN())。版は sequence.js?v=62・app.js?v=51・motion.js?v=23・effects.js?v=28。テスト227本。
右パネルが「どの画像・◆の設定か」を間違えにくく:スライダーを動かすとその行の「(全体)」がその場で消えて「↺ 全体に戻す」が出る(以前は再描画まで古い表示のままでした)。再生位置が、選んでいる画像・◆と別の場所にあるときは、パネルの上に「いまの再生位置は『◆ 変形 2 → 3』です。このパネルは、選んでいる『◆ 変形 1 → 2』の設定です。」と出て、ボタンで再生位置のほうを選べます。04 見た目の演出欄にも、全体の設定だと分かる説明を足しました。
自作メソッドの試し描画の表示:標準の重いメソッドの4倍を超えても、実測が床(1ms/4ms)より軽ければ合格です。その場合は「ただ、1回の描画が約0.4ミリ秒と軽いので問題なし」と理由が付きます。