Set up the VisionPOC repo with: - Approved design spec at docs/superpowers/specs/ - project.yml (XcodeGen, Swift 6, macOS 14+, com.dmdbrands.VisionPOC) - Theme.swift centralizing palette/layout/fonts/performance knobs - TextRasterizer + Share Tech Mono + Orbitron copied from MetalPOC - README, CONTRIBUTING, LICENSE, .gitignore matching the MetalPOC pattern Camera capture, processing pipeline, renderer, shaders, and AppKit entrypoint to follow in the next commit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
Contributing to VisionPOC
This is a proof-of-concept project. Contributions are welcome but kept lightweight.
Reporting bugs
Open an issue with:
- macOS version + hardware (Apple Silicon generation)
- Xcode + xcodegen version
- Camera (built-in / USB / Continuity)
- Steps to reproduce
- Expected vs. actual behavior
- Screenshots / screen recording if visual
Suggesting features
Open an issue describing the use case and the visual or behavioral change. For tunable knobs (colors, sizes, intervals, detector cadence, capture preset), there's likely already a parameter in Sources/Theme.swift — try editing that first.
Pull requests
- Fork the repo and create a branch from
main. - Keep changes scoped — one logical change per PR.
- If touching shader code, run with Metal validation enabled and confirm no GPU API errors:
MTL_DEBUG_LAYER=1 MTL_SHADER_VALIDATION=1 build/Debug/VisionPOC.app/Contents/MacOS/VisionPOC - If touching the capture or detection path, verify the camera permission flow on first launch (delete the app's TCC entry to retest).
- Match the existing code style. Centralize new tunables into
Sources/Theme.swiftrather than hard-coding values inside components. - Open a PR with a brief description of what changed and why.
Code of conduct
Be respectful. This is a tiny POC repo, not a community — but kindness still applies.