Skip to content

Latest commit

 

History

History
109 lines (72 loc) · 7.58 KB

File metadata and controls

109 lines (72 loc) · 7.58 KB

Active work — jpegxl-rs

Live work, grouped by parent in ROADMAP.md order. Blocked work names its blocker inline.

Encoder optimization pass @jpegxl-rs.track.encoder-optimization/1

Disposition advisor optimization-plan.akr into the ledger

proposed · @jpegxl-rs.work.opt-plan-import/1 · part of @jpegxl-rs.track.encoder-optimization/1

Track migration of JPXL/optimization-plan.akr durable claims into assessment, track, decisions, policy, milestones, and work. Complete when every durable claim is proposed or explicitly declined and the draft remains only as a legacy source citation.

Acceptance — 0 of 1 satisfied

Check Method Verdict
claims-dispositioned command not satisfied — no evidence

Evaluate a license-neutral optional semantic-guidance input

proposed · @jpegxl-rs.work.optional-semantic-guidance-consumer/1 · part of @jpegxl-rs.track.encoder-optimization/1

Define and screen an independently authored JPXL-side input for normalized semantic confidence layers, allowing raw-autotune or another external producer to adapt to it without a runtime or source dependency.

Acceptance — 0 of 4 satisfied

Check Method Verdict
cost-accounting observation not satisfied — no evidence
default-byte-identity command not satisfied — no evidence
fixed-rate-scene-screen observation not satisfied — no evidence
license-neutral-boundary manual not satisfied — no evidence

One-shot program: shadow-first common-case one-shot quality controller

active · @jpegxl-rs.work.pqc-one-shot-controller/3 · part of @jpegxl-rs.track.perceptual-quality-controller/1

Adopt the 2026-08-24 advisor memo's common-case one-shot design to close the open Balanced wall requirement. PR 1-4 (trace/2, production-endpoint oracle labels, source-only and transform-summary shadow models) are implemented and measured; PR 5 (model-seeded first plan, one slope correction, exact-navigator continuation under unchanged caps with canonical verification before every emission) is implemented and, per the user's 2026-08-24 directive and the 2026-08-25 promotion A/B, is now the DEFAULT controller seed (one-shot-controller in the policy crate's default features; building without default features restores the legacy table seed).

Text/UI-aware routing: detect text/line-art content and route it to a competing encoding profile

active · @jpegxl-rs.work.text-aware-routing/4 · part of @jpegxl-rs.track.perceptual-quality-controller/1 · at risk

Close the text/UI density gap. Stage 1 (DONE): corpus gap measured - geomean 1.15x ZenJXL / 1.39x cjxl, max 4.7x. Stage 2 (DONE): shadow content classifier (content_class.rs, 4e10611). Stage 3 (SHIPPED opt-in, 94e8dc4): --text-routing / Encoder::with_text_routing - deterministic median-cut colour reduction, canonical scoring through the evaluator's retained reference, lossless Modular candidates, first floor-holding rung wins, replaces VarDCT only when smaller or the search missed. Corpus A/B: -21% bytes, 69/121 smaller, 0 grew, 0 floor violations. Stage 4 B4 (DONE, cf94f5f): wall bounded - trace attribution showed candidate encode = 96% of competition wall, so the ladder is score-first over one shared colour histogram with exactly one encode per frame at Modular effort 2 (palette plan wins at every effort: candidate bytes identical e2/e3/e5 across the corpus). Routed overhead median 0.77->0.58 s, p90 2.27->1.33 s, max 7.20->2.30 s; VarDCT-wins premium median 0.75 s. REMAINING: the default-on decision is the operator's - it needs the standing Contract-B A/B screen when proposed. Beyond this work: the residual worst-case gap (~2-3x on a few screens vs ZenJXL) needs a lossy-smooth text representation (patches/mode switching) - a separate future feature; a CIELAB Wu-style quantizer (operator's own WuElast reference is portable) is a possible palette-quality upgrade if k-rung floor failures ever matter.

Acceptance — 1 of 4 satisfied

Check Method Verdict
classifier-routes-corpus observation not satisfied — @jpegxl-rs.evidence.content-classifier-shadow-2026-08-30/1 predates the last change
corpus-gap-measured observation not satisfied — @jpegxl-rs.evidence.screenshot-corpus-three-way-gap-2026-08-30/1 predates the last change
routed-candidate-wins observation not satisfied — @jpegxl-rs.evidence.text-routing-shipped-ab-2026-08-30/1 predates the last change
routed-wall-bounded observation satisfied by @jpegxl-rs.evidence.text-routing-b4-wall-bound-2026-08-30/1

At risk at depth 1 via derived_from@jpegxl-rs.observation.three-way-encoder-comparison-2026-08-29/2 (stale: watches "JPXL/tools/**" was matched by 08859157, which touched JPXL/tools/quality_corpus_extend.py.). See REVIEW-REQUIRED.md.

VarDCT encoder (M1-M8) @jpegxl-rs.track.vardct-encoder/1

Lossless JPEG bitstream recompression: carry JPEG1 coefficients into JPEG XL directly instead of decode-and-reencode

active · @jpegxl-rs.work.jpeg-bitstream-recompression/1 · part of @jpegxl-rs.track.vardct-encoder/1

Carry JPEG1 quantized DCT coefficients into JPEG XL directly (18181-2 s9.11 jbrd + Annex A) instead of decode-and-reencode, through the phased plan in JPXL/docs/jpeg-recompression-plan.md: A jpeg codec roundtrip, B coefficient carriage, C bit-exact reconstruction, D density, E oracle interop.

Acceptance — 1 of 4 satisfied

Check Method Verdict
phase-a-jpeg-codec-roundtrip command satisfied by @jpegxl-rs.evidence.jpeg-phase-a-roundtrip-2026-08-25/1
phase-b-coefficient-carriage command not satisfied — no evidence
phase-c-bit-exact-reconstruction command not satisfied — no evidence
phase-e-oracle-interop command not satisfied — no evidence

Unparented

Encoder optimization plan of record

proposed · @jpegxl-rs.work.encoder-optimization-plan/1

Authoritative plan for jpegxl-rs.track.encoder-optimization: execute Opt-F through Opt-P in after-order, supported by the static advisor assessment and the optimization decisions and gates.

Plan of record for Encoder optimization pass @jpegxl-rs.track.encoder-optimization/1

EXIF box and colour-space signalling for the archive pipeline

proposed · @jpegxl-rs.work.pipeline-metadata-seam/1

Give the archive pipeline the two metadata seams it needs from the encoder: a Part 2 Exif container box exposed as Encoder::with_exif (validated raw-TIFF payload, container implied), and declarative colour-space signalling (sRGB, linear sRGB, Display P3, Rec.2020) through the Annex E ColourEncoding bundle on the lossless Modular path, with lossy VarDCT rejecting non-sRGB input by typed error because XYB and the metric are defined on sRGB. Downstream, raw-autotune supplies the TIFF blob and colour tag and openarc routes them through archiving; the contract is a bare TIFF blob, never an APP1 wrapper.