[package]
name = "nightshade-editor"
version = "0.38.0"
authors = ["Matthew Berger <matthewjordanberger@gmail.com>"]
description = "Interactive map editor for the Nightshade game engine"
homepage = "https://github.com/matthewjberger/nightshade"
repository = "https://github.com/matthewjberger/nightshade"
keywords = ["gamedev", "engine", "editor", "ecs", "wgpu"]
license = "MIT OR Apache-2.0"
edition = "2024"
rust-version = "1.92"

[features]
default = ["agent"]
# The in-process MCP bridge (HTTP endpoint plus the page relay websocket).
# Compiled in by default but runtime gated: the sockets open only via the
# View menu toggle or the --mcp flag.
agent = [
    "dep:nightshade",
    "dep:enum2schema",
    "dep:tokio",
    "dep:tokio-tungstenite",
    "dep:futures-util",
    "dep:serde",
    "dep:serde_json",
]

[dependencies]
wry = "0.55"
winit = "0.30"
rust-embed = { version = "8", features = ["interpolate-folder-path"] }
tiny_http = "0.12"
dirs = "6"
nightshade = { version = "0.38", path = "../../../crates/nightshade", features = [
    "editor-protocol-agent",
], optional = true }
enum2schema = { version = "0.1", optional = true }
tokio = { version = "1", features = [
    "rt-multi-thread",
    "net",
    "sync",
    "time",
    "process",
    "io-util",
], optional = true }
tokio-tungstenite = { version = "0.24", optional = true }
futures-util = { version = "0.3", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }

[build-dependencies]
ureq = "3"
flate2 = "1"
tar = "0.4"
sha2 = "0.10"
