Files
brahman/crates/modules/mirada/mirada-layout/Cargo.toml
T
sergio 1c6aafbc24 feat(mirada): mirada-layout no_std — primer núcleo compartible con renaser
mirada-layout (el motor de teselado del compositor) pasa a `no_std +
alloc` para poder compilarse también en bare-metal — es el primer
crate-núcleo que brahman y renaser compartirán.

- `#![cfg_attr(not(test), no_std)]` + `extern crate alloc`: usa
  `alloc::{vec, collections::BTreeMap}` en vez de `std`.
- Matemática de punto flotante vía `libm` (`sqrt`/`ceil`/`round` viven
  en `std`, no en `core`).
- `serde` pasa a feature opcional: los consumidores Linux
  (mirada-protocol/brain) la activan; un consumidor bare-metal no
  necesita (de)serializar el layout.
- Deps declaradas directas (no `workspace = true`): un núcleo que
  cruzará fronteras de workspace se mantiene autocontenido.

Verificado: `cargo build --target x86_64-unknown-none` compila;
32 tests verdes; mirada-protocol/brain sin regresión.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 14:37:03 +00:00

26 lines
1.1 KiB
TOML

[package]
name = "mirada-layout"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
publish.workspace = true
description = "mirada — motor de teselado del compositor Wayland: reparte la pantalla entre ventanas según el modo de layout. Agnóstico de Wayland y de smithay."
[dependencies]
# Deps declaradas directas (no `workspace = true`): mirada-layout es un
# crate-núcleo compartido entre dos workspaces de Cargo —brahman y
# renaser— así que mantiene sus dependencias autocontenidas.
#
# `libm`: `sqrt`/`ceil`/`round` viven en `std`, no en `core`; este crate
# es `no_std`, así que la matemática de punto flotante pasa por `libm`.
libm = "0.2"
# `serde` es opcional: el motor de teselado no necesita (de)serializar
# para funcionar. Los consumidores Linux (mirada-protocol/brain) activan
# la feature; el kernel bare-metal de renaser no. `default-features =
# false` evita arrastrar `std` aun con la feature activa.
serde = { version = "1", optional = true, default-features = false, features = ["derive", "alloc"] }
[features]
serde = ["dep:serde"]