Metalfx game rendering workflow
Skill gaelic-ghost/socket/plugins/game-dev-skills/skills/metalfx-game-rendering-workflow
Guide native Apple-game MetalFX integration for spatial or temporal upscaling, frame interpolation, and temporal denoising. Use when Codex works with MetalFX descriptors, jitter, motion vectors, depth, exposure, history, dynamic resolution, present threads, or MetalFX performance validation; use Game Porting Toolkit guidance for a D3D or Vulkan port.From its SKILL.md
npx -y skills add gaelic-ghost/socket --skill metalfx-game-rendering-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.8 KB, 480 tokens by cl100k_base, as published. Nobody here has run it
MetalFX Game Rendering Workflow
Scope
Own the renderer-side contract that makes a MetalFX effect correct. MetalFX is not a generic FPS toggle: each effect has required inputs, lifecycle state, feature gates, and a presentation path.
Read effect-selection.md before choosing an effect. Confirm the effect’s documented availability from local Xcode or Dash API references before coding.
Workflow
- Establish the target device and OS matrix, target display cadence, baseline quality, and GPU-bound evidence. Do not add MetalFX to mask a CPU or asset-streaming bottleneck.
- Choose one job: spatial scaling for a simpler resolution conversion, temporal scaling for reconstruction from history and motion, interpolation for generated display frames, or denoised temporal scaling for noisy rendered input.
- Define the input contract explicitly: render/output size, color format, depth, motion-vector convention and units, jitter sequence, exposure, reset conditions, and history ownership.
- Keep dynamic-resolution changes synchronized with the effect descriptor and resource allocation. Reset temporal history after camera cuts, resolution changes, content discontinuities, or other invalidating events.
- Keep frame interpolation presentation isolated on its documented dedicated presentation path; do not let simulation or UI state advance merely because a generated frame is displayed.
- Validate image quality before performance: inspect disocclusion, HUD/UI separation, motion-vector sign and scale, ghosting, shimmer, latency, and frame pacing on suitable hardware.
Guardrails
- Preserve a non-MetalFX presentation path when the deployment matrix requires it.
- Do not claim a path is zero-latency, artifact-free, or supported from a simulator-only run.
- Treat MetalFX 4.1-era APIs as beta-sensitive until their shipping SDK availability is verified.
Handoffs
metal-game-rendering-workflowfor the renderer, frame contract, queues, or command encoders.xcode-game-profiling-workflowfor performance evidence.metal-neural-rendering-workflowwhen the work moves beyond MetalFX into custom ML, tensors, or neural rendering.game-porting-toolkit-workflowfor a translated or source port.
Output
Return the selected effect, availability and fallback, exact input/history contract, presentation ownership, visual-validation plan, and measured performance question.
What ships with it: 2 files
1.2 KB alongside SKILL.md
agents/
- openai.yaml238 B
references/
- effect-selection.md992 B