Projects
Adventurer Guild
冒険者を探索地へ配分し、Gold・宝箱・武器・Named Adventurerを積み上げながら、複数地域を並列で育てていく放置型RPGです。
3D Shogi Action
9×9の将棋盤で歩兵を直接操作し、倒した敵を味方へ変えながら第九局の王まで進む3Dアクションゲームです。
Tidal Guard
8×8の海岸グリッドで敵の攻撃予告を読み、3機のメカを動かして沿岸都市を守るターン制戦術ゲームです。
Grimoire Rewrite
白蝕で失われた世界を、魔導書と編纂術で書き戻しながら進む縦持ちの放置育成RPGです。
Easy Copy Errors
エディタの診断情報や失敗したVitest結果を、AIへ渡しやすい文脈付きテキストへ整形してコピーするVS Code拡張です。
Spex
Google Sheetsの既存UIを置き換えず、Alt / OptionからKeyTipsでキーボード操作できるChrome拡張です。
Development Notes
Blenderの3DアセットをPythonコードで管理する
3D将棋とSlime Mercenariesで、.blendを正本にせずBlender Pythonから盤・キャラクター・GLB/FBXを再生成する設計。
Blender Pythonでキャラクターを量産する:Base・Socket・Parts・Definition
共通Body、安定Socket、再利用Part、Form Definitionから多数のキャラクターGLBを生成する構成。
Blender Pythonでゲーム用アニメーションをコード生成する
Root MotionをGameplayから分離し、Rig・Pose・frame区間・secondary motion・seamをPythonで管理する方法。
BlenderからGLB / FBXへ:ゲーム用3DアセットのExport契約を固定する
Node、Socket、Bone、Axis、Scale、export対象をコードで固定し、BrowserとUnityへ安全に渡すasset pipeline。
Blender生成3Dモデルを自動テストする:Bounds・Silhouette・Motion QA
Export済みGLBの再import、形状比率、親子構造、床貫通、Root Motion、turntableまでを検証する3D asset QA。
Chrome拡張のショートカットは event.key だけで作らない
macOS Optionでevent.keyがDeadや特殊文字になる問題と、日本語IMEのcompositionを壊さない入力所有権の設計。
Google Sheetsの選択・編集・フォーカスをどう見分けるか
非同期command完了が新しいユーザー操作のfocusを奪わないよう、selection・DOM focus・result UI ownershipを分離する。
Google Sheetsのセルまでダークモード化する:Canvas描画を追いかけた実装記録
Canvas描画されたSheets gridを、ユーザーが設定したセル色を壊さずダークモード化するまでの実装記録。
外部Webアプリを操作するE2Eは、イベントではなく結果を検証する
Google Sheets向け拡張で、synthetic eventの送信成功とユーザーから見た操作成功を分離したE2E設計。
Excel互換とSheets準拠のキーマップを共存させる
Canonical Catalog・Execution Capability・Runtime Bindingを分離し、Microsoft公式の外部inventoryでcoverageを監査する。