Devolutions / Devolutions/IronRDP

Extract ClearCodec from `ironrdp-graphics` into `ironrdp-clearcodec`

Open
#1,351 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
3.2k
Forks
275
Avg merge
1d 11h
Merged PRs (30d)
189

Description

Following the pattern established in parent issue, ClearCodec is the next codec to extract: largely self-contained inside `ironrdp-graphics` (`clearcodec/{mod,glyph_cache,vbar_cache}.rs`), with a clear consumer (EGFX WireToSurface dispatch).

## Goal

Validate the per-codec-crate template against a non-trivial real codec, and reduce `ironrdp-graphics` scope by one codec.

## Scope

- Move `crates/ironrdp-graphics/src/clearcodec/` → `crates/ironrdp-clearcodec/`.
- Promote any `pub(crate)` primitives ClearCodec relies on to `pub` in `ironrdp-graphics`. Document them.
- Update `ironrdp-egfx` and other consumers.
- Re-export from `ironrdp-graphics` with `#[deprecated]` for one release cycle.

## Notes

- ClearCodec depends on `ironrdp_pdu::codecs::clearcodec` for stream parsing. Acceptable interim cost; cleaner dependency falls under #1352.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.