openwormbrowser-ios
openwormbrowser-ios copied to clipboard
Port rendering to Metal and add comprehensive test suite
Summary
- Fix Metal rendering pipeline (missing setFragmentBuffer for fragment shader)
- Implement staged opacity for layer peeling (cuticle→organs→muscles→neurons)
- Fix initial camera zoom to properly fill screen
- Add fallback colors for missing materials
- Add fallback OWDraw creation when bounding boxes missing
Test Coverage (107 tests)
| Test Suite | Tests | Description |
|---|---|---|
| OWVectorTests | 13 | Math/vector operations |
| OWInterpolantTests | 20 | Animation tweening |
| OWNavigateTests | 33 | Camera/navigation |
| OWResourceTests | 41 | Mesh/metadata loading |
Test Plan
- [x] All 107 unit tests passing
- [x] App builds on iOS Simulator
- [x] Worm renders with proper colors
- [x] Opacity slider peels layers correctly
- [x] Pinch/pan gestures work