[package]
name = "c1-egui-lyon"
version = "0.1.0"
edition.workspace = true
publish.workspace = true

# Round 1 candidate C1: egui's own paint pipeline (egui_wgpu::Renderer),
# fed an egui::epaint::Mesh tessellated by lyon from the typed PathCommand
# outline. Matches/exceeds probe-egui's Round-0 version pins (egui/eframe
# 0.35); egui_wgpu is added here specifically because Round 1 renders
# through it (Round 0 did not need to render anything).

# wgpu itself is consumed via egui_wgpu's own re-export (`egui_wgpu::wgpu`)
# rather than as a separate top-level dependency, to guarantee the Device
# passed into `egui_wgpu::Renderer::new` is the exact type it expects.

[dependencies]
round1-harness = { path = "../harness" }
epiphany-layout-ir = { path = "../../../../crates/epiphany-layout-ir" }
egui = "0.35"
egui-wgpu = "0.35"
lyon = "1.0"
lyon_path = "1.0"
lyon_tessellation = "1.0"
pollster = "0.4"
bytemuck = "1"
anyhow = "1"

# --- Packet 2B-C1 additions (Round 2, text) ---
#
# round2-candidatekit / round2-diff / round2-textkit: the candidate-neutral
# apparatus (fixture loading, the bounded visual differential, the report
# shape and scoring rule) Round 2 requires every candidate to consume rather
# than re-derive. See src/bin/round2_text.rs.
round2-candidatekit = { path = "../../round2-candidatekit" }
round2-diff = { path = "../../round2-diff" }
round2-textkit = { path = "../../round2-textkit" }
# Glyph outline extraction from the two declared host faces (TeX Gyre
# Pagella, Liberation Serif) is candidate-owned work (recipe: "Outline
# extraction from the face and conversion to a lyon path IS yours to
# write"). Pinned to the exact version round2-textkit shapes fixtures
# against, so a `ttf-parser` behavioural difference cannot be mistaken for a
# rendering bug in this candidate's own code.
ttf-parser = "=0.25.1"
# Writing round2_candidatekit::CandidateReport to disk.
serde_json = "1"
# eframe/winit windowed route for check 5 (accessibility): Round 1's binary
# is headless (offscreen wgpu only, no winit/eframe at all), and check 5
# requires a real window on the live AT-SPI2 bus (recipe: "your Round 1
# binary is headless, so this is a separate mode"). See
# src/bin/round2_a11y.rs, the same first-party AccessKit route
# `probe-egui`'s Round 0 binary used.
eframe = "0.35"
