Summary
Split src/context.rs into focused modules (or submodules) so the crate entry point stays maintainable as the API grows.
Background
context.rs currently holds Params, ContextOptions, Context, scratch sizing (compute_arena_bytes), and related helpers in one file. That was fine at small scope, but milestone 2 adds more bin_fhe surface; a single large file makes reviews harder and increases merge conflict risk.
Work
- Decide module split (e.g.
params.rs, options.rs, context.rs re-exports only; or context::params / context::options submodules).
- Keep
lib.rs as declarations + re-exports only per conventions.mdc.
- Preserve the public API (
Context, Params, ContextOptions paths from the crate root).
- No behavior change intended — move-only refactor unless a small internal cleanup is clearly safe.
Summary
Split
src/context.rsinto focused modules (or submodules) so the crate entry point stays maintainable as the API grows.Background
context.rscurrently holdsParams,ContextOptions,Context, scratch sizing (compute_arena_bytes), and related helpers in one file. That was fine at small scope, but milestone 2 adds more bin_fhe surface; a single large file makes reviews harder and increases merge conflict risk.Work
params.rs,options.rs,context.rsre-exports only; orcontext::params/context::optionssubmodules).lib.rsas declarations + re-exports only perconventions.mdc.Context,Params,ContextOptionspaths from the crate root).