Apply 5 patches from Codex Phase A Gate round 2 review against spec v19.1 (FROZEN at openpencil-docs commit 526791f): - BLOCK 1: `SharedSkiaContext::new(provider) -> Result<Self>` single-arg per spec §3.3. Provider owns surface configuration; constructor queries GL viewport / sample count / stencil bits via glow after make_current returns (option C — no trait change, no caller-side `SurfaceConfig`). `dpi` field on `SurfaceConfig` was dead and is dropped. - BLOCK 2(a): `glow()` returns `Option<&Arc<glow::Context>>` (borrow, not clone) per spec §3.3. Hot-path callers clone explicitly. - BLOCK 2(b): mobile `on_pause` drops `glow_handle` alongside surface per spec §3.4 — backing GL context is invalid once activity backgrounds. - CONCERN 1: `default_framebuffer_id` is now a required trait method (no default body); explicit overrides on `GlutinProvider` (0), `EglPbufferProvider` (0), `EaglProvider` (unimplemented! Step 1f), `AndroidEglProvider` (0). Forces Step 1f mobile impls to specify the non-zero CAEAGLLayer-backed FBO rather than silently inheriting 0. - CONCERN 2: new `tests/resize_smoke.rs` with two raster-backed tests — grow 400×300→800×600→400×300 paints through `NativeBackend` without panic; resize span emits on grow / shrink / 0×0 clamp paths. - NIT: stale "Spec mini-patch pending" comments rewritten to reflect v19.1 frozen state. cargo build / test / clippy / fmt all green on macOS local. |
||
|---|---|---|
| .. | ||
| openpencil-app | ||
| openpencil-shell-core | ||
| openpencil-shell-native | ||
| openpencil-shell-web | ||
| pen-codegen | ||
| pen-core | ||
| pen-engine | ||
| pen-figma | ||
| pen-types | ||