Files

93 lines
2.1 KiB
TOML

[package]
name = "winiterm"
version = "0.1.0"
edition = "2024"
[lib]
name = "winiterm"
path = "src/lib.rs"
[[bin]]
name = "winiterm"
path = "src/main.rs"
[[bin]]
name = "bench_process"
path = "src/bin/bench_process.rs"
[[bin]]
name = "bench_render"
path = "src/bin/bench_render.rs"
[dependencies]
# Windows API — PTY (ConPTY), process management, DWM transparency
windows = { version = "0.58", features = [
"Win32_Foundation",
"Win32_Security",
"Win32_System_Console",
"Win32_System_Threading",
"Win32_System_Pipes",
"Win32_Graphics_Dwm",
"Win32_UI_WindowsAndMessaging",
]}
# Error handling
thiserror = "2"
# Logging
log = "0.4"
env_logger = "0.11"
# Compact bitfield attributes for terminal cells
bitflags = "2"
# Window creation and OS event loop
winit = "0.30"
# GPU rendering (DirectX 12 on Windows via wgpu)
wgpu = { version = "22", features = ["wgsl"] }
# Minimal async executor for wgpu initialisation
pollster = "0.3"
# Font discovery (scans C:\Windows\Fonts, pure Rust)
fontdb = "0.16"
# Font rendering: glyph rasterisation + COLR emoji (pure Rust)
swash = "0.1"
# Cast structs to byte slices for GPU buffer uploads
bytemuck = { version = "1", features = ["derive"] }
# Lua 5.4 scripting — config + plugin/event system (Phase 5 & 6)
mlua = { version = "0.10", features = ["lua54", "vendored"] }
# Filesystem watcher for Lua config hot-reload (Phase 5)
notify = "6"
# System tray icon for persistence mode (Phase 11)
tray-icon = "0.24"
# Context menu for the system tray (right-click Show / Quit)
muda = "0.19"
# Image decoding for Kitty Graphics Protocol (Phase 9)
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
# base64 decoding for Kitty image data (Phase 9)
base64 = "0.22"
# Clipboard read/write for Ctrl+Shift+V paste
arboard = "3"
# Unicode character display-width (0=combining, 1=normal, 2=wide/CJK)
unicode-width = "0.2"
[features]
default = []
# Enable per-frame GPU timing instrumentation overlay (Phase 12)
render_timing = []
# Strip all logging in release builds
production = ["log/release_max_level_off"]