## 🚀 主要機能追加 ### 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>
141 lines
2.9 KiB
TOML
141 lines
2.9 KiB
TOML
[package]
|
||
name = "nyash-rust"
|
||
version = "0.1.0"
|
||
edition = "2021"
|
||
authors = ["Claude Code <claude@anthropic.com>"]
|
||
description = "Everything is Box in Rust - Ultimate Memory Safe Nyash Implementation"
|
||
license = "MIT"
|
||
repository = "https://github.com/user/nyash"
|
||
keywords = ["language", "interpreter", "box", "memory-safe", "rust"]
|
||
categories = ["development-tools::parsing", "interpreters"]
|
||
|
||
[lib]
|
||
name = "nyash_rust"
|
||
path = "src/lib.rs"
|
||
crate-type = ["cdylib", "rlib"]
|
||
|
||
[[bin]]
|
||
name = "nyash"
|
||
path = "src/main.rs"
|
||
|
||
[[bin]]
|
||
name = "simple_notepad"
|
||
path = "examples/simple_notepad.rs"
|
||
|
||
[[bin]]
|
||
name = "nyash_notepad"
|
||
path = "examples/simple_notepad_v2.rs"
|
||
|
||
[[bin]]
|
||
name = "nyash_notepad_ascii"
|
||
path = "examples/simple_notepad_ascii.rs"
|
||
|
||
[[bin]]
|
||
name = "debug_notepad"
|
||
path = "examples/debug_notepad.rs"
|
||
|
||
[[bin]]
|
||
name = "nyash_notepad_jp"
|
||
path = "examples/nyash_notepad_jp.rs"
|
||
|
||
[[bin]]
|
||
name = "nyash_explorer"
|
||
path = "examples/nyash_explorer.rs"
|
||
|
||
[[bin]]
|
||
name = "nyash_explorer_icons"
|
||
path = "examples/nyash_explorer_with_icons.rs"
|
||
|
||
[[example]]
|
||
name = "visual_node_prototype"
|
||
path = "development/egui_research/experiments/visual_node_prototype.rs"
|
||
|
||
[[bin]]
|
||
name = "test_icon_extraction"
|
||
path = "examples/test_icon_extraction.rs"
|
||
|
||
[dependencies]
|
||
# エラーハンドリング
|
||
thiserror = "2.0"
|
||
anyhow = "1.0"
|
||
|
||
# シリアライゼーション(将来のAST永続化用)
|
||
serde = { version = "1.0", features = ["derive"] }
|
||
serde_json = "1.0"
|
||
|
||
# コマンドライン(将来の CLI用)
|
||
clap = { version = "4.0", features = ["derive"] }
|
||
|
||
# 並行処理(GlobalBox用)
|
||
lazy_static = "1.5"
|
||
once_cell = "1.20"
|
||
|
||
# デバッグ・ログ
|
||
log = "0.4"
|
||
env_logger = "0.11"
|
||
|
||
# 日時処理
|
||
chrono = "0.4"
|
||
|
||
# WebAssembly対応
|
||
wasm-bindgen = "0.2"
|
||
console_error_panic_hook = "0.1"
|
||
js-sys = "0.3"
|
||
|
||
# GUI フレームワーク
|
||
egui = "0.29"
|
||
eframe = { version = "0.29", default-features = false, features = ["default_fonts", "glow"] }
|
||
egui_extras = { version = "0.29", features = ["image"] }
|
||
image = { version = "0.25", features = ["png", "ico"] }
|
||
|
||
# Windows API
|
||
[target.'cfg(windows)'.dependencies]
|
||
windows = { version = "0.60", features = [
|
||
"Win32_Foundation",
|
||
"Win32_Storage_FileSystem",
|
||
"Win32_UI_Shell",
|
||
"Win32_UI_WindowsAndMessaging",
|
||
"Win32_System_Com",
|
||
"Win32_Graphics_Gdi",
|
||
] }
|
||
|
||
[dependencies.web-sys]
|
||
version = "0.3"
|
||
features = [
|
||
"console",
|
||
"Document",
|
||
"Element",
|
||
"HtmlElement",
|
||
"Window",
|
||
"DomTokenList",
|
||
"CssStyleDeclaration",
|
||
"HtmlCanvasElement",
|
||
"CanvasRenderingContext2d",
|
||
"ImageData",
|
||
"TextMetrics",
|
||
"CanvasGradient",
|
||
"CanvasPattern",
|
||
"Path2d",
|
||
]
|
||
|
||
[dev-dependencies]
|
||
# テスト・ベンチマークツール
|
||
criterion = "0.5"
|
||
|
||
# Benchmark configuration (will be added later)
|
||
# [[bench]]
|
||
# name = "box_performance"
|
||
# harness = false
|
||
|
||
[profile.release]
|
||
# 最適化設定
|
||
opt-level = 3
|
||
lto = true
|
||
codegen-units = 1
|
||
panic = "abort"
|
||
|
||
[profile.dev]
|
||
# 開発用設定
|
||
opt-level = 0
|
||
debug = true
|