93 lines
2.1 KiB
TOML
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"]
|
|
|