- GenericPluginBoxを実装し、任意のプラグインBoxを動的に生成可能に - FileBox決め打ちコードを削除(設計思想違反の解消) - CURRENT_TASK.mdを更新し、nyash.toml v2対応の必要性を明確化 - 問題: プラグインテスターとNyash本体が古い単一Box型形式のまま 次のステップ: 1. nyash.tomlをv2形式(マルチBox型)に更新 2. プラグインテスターをv2対応に 3. Nyash本体のレジストリをv2対応に 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2.7 KiB
2.7 KiB
🎯 現在のタスク (2025-08-19 更新)
🔥 最優先タスク:nyash.toml v2対応
📍 問題の本質
nyash.toml v2(マルチBox型)に誰も対応していない!
- プラグインテスター - 古い単一Box型前提
- Nyash本体のレジストリ - 古い単一Box型前提
- 結果 - プラグインが正しく読み込まれない
🎯 正しい実装順序
-
プラグインテスターをnyash.toml v2対応にする
- マルチBox型プラグイン対応
- nyash.tomlから型情報読み取り
-
プラグインテスターで動作確認
- FileBoxプラグインが正しく認識されるか
- メソッド情報が正しく取得できるか
-
Nyash本体のレジストリに移植
- プラグインテスターの実装をコピー
- 汎用プラグインBox生成が動作
📝 nyash.toml v2形式(確認)
[libraries]
"libnyash_filebox_plugin.so" = {
boxes = ["FileBox"],
path = "./target/release/libnyash_filebox_plugin.so"
}
[libraries."libnyash_filebox_plugin.so".FileBox]
type_id = 6
[libraries."libnyash_filebox_plugin.so".FileBox.methods]
birth = { method_id = 0 }
open = { method_id = 1, args = ["path", "mode"] }
read = { method_id = 2 }
write = { method_id = 3, args = ["data"] }
close = { method_id = 4 }
fini = { method_id = 4294967295 }
🚨 現在の間違った形式
[plugins]
FileBox = "./target/release/libnyash_filebox_plugin.so" # ← 古い形式!
[plugins.FileBox] # ← パーサーエラーの原因
type_id = 6
🚀 Phase 9.75h-0: プラグインシステム完全統一(進行中)
進捗状況
- ✅ 設計方針決定(nyash.toml中心設計)
- ✅ FileBox決め打ちコード削除完了
- ✅ 汎用プラグインBox(GenericPluginBox)実装完了
- 🔄 nyash.toml v2対応が必要!
✅ 完了したタスク(要約)
汎用プラグインBox生成システム ✅
src/bid/generic_plugin_box.rs実装完了- FileBox決め打ちコードを削除
new FileBox()が汎用システムで動作する仕組み完成
Phase 9.75g-0 BID-FFI Plugin System ✅
- プラグインシステム基盤完成
- plugin-tester診断ツール実装
Phase 8.6 VM性能改善 ✅
- VM 50.94倍高速化達成!
📋 技術詳細・参考資料
nyash.toml v2仕様
- config/nyash_toml_v2.rs
- マルチBox型プラグイン対応
- ライブラリベースの設定形式
開発計画
最終更新: 2025年8月19日
次回マイルストーン: プラグインテスターのnyash.toml v2対応