# Project Memory — screen_cast Last updated: initial scaffold. ## Project state - Empty project scaffolded with Meson build, C++20, module headers, and agent workflow files. - No implementation yet; headers are placeholders. - Phase plan is in `docs/PHASES.md`. Agents are now explicitly instructed in `AGENTS.md` to read `docs/PHASES.md` before planning and not to start work belonging to a later phase unless requested. ## Decisions - Language: C++20 with explicit modern-C++ guidelines in `AGENTS.md` and `cpp-meson-build/SKILL.md`. - Build system: Meson. - Capture: PipeWire + xdg-desktop-portal. - Encode/Decode: FFmpeg (libavcodec, libavutil, libswscale). - Transport: RTP over UDP; signaling via WebSocket/JSON. - Discovery: mDNS/Avahi. - Rendering: SDL2 or SDL3 + OpenGL. - Namespace: `sc`. ## Active blockers None. ## Open questions - GUI framework (Qt6 vs. none / CLI only) — deferred to later phase. - Hardware acceleration strategy (VAAPI / Vulkan Video / NVENC) — evaluate after software encode path works.