بنقرة واحدة
gamedev-skills
يحتوي gamedev-skills على 15 من skills المجمعة من sunsided، مع تغطية مهنية على مستوى المستودع وصفحات skill داخل الموقع.
Skills في هذا المستودع
Use when setting up asset loading, designing asset handles/registries, building offline asset processing tools, implementing hot reload, loading spritesheets or atlases, or deciding how to organize game asset directories.
Use when adding or modifying audio playback, sound mixing, music systems, or real-time audio synthesis in a Rust game. Trigger when user mentions rodio, cpal, sound effects, music playback, audio mixer, or procedural audio.
Use ONLY when the project already uses Bevy (bevy in Cargo.toml) or the user explicitly asks about Bevy. Do not trigger for custom wgpu/winit/ECS projects. Use when working with Bevy plugins, components, systems, states, the Bevy asset server, schedules, or events.
Use when adding egui debug overlays, frame timing panels, entity inspectors, renderer stat displays, in-game feature toggles, or puffin profiler integration to a Rust game. Also use when the user asks how to add a debug view or troubleshoot via in-game tooling.
Use when designing ECS component layouts, system ordering, event systems, deferred spawning/despawning, fixed vs variable update schedules, or deciding how game world data flows to the renderer. Use for both custom ECS and library ECS (hecs, legion).
Use ONLY when the project uses Godot with Rust (gdext or gdnative in Cargo.toml, or .gdextension file present). Do not trigger for pure Rust/wgpu projects. Use when working with GodotClass,
Use when setting up input handling, designing action maps, rebindable controls, gamepad support, mouse delta handling, input buffering, or deciding how raw winit events should flow to gameplay code.
Use when preparing a Rust game for distribution, setting up release builds, bundling assets, creating Linux/Windows/macOS packages, or configuring asset path resolution for deployed executables.
Use when implementing collision detection, physics integration (AABB, swept collision, or Rapier), fixed timestep loops, character controllers, or physics-to-render interpolation in a Rust game.
Use when the user wants to profile a Rust game, add puffin or tracing instrumentation, find per-frame allocations, measure GPU timing, or decide what to optimize. Trigger when user says "too slow", "frame drops", "profiling", or asks how to find performance bottlenecks.
Use when creating a new Rust game project from scratch, evaluating the structure of an existing one, or deciding how to split code across crates. Covers project type recognition, workspace layout, crate responsibilities, asset directory conventions, shader placement, logging setup, and key architectural rules such as keeping renderer types out of game-core.
Use when setting up CI, configuring a Cargo workspace, choosing error handling patterns, adding clippy lints, or enforcing project-wide Rust code quality standards in a game project. Covers workspace dependency management, lint configuration, test runners, feature flags for dev tools, error type strategy, and minimum CI requirements.
Use when working on Rust rendering code that touches wgpu - including render pipelines, render passes, bind groups, vertex/index buffers, textures, depth buffers, MSAA, instancing, swapchain/surface handling, or renderer architecture. Also use when deciding how game world state should flow to the GPU, when handling window resize in the renderer, or when setting up the wgpu device/adapter/queue. Trigger this skill whenever the user mentions wgpu, render pass, pipeline, bind group, surface, texture sampler, depth buffer, or GPU buffer in a Rust context.
Use when writing or modifying WGSL shaders, debugging bind group mismatches, checking vertex attribute layouts, aligning uniform buffer structs, setting up shader hot reload, or ensuring Rust-side wgpu layouts match WGSL declarations.
Use when creating or modifying the winit event loop, app lifecycle (ApplicationHandler), frame timing, fixed timestep logic, window creation, resize handling, or input event collection in a Rust game.