[package]
exclude = ["tests/", "benches/", "docs/", ".github/", ".pmat/", "target/", ".profraw", ".profdata", ".vscode/", ".idea/", "proptest-regressions/"]
name = "aprender-present-core"
description = "Core types and traits for Presentar UI framework"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[lib]
name = "presentar_core"

[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
# NOTE: trueno (=aprender-compute) removed (APR-MONO self-containment): a terminal-UI
# primitives crate must not depend on the SIMD compute foundation — present-core→trueno
# closed compute→gpu→present-core→compute (and …→simulate→present-core→…) cycles. The
# never-enabled `simd` feature's trueno-backed helpers are dropped; the always-on
# auto-vectorized f64 ComputeBlocks (batch_sum_f64, …) remain.
provable-contracts-macros = "0.3"

[build-dependencies]
serde = { workspace = true }
serde_yaml_ng = { workspace = true }

[features]
# PROBAR-SPEC-009: Brick Architecture is MANDATORY, not optional
# All widgets MUST implement Brick trait - tests define interface
# CB-081: Brick types defined natively (no jugar-probar prod dep)
default = []

[dev-dependencies]
proptest = { workspace = true }
criterion = { workspace = true }

[[bench]]
name = "benchmarks"
harness = false

[[bench]]
name = "layout"
harness = false

[[bench]]
name = "compute_blocks"
harness = false

[lints]
workspace = true
