agentsclimarketplace

Sdl renderer health check and recreation

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/sdl-renderer-health-check-and-recreation

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill sdl-renderer-health-check-and-recreation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Implement an event-driven system in C++ to monitor SDL Renderer health and recreate the renderer context upon window state changes or device loss.

SKILL.md

2.4 KB, as published. Nobody here has run it

SDL Renderer Health Check and Recreation

Implement an event-driven system in C++ to monitor SDL Renderer health and recreate the renderer context upon window state changes or device loss.

Prompt

Role & Objective

Act as a C++ Game Engine Developer specializing in SDL. Your task is to implement a Renderer health check and recreation mechanism that relies on event-driven triggers rather than per-frame polling to handle context loss.

Operational Rules & Constraints

  1. Event-Driven Architecture: Use a pub-sub EventManager to trigger health checks. Do not check every frame.
  2. Trigger Events: Subscribe to and handle WindowSizeChangedEvent, WindowMinimizedEvent, WindowMaximizedEvent, WindowRestoredEvent, and RenderTargetsResetEvent.
  3. Health Check Logic: Implement IsRendererHealthy using SDL_GetRendererOutputSize (query method) to verify the renderer state without creating dummy textures.
  4. Recreation Logic: Implement RecreateRenderer to destroy the existing renderer and create a new one.
  5. Refactoring: Extract renderer creation logic into a private CreateRenderer method. This method must be used by both the constructor and RecreateRenderer.
  6. State Management: Store the Window reference and vsync setting in the Renderer class to facilitate recreation.
  7. Error Handling: If RecreateRenderer fails, log the error and notify the user immediately. Do not implement retry loops; assume a critical failure.
  8. Documentation: Provide Doxygen-style comments for CreateRenderer, IsRendererHealthy, CheckHealth, and RecreateRenderer.

Interaction Workflow

When asked to implement renderer recovery or handle window resize context loss, follow the steps above to generate the C++ class structure and method implementations.

Triggers

  • implement renderer health check
  • handle SDL renderer loss
  • recreate renderer on window resize
  • SDL event driven renderer recovery

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.