Copperlace Documentation
This directory documents Copperlace’s current renderer behavior and
configuration contract. Treat these documents as the working specification for
the behavior currently implemented in rust-core.
Contents
-
Capabilities describes what the renderer can produce and how rendering resolves rules, choices, bindings, and context defaults.
-
Configuration describes the accepted configuration shape and how each supported value type is interpreted.
-
Structured output describes object-valued rendering, JSON output, CLI mode inference, and wrapper structured APIs.
-
Errors and API behavior describes public Rust entry points and render error conditions.
-
Packaging and language wrappers describes build workflows, distributable artifacts, and Python/Java wrapper surfaces.
-
Release process describes how to prepare, publish, and verify Copperlace package releases.
Documented Renderer Surface
The behavior documented here is exported by the Rust library in
rust-core/src/lib.rs:
-
RuleSet::from_config -
RuleSet::render_rule -
RuleSet::render_rule_inferred -
RuleSet::render_rule_structured -
render_config_rule -
render_str_inferred/render_file_inferred -
render_config_rule_structured -
RenderError -
configuration file and string helper APIs
The package also builds and packages:
-
a
copperlaceCLI withrender --config <path> --rule <name>; -
a C ABI dynamic library with an opaque ruleset handle API;
-
Python wheels backed by the native library;
-
Java API, all-platform, and platform native JARs.