[package]
name = "emulator"
version = "0.3.0"
edition.workspace = true
authors.workspace = true

[[bin]]
name = "dsa"
path = "src/main.rs"

[lib]
name = "dsa"
path = "src/lib.rs"

[dev-dependencies]
criterion = { version = "0.5.0", features = ["html_reports"] }

[dependencies]
arc-swap = "1.8.2"
clap = { version = "4.5.60", features = ["derive"] }
fxhash = "0.2.1"
ron = "0.12.0"
serde = { version = "1.0.228", features = ["derive"] }

common = { path = "../common" }
egui = "0.33.3"
eframe = "0.33.3"
egui_tiles = "0.14.1"
egui_code_editor = "0.2.21"
egui_file = "0.25.0"
dirs = "6.0.0"
assembler = { path = "../assembler" }
egui_extras = "0.33.3"

[features]
default = ["mainstore-prealloc"]

# Memory Bank Features
mainstore-bulkalloc = [] # Fastest for Writes
mainstore-prealloc = [] # Fastest for Reads
mainstore-stackarray = [] # Slightly outperforms ArrayMap but requires a large stack
mainstore-arraymap = [] # Simple implementation
mainstore-hashmap = [] # Old implementation, no raw pointers. Uses a hashmap
