d08bee1361
Stage-10 editor-UX follow-up, second half of in-editor script authoring: - "✏ Edit" button on the Script inspector section (enabled once a source is assigned) and double-click on any script in the Project panel open the .rhai in the user's editor. Non-script assets double-click through xdg-open. - Resolution order: the new External Editor preference command (spawned detached as `<command> <file>`, flags allowed), else $VISUAL/$EDITOR in a new Terminal-panel tab (TUI editors work in-editor via the existing PTY widget), else xdg-open. - New `editor.external_editor` settings section (ExternalEditorPrefs) registered by EditorState, persisted with the preferences file, with a rich row in the Preferences window; registration covered by a unit test. Editor crate now depends on serde directly for its own sections. Saved edits flow back through the file watcher's live reload, including into a playing scene. GUI piece — needs an eye-check before promotion. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
38 lines
1.2 KiB
TOML
38 lines
1.2 KiB
TOML
[package]
|
|
name = "oxide-editor"
|
|
description = "Oxide Engine — in-engine editor"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[[bin]]
|
|
name = "oxide-editor"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
oxide-engine = { path = "../engine" }
|
|
oxide-physics = { path = "../physics" }
|
|
oxide-script = { path = "../script" }
|
|
log.workspace = true
|
|
env_logger.workspace = true
|
|
anyhow.workspace = true
|
|
egui.workspace = true
|
|
egui-wgpu.workspace = true
|
|
egui-winit.workspace = true
|
|
egui_dock.workspace = true
|
|
# Editor preferences file I/O reads/writes the same RON shape `Settings`
|
|
# exports; the engine already pulls `ron` in, the editor now does too.
|
|
ron.workspace = true
|
|
# Editor-owned settings sections (e.g. the External Editor preference) derive
|
|
# their own Serialize/Deserialize for the Settings store.
|
|
serde.workspace = true
|
|
|
|
# PTY-backed terminal panel (Stage 10): run interactive/TUI programs — shells,
|
|
# REPLs, and AI-agent CLIs like `claude` — inside the editor. `portable-pty`
|
|
# opens a real pseudo-terminal (cross-platform: Linux now, Windows later);
|
|
# `vt100` parses the program's byte stream into a screen grid the panel renders.
|
|
portable-pty = "0.9"
|
|
vt100 = "0.16"
|