summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2026-06-12Slice 3: THE SPIKE — RMLUi→wlr_scene bridge lands, GOAdam Malczewski
Plan A verified on hardware (HD 4400/crocus): RMLUi renders into a GLES 3.2 sibling-context FBO backed by a dmabuf wlr_buffer (wlr_allocator + EGLImage import), composited as a wlr_scene_buffer with per-frame damage. Plan B (glReadPixels→shm) implemented and verified as runtime fallback; auto-engages when any Plan-A precondition fails. Plan C not needed. - Hello-world RML doc: text, data-bound frame counter, pointer input proof (hover/:active) — verified upright on screen via screenshot after fixing the classic FBO Y-flip (buffer-level V-flip keeps display == document coords for input); position-aware orientation guard added. - Temporary spike surface: Options::ui_spike + frame-count/orientation probes, host-bin --ui-spike flag; replaced by the real ui substrate contract in slice 4+. - kernel suite 6 cases / 416 assertions green; ASan/UBSan clean in our code (Mesa leak noise + 2 benign UBSan downcast reports inside vendored RMLUi are known); idle RSS ≈83 MiB. - Deferred (notes/plan.md §7): glFinish→EGL fence + swapchain; dmabuf render-format negotiation (private API in wlroots 0.20).
2026-06-12Slice 2: tinywl port — kernel compositor runs nested, manages toplevels, ↵Adam Malczewski
touch added Server contract (pimpl, create/run/dispatch/terminate) over a faithful tinywl 0.20.1 port: outputs via wlr_scene, xdg-shell toplevels+popups, focus, interactive move/resize, keyboard/pointer through wlr_cursor — plus touch (down/up/motion/cancel/frame via seat notifies with per-point origin tracking), which tinywl lacks. RAII Listener replaces manual wl_list_remove bookkeeping; shutdown ordering documented in kernel.md. xkbcommon added as a system dep. Verified: nested under labwc (output WL-1, foot mapped and focused on GLES2) and a headless+pixman boot test in the kernel suite.
2026-06-12Slice 1: Meson skeleton — kernel links wlroots 0.20 from C++, RMLUi 6.2 ↵Adam Malczewski
vendored Root meson.build (C++23, WLR_USE_UNSTABLE, ccache-detected) with RMLUi 6.2 as a wrap-file tarball built through the cmake module (no git submodules — settled decision) and doctest 2.5.2 from wrapdb. kernel unit: extern-"C" wlr.hpp wrapper (with the C99 [static N] array-param workaround documented in kernel.md), slice-1 probe contract, doctest suite (1/1 green). host-bin: composition root printing versions, exit 0. tasks.md slice 1 done.
2026-06-12Set up the agent harnessAdam Malczewski
Constitution (AGENTS.md), orchestrator workflow with the header-contract read rule and harness-growth duties (ORCHESTRATOR.md), wlroots-seeded glossary, 4 safety reflexes, owner-agent briefs, 3 skills, and the living plan (notes/plan.md) with hardware-verified facts, settled decisions, and the slice 1-9 roadmap (tasks.md). Slice 0 done; next: toolchain bootstrap.