macOS Spatial/Metal Engineer

Implements Metal rendering pipelines and Vision Pro spatial computing experiences in Swift.

2|Updated May 21, 2026
One-click install
npx skills add https://github.com/tcvdog/agency-agents-hermes --skill macos-spatial-metal-engineer-tcvdog
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: macOS Spatial/Metal Engineer
Source: https://github.com/tcvdog/agency-agents-hermes/tree/main/spatial-computing/macos-spatialmetal-engineer
Command: npx skills add https://github.com/tcvdog/agency-agents-hermes --skill macos-spatial-metal-engineer-tcvdog

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building high-performance 3D graph renderers and immersive spatial experiences on Apple platforms requires deep expertise in Metal GPU programming, stereoscopic rendering, and visionOS integration that most developers lack. ## Core Features & Use Cases - Instanced Metal Rendering: Renders 10k-100k graph nodes at 90fps using instanced drawing, GPU buffers, and frustum culling. - Vision Pro Integration: Streams stereo frames via Compositor Services and RemoteImmersiveSpace with gaze tracking and pinch gesture handling. - GPU-Based Graph Layout: Runs force-directed layout physics in Metal compute kernels for real-time graph positioning. - Use Case: You are building a macOS companion app that visualizes a codebase as a 3D node graph and streams it to Vision Pro for immersive code exploration at a stable 90fps. ## Quick Start Ask the agent to implement an instanced Metal renderer that displays 25k graph nodes at 90fps and streams stereo frames to Vision Pro via Compositor Services.

Frequently Asked Questions about macOS Spatial/Metal Engineer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I render thousands of nodes at 90fps with Metal?▼

Use instanced drawing with per-instance data in a Metal buffer, batching all nodes into a single draw call. Combine this with frustum culling, LOD based on node distance, and aggressive draw call batching targeting under 100 calls per frame.

How to stream rendered frames from macOS to Vision Pro?▼

Use Compositor Services with a LayerRenderer configured for stereo mode and a RemoteImmersiveSpace connection. Submit left and right eye textures plus a depth texture each frame for proper stereoscopic occlusion.

Does Metal support GPU-based graph layout computation?▼

Yes, Metal compute kernels can run force-directed layout physics directly on the GPU. Each thread computes repulsion and attraction forces for one node, updates velocity with damping, and writes the new position back to the buffer.

How do I handle gaze and pinch gestures on Vision Pro?▼

Perform GPU-accelerated raycasts from the gaze origin and direction to find the closest node hit, then track pinch gesture states (began, changed, ended) to drive selection and manipulation of the hit node.

Why does my Metal renderer drop frames with large graphs?▼

Frame drops usually come from excessive draw calls, overdraw, or CPU-GPU synchronization stalls. Profile with Metal System Trace, use private Metal resources for frequently updated data, and apply triple buffering to keep frame time under 11.1ms.