Modulesยง
- config ๐
- This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.
Structsยง
- Args ๐
- Arrow
Label ๐ - Back
Edge ๐Plan - Bezier
Segment ๐ - Cell
Line ๐ - CuCompact
String - CuError
- Common copper Error type.
- Detour
Label ๐Slot - Duration
Stats ๐ - Edge
Group ๐Key - Edge
LogStats ๐ - Edge
Stats ๐Key - Legend
Metrics ๐ - LogStats ๐
- LogStats
Index ๐ - Node
Bounds ๐ - Node
Render ๐ - Null
Backend ๐ - Perf
Stats ๐ - Port
Anchor ๐Collector - Render
Edge ๐ - Resource
Owner ๐ - Resource
Table ๐ - Section
Layout ๐ - Section
Ref ๐ - Straight
Label ๐Slot - SvgWriter ๐
- Table
Cell ๐ - Table
Renderer ๐
Enumsยง
- Font
Family ๐ - Resource
Usage ๐ - Table
Node ๐ - Text
Align ๐ - Unified
LogType - Defines the types of what can be logged in the unified logger.
Constantsยง
- BACKGROUND_
COLOR ๐ - BACK_
EDGE_ ๐DUP_ SPACING - BACK_
EDGE_ ๐NODE_ GAP - BACK_
EDGE_ ๐SPAN_ EPS - BACK_
EDGE_ ๐STACK_ SPACING - BORDER_
COLOR ๐ - BOX_
SHAPE_ ๐PADDING - BRIDGE_
HEADER_ ๐BG - CELL_
LINE_ ๐SPACING - CELL_
PADDING ๐ - CLUSTER_
COLOR ๐ - CLUSTER_
MARGIN ๐ - COMPACT_
STRING_ CAPACITY - CONFIG_
FONT_ ๐SIZE - CONFIG_
WRAP_ ๐WIDTH - COPPER_
GITHUB_ ๐URL - COPPER_
LINK_ ๐COLOR - COPPER_
LOGO_ ๐SVG - DETOUR_
LABEL_ ๐CLEARANCE - DIM_
GRAY ๐ - EDGE_
COLOR_ ๐ORDER - EDGE_
COLOR_ ๐PALETTE - EDGE_
FONT_ ๐SIZE - EDGE_
HITBOX_ ๐OPACITY - EDGE_
HITBOX_ ๐STROKE_ WIDTH - EDGE_
HOVER_ ๐POINT_ RADIUS - EDGE_
HOVER_ ๐POINT_ STROKE_ WIDTH - EDGE_
LABEL_ ๐FIT_ RATIO - EDGE_
LABEL_ ๐HALO_ WIDTH - EDGE_
LABEL_ ๐LIGHTEN - EDGE_
LABEL_ ๐OFFSET - EDGE_
PORT_ ๐HANDLE - EDGE_
STUB_ ๐LEN - EDGE_
STUB_ ๐MIN - EDGE_
TOOLTIP_ ๐CSS - FONT_
FAMILY ๐ - FONT_
SIZE ๐ - GRAPH_
MARGIN ๐ - HEADER_
BG ๐ - INTERMEDIATE_
X_ ๐EPS - LAYOUT_
SCALE_ ๐X - LAYOUT_
SCALE_ ๐Y - LEGEND_
BOTTOM_ ๐PADDING - LEGEND_
CORNER_ ๐RADIUS - LEGEND_
FONT_ ๐SIZE - LEGEND_
ITEMS ๐ - LEGEND_
LINK_ ๐GAP - LEGEND_
LOGO_ ๐SIZE - LEGEND_
PADDING ๐ - LEGEND_
ROW_ ๐GAP - LEGEND_
SECTION_ ๐GAP - LEGEND_
SWATCH_ ๐SIZE - LEGEND_
TEXT_ ๐WIDTH_ FACTOR - LEGEND_
TITLE_ ๐SIZE - LEGEND_
VERSION_ ๐GAP - LEGEND_
WITH_ ๐LOGO_ GAP - LIGHT_
GRAY ๐ - LINUX_
RESOURCE_ ๐SLOT_ NAMES - LOGSTATS_
SCHEMA_ ๐VERSION - MODULE_
SEPARATOR ๐ - MODULE_
TRUNC_ ๐MARKER - MONO_
FONT_ ๐FAMILY - OUTER_
BORDER_ ๐WIDTH - PERF_
TITLE_ ๐BG - PLACEHOLDER_
TEXT ๐ - PORT_
DOT_ ๐RADIUS - PORT_
HEADER_ ๐FONT_ SIZE - PORT_
LINE_ ๐GAP - PORT_
VALUE_ ๐FONT_ SIZE - RESOURCE_
EXCLUSIVE_ ๐BG - RESOURCE_
LEGEND_ ๐ITEMS - RESOURCE_
LEGEND_ ๐TITLE - RESOURCE_
SHARED_ ๐BG - RESOURCE_
TABLE_ ๐GAP - RESOURCE_
TABLE_ ๐MARGIN - RESOURCE_
TITLE_ ๐BG - RESOURCE_
UNUSED_ ๐BG - RESOURCE_
UNUSED_ ๐TEXT - SECTION_
SPACING ๐ - SINK_
HEADER_ ๐BG - SOURCE_
HEADER_ ๐BG - TASK_
HEADER_ ๐BG - TOOLTIP_
BG ๐ - TOOLTIP_
BORDER ๐ - TOOLTIP_
BORDER_ ๐WIDTH - TOOLTIP_
FONT_ ๐SIZE - TOOLTIP_
LINE_ ๐GAP - TOOLTIP_
OFFSET_ ๐X - TOOLTIP_
OFFSET_ ๐Y - TOOLTIP_
PADDING ๐ - TOOLTIP_
RADIUS ๐ - TOOLTIP_
TEXT ๐ - TYPE_
FONT_ ๐SIZE - TYPE_
WRAP_ ๐WIDTH - VALUE_
BORDER_ ๐WIDTH
Traitsยง
- Copper
List Tuple - A CopperListTuple needs to be encodable, decodable and fixed size in memory.
- CuMsg
Metadata Trait - Key metadata piece attached to every message in Copper.
- CuPayload
RawBytes - Provides per-output raw payload sizes aligned with
ErasedCuStampedDataSet::cumsgsorder. - Erased
CuStamped Data - A generic trait to expose the generated CuStampedDataSet from the task graph.
- Erased
CuStamped Data Set - Trait to get a vector of type-erased CuStampedDataSet This is used for generic serialization of the copperlists
- Matching
Tasks - Trait to trace back from the CopperList the origin of the messages
- Metadata
- Represent the minimum set of traits to be usable as Metadata in Copper.
- Payload
Schemas - Trait for providing JSON schemas for CopperList payload types.
- Table
Visitor ๐ - Write
Stream - Defines a basic write, append only stream trait to be able to log or send serializable objects.
Functionsยง
- approximate_
path_ ๐length - assign_
back_ ๐edge_ offsets - base64_
encode ๐ - build_
back_ ๐edge_ path - build_
config_ ๐rows - Render config entries in a stable order for readability and diffs.
- build_
detour_ ๐label_ slots - build_
edge_ ๐hover_ overlay - build_
edge_ ๐path - build_
edge_ ๐tooltip_ group - build_
explicit_ ๐path_ data - build_
graph_ ๐signature - build_
lane_ ๐path - build_
loop_ ๐path - build_
node_ ๐table - Build the record table for a node and capture port ids for routing.
- build_
path_ ๐data - build_
perf_ ๐table - build_
port_ ๐column - Keep input/output rows aligned and generate stable port identifiers.
- build_
resource_ ๐table - build_
resource_ ๐tables - build_
section_ ๐layout - Convert a config graph into positioned nodes, edges, and port anchors.
- build_
sections ๐ - Normalize mission selection into a list of sections to render.
- build_
straight_ ๐label_ slots - build_
text_ ๐node - bundle_
applies ๐ - cell_
text_ ๐height - cell_
text_ ๐size - clamp_
label_ ๐position - collect_
graph_ ๐resource_ owners - collect_
node_ ๐bounds - collect_
port_ ๐anchors - collect_
resource_ ๐catalog - colored_
edge_ ๐style - dedup_
owners ๐ - detour_
lane_ ๐bounds_ from_ points - direction_
unit ๐ - draw_
cluster ๐ - Visually group mission sections with a labeled bounding box.
- draw_
created_ ๐with - draw_
legend ๐ - Render a legend cartridge for task colors and the copper-rs credit line.
- draw_
node_ ๐table - Draw table cells manually since the layout engine only positions shapes.
- draw_
resource_ ๐table - edge_
cycle_ ๐color_ index - edge_
port_ ๐handle - edge_
stub_ ๐len - expand_
bounds ๐ - fallback_
port_ ๐dirs - find_
horizontal_ ๐lane_ span - fit_
edge_ ๐label - fit_
label_ ๐to_ width - flavor_
label ๐ - flavor_
rank ๐ - fnv1a64 ๐
- format_
bytes ๐ - format_
bytes_ ๐opt - format_
duration_ ๐ns - format_
duration_ ๐ns_ f64 - format_
duration_ ๐ns_ u64 - format_
edge_ ๐tooltip - format_
endpoint ๐ - format_
mission_ ๐list - Keep mission lists stable for consistent error messages.
- format_
none_ ๐ratio - format_
rate_ ๐bytes_ per_ sec - format_
rate_ ๐hz - format_
rate_ ๐units - format_
resource_ ๐owners - label_
bbox ๐ - legend_
text_ ๐width - lerp_
point ๐ - lighten_
hex ๐ - load_
logstats ๐ - main ๐
- Render the configuration file to an SVG and optionally opens it with inkscape. CLI entrypoint that parses args, renders SVG, and optionally opens it.
- max_
bottom_ ๐for_ span - measure_
legend ๐ - min_
top_ ๐for_ span - mission_
key ๐ - normalize_
web_ ๐color - open_
svg ๐ - Hide platform-specific open commands behind a single helper.
- parse_
resource_ ๐path - path_
label_ ๐anchor - place_
detour_ ๐label - place_
edge_ ๐label - place_
label_ ๐with_ normal - place_
label_ ๐with_ offset - place_
self_ ๐loop_ label - port_
dir ๐ - port_
dir_ ๐incoming - print_
mission_ ๐list - Support a CLI mode that prints mission names and exits.
- provider_
resource_ ๐slots - record_
size ๐ - Estimate record size before layout so edges and clusters can be sized.
- rects_
overlap ๐ - render_
config_ ๐svg - Run the full render pipeline and return SVG bytes for the CLI.
- render_
sections_ ๐to_ svg - Render each section and merge them into a single SVG canvas.
- reorder_
auto_ ๐input_ rows - reorder_
input_ ๐rows - resolve_
anchor ๐ - resource_
usage ๐ - resource_
usage_ ๐color - scale_
layout_ ๐positions - segment_
length ๐ - segment_
point ๐ - shorten_
module_ ๐path - span_
has_ ๐intermediate - split_
long_ ๐token - split_
type_ ๐tokens - straight_
segment ๐ - strip_
type_ ๐params - svg_
data_ ๐uri - table_
to_ ๐record - Adapt our table tree into the layout-rs record format.
- tooltip_
anchor_ ๐for_ path - tooltip_
line_ ๐height - truncate_
label_ ๐left - validate_
mission_ ๐arg - Fail fast on invalid mission ids and provide a readable list.
- visit_
table ๐ - Walk table cells to compute positions and collect port anchors.
- with_
cause - Creates a CuError with a message and cause in a single call.
- wrap_
text ๐ - wrap_
type_ ๐label