[package] name = "cb-render-html" edition.workspace = true version.workspace = true license-file.workspace = true [features] # ADR-0009: the JS harness is exposed to cb-play's tests behind a feature, # so the engine stays a dev cost there too and never a shipped one. js-harness = ["dep:quick-js"] # ADR-0007 Decision 1: the browser is the renderer, so the rendering path # has **no third-party dependencies at all** beyond what the game already # carries. Adding one here needs an argument against ADR-0007 §Decision 3. [dependencies] cb-kernel.workspace = true games-ground.workspace = true # ADR-0009: an EMBEDDED engine, not `node` — CI runs on rust:1.97, which # has no node, so requiring one would make our build acquire a runtime # nobody audits while it scored zero on the only instrument that governs # dependencies. Optional, and never in the shipped-runtime configuration: # AM-4a measures 157,202 against 161,000 and has no room for it. quick-js = { version = "0.4", optional = true } [dev-dependencies] # The coverage gate walks the serialized view; nothing else needs it. serde_json.workspace = true # CB-WP-0016 T03 drives a real bot game to render at real decision points. # A workspace crate, so AM-4 is unmoved: it counts third-party code. # `scenarios` carries GroundState::setup, which the walk needs to deal a game. cb-game-runtime = { workspace = true, features = ["scenarios"] } games-ground = { workspace = true, features = ["scenarios"] } quick-js = "0.4" [lints] workspace = true