|
|
21eceed324
|
🚀 feat: P2PBox/IntentBox実装 - NyaMesh通信基盤の第一歩
## 🎯 概要
NyaMeshプロジェクトの基盤となるP2PBox/IntentBoxを実装。
シンプルなsend/onインターフェースで通信ノード間のメッセージングを実現。
## ✨ 新機能
- **IntentBox**: 通信世界を定義するコンテナ
- Transportトレイトで通信方式を抽象化
- LocalTransport実装(プロセス内通信)
- 将来のWebSocket/SharedMemory拡張に対応
- **P2PBox**: 通信ノードの実装
- send(intent, data, target) - 特定ノードへ送信
- broadcast(intent, data) - 全ノードへ配信
- on(intent, callback) - リスナー登録
- off(intent) - リスナー解除
- 同一intentに複数リスナー登録可能
## 🔧 技術詳細
- Arc<Mutex>パターンで完全なスレッドセーフティ
- Arc<P2PBoxInner>構造でBox型システムとの整合性確保
- インタープリター完全統合(new/メソッド呼び出し)
## 🧪 テスト
- test_p2p_basic.nyash - 基本機能検証
- test_p2p_message_types.nyash - 各種データ型対応
- test_p2p_edge_cases.nyash - エラー処理
- test_p2p_callback_demo.nyash - 実用例
## 📝 TODO (将来拡張)
- WebSocket/SharedMemoryトランスポート
- コールバック実行(MethodBox統合待ち)
- ノード登録管理システム
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-11 05:11:52 +09:00 |
|
|
|
26ee840f88
|
🚀 feat: Rust風トレイトベース関数オーバーロード完全実装 + 包括的ドキュメント更新
## 🎯 AI大相談会による設計決定実現
- Claude(司会) + Gemini(設計思想) + ChatGPT(技術実装)による史上初の3AI協働設計
- 完全合意による「Rust風トレイトシステム採用」決定を実装
## ✨ 新機能実装
- NyashAdd/Sub/Mul/Divトレイト定義(Rust std::ops準拠)
- 基本Box型(IntegerBox, StringBox, BoolBox)への演算子トレイト実装
- 静的・動的ハイブリッドディスパッチシステム構築
- OperatorResolverによる高性能演算子解決
- インタープリターでの新トレイトシステム統合
## 📚 ドキュメント更新
- LANGUAGE_REFERENCE_2025.md作成 - 文法・予約語・Box構文完全版
- AI大相談会記録(sessions/ai_consultation_overload_design_20250810.md)
- CURRENT_TASK.md更新 - 最新成果反映
## 🧪 テスト・検証
- test_new_operators.nyash - 全演算子動作確認完了
- 整数演算、文字列操作、混合型フォールバック全て正常動作
🎉 Everything is Box哲学とRustトレイトシステムの完璧な融合達成!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-11 03:25:49 +09:00 |
|
|
|
750543be7c
|
🔧 refactor: すべてのBoxをArc<Mutex>パターンで統一
CopilotのBox実装を私たちのArc<Mutex>パターンで統一:
- BufferBox: Arc<Mutex<Vec<u8>>>で内部可変性を実現
- FileBox: Arc<Mutex<File>>でファイルハンドル管理
- JSONBox: Arc<Mutex<Value>>でJSON値を保持
- HttpClientBox: Arc<Mutex<Client>>でHTTPクライアント管理
- StreamBox: Arc<Mutex>でストリームバッファと位置を管理
- RegexBox: Arc<Regex>で軽量ラッパー実装
各Boxに実用的なメソッドも追加:
- BufferBox: write, read, readAll, clear, length, append, slice
- FileBox: read, write, exists, delete, copy
- JSONBox: parse, stringify, get, set, has, keys
- HttpClientBox: get, post, put, delete, request
- StreamBox: write, read, position, length, reset
- RegexBox: test, find, findAll, replace, split
interpreterに新Box用のメソッド実行を追加:
- data_methods.rs: BufferBox, JSONBox, RegexBox
- network_methods.rs: HttpClientBox, StreamBox
これでコードベース全体が一貫性のあるArc<Mutex>パターンで統一されました!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-10 13:03:42 +09:00 |
|
|
|
e7f6666917
|
🎨 feat: EguiBox GUI開発基盤完成 + パーサー無限ループバグ修正
## 🚀 主要機能追加
### EguiBox - GUI開発基盤
- Windows版GUIメモ帳アプリ (simple_notepad.rs, nyash_notepad_jp.rs)
- 日本語フォント対応 (NotoSansJP-VariableFont_wght.ttf)
- BMPアイコン表示システム (c_drive_icon.bmp)
- Windowsエクスプローラー風アプリ (nyash_explorer.rs)
- アイコン抽出システム (test_icon_extraction.rs)
### ビジュアルプログラミング準備
- NyashFlow プロジェクト設計完成 (NYASHFLOW_PROJECT_HANDOVER.md)
- ビジュアルノードプロトタイプ基盤
- WebAssembly対応準備
## 🔧 重大バグ修正
### パーサー無限ループ問題 (3引数メソッド呼び出し)
- 原因: メソッドパラメータ解析ループの予約語処理不備
- 修正: src/parser/mod.rs - 非IDENTIFIERトークンのエラーハンドリング追加
- 効果: "from"等の予約語で適切なエラー報告、ハング→瞬時エラー
### MapBoxハング問題調査
- MapBox+3引数メソッド呼び出し組み合わせ問題特定
- バグレポート作成 (MAPBOX_HANG_BUG_REPORT.md)
- 事前評価vs必要時評価の設計問題明確化
## 🧹 コード品質向上
- box_methods.rs を8モジュールに機能分離
- 一時デバッグコード全削除 (eprintln\!, unsafe等)
- 構文チェック通過確認済み
## 📝 ドキュメント整備
- CLAUDE.md にGUI開発セクション追加
- Gemini/ChatGPT先生相談ログ保存 (sessions/)
- 段階的デバッグ手法確立
## 🎯 次の目標
- must_advance\!マクロ実装 (無限ループ早期検出)
- コマンド引数でデバッグ制御 (--debug-fuel)
- MapBox問題の根本修正
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-10 07:54:03 +09:00 |
|