feat(graphics): Phase 3 - 2D graphics primitives + xtask QEMU isolation#98
Merged
feat(graphics): Phase 3 - 2D graphics primitives + xtask QEMU isolation#98
Conversation
Implements Phase 3 of the graphics stack with 2D drawing primitives: Core types: - Color struct with RGB support and BGR/RGB pixel format conversion - Point and Rect structs for geometry - Canvas trait for abstracted drawing surface Drawing functions: - draw_hline/draw_vline: Optimized horizontal/vertical lines - draw_line: General line drawing using Bresenham's algorithm - draw_rect: Rectangle outline - fill_rect: Filled rectangle with row optimization - draw_circle/fill_circle: Circle using midpoint algorithm Integration: - ShellFrameBuffer implements Canvas trait - draw_test_pattern() demo function for testing All drawing functions handle bounds checking and clipping automatically. Coordinates use i32 to allow negative values (clipped at canvas boundary). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace all instances of `pkill -9 qemu-system-x86_64` with worktree-specific PID file tracking. This allows multiple worktrees to run boot-stages tests simultaneously without killing each other's QEMU processes. Changes: - Add get_qemu_pid_file() to generate unique PID file path per worktree - Add signal_worktree_qemu() to send signals to specific QEMU process - Add kill_worktree_qemu() and term_worktree_qemu() helpers - Add save_qemu_pid() to track QEMU PID on startup - Replace all 6 pkill calls with worktree-specific PID-based killing PID files are stored at /tmp/breenix-qemu-<worktree-hash>.pid using a hash of the current working directory for uniqueness. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pkillwith per-worktree PID trackingGraphics Primitives
Added
kernel/src/graphics/primitives.rswith:Color,Point,RectCanvastrait for drawing surface abstractiondraw_line,draw_hline,draw_vline,draw_rect,fill_rect,draw_circle,fill_circleShellFrameBufferxtask QEMU Isolation
Replaced all 6 instances of
pkill -9 qemu-system-x86_64with worktree-specific PID file tracking:/tmp/breenix-qemu-<worktree-hash>.pidboot-stagessimultaneouslyTest plan
🤖 Generated with Claude Code