- a panic writes benilla-config/Diagnostics/crash-<time>.txt with the build id, the location, a backtrace and the last 200 log lines, and names the file as its last line, so a bug report can attach it (2266) - every wire-count allocation hint is capped and the compressed update object reads through the cursor, so a malformed packet can no longer ask for gigabytes (2266) - the 23 in-world run conditions are one set, the 45 probe variables one registry, the install-gated tests say when they skip, and every gate is timed (2266) - one workspace-level lint allowance replaces 413 per-site attributes, and the decision corpus gets a lint in the gate (2266) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
45 lines
2.0 KiB
TOML
45 lines
2.0 KiB
TOML
[package]
|
|
name = "benilla-formats"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "WoW 1.12.1 asset-format adapters (MPQ/BLP/DBC/ADT/WDT) and the benilla-extract CLI"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
# The dev/player seam (0026, built by 1173/1174). Default-on, so every normal build keeps the
|
|
# instruments; `--no-default-features` is the player build. Here it gates exactly one thing:
|
|
# `install::candidates`' project-folder probe, which bakes THIS source tree's absolute path
|
|
# (decision 1175). EVERY dependent must take this crate with `default-features = false` and
|
|
# re-export `dev`, or feature unification puts `/Users/…` back into a player binary —
|
|
# `scripts/gates.sh`'s `--no-default-features` line is what catches getting that wrong.
|
|
default = ["dev"]
|
|
dev = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
clap.workspace = true
|
|
benilla-adt = { path = "../benilla-adt" }
|
|
benilla-bytes = { path = "../benilla-bytes" }
|
|
benilla-dbc = { path = "../benilla-dbc" }
|
|
benilla-m2 = { path = "../benilla-m2" }
|
|
benilla-mpq = { path = "../benilla-mpq" }
|
|
benilla-blp = { path = "../benilla-blp" }
|
|
# PNG only, matching every sibling crate. `image`'s DEFAULT features enable `avif`, which drags
|
|
# in ravif -> rav1e -> av-scenechange: a complete AV1 video ENCODER, monomorphized into this
|
|
# crate, for the two calls below that both write a PNG. Cutting it takes this crate's graph from
|
|
# 112 to 48 dependencies and the workspace's from 499 to 466.
|
|
#
|
|
# It is NOT why `cargo play` used to fail to link -- that was rustc #86049, fixed by `lto = "off"`
|
|
# in `[profile.play]` (decision 1698). The tempting story is that rav1e's monomorphized bulk is
|
|
# what tripped it; the evidence says otherwise, since 2 of the 7 poisoned codegen units held only
|
|
# our own DBC catalog loaders. Two independent wins, and this is the smaller one. Decision 1698.
|
|
image = { version = "0.25", default-features = false, features = ["png"] }
|
|
benilla-wdt = { path = "../benilla-wdt" }
|
|
benilla-wmo = { path = "../benilla-wmo" }
|
|
|
|
[dev-dependencies]
|
|
glam = "0.31"
|