# Hyperfy Discord - 2025-08-09

## Overall Discussion Highlights

### Mobile Performance Optimization
- **Major Achievement**: Significant optimization work has enabled the application to run on older mobile devices that previously couldn't render the world graphics
- A 7-year-old Samsung S9 that previously showed only a black screen with menu and chat box can now render the full virtual world, even on a 4G connection
- The improvements were described as making the application "potato friendly" for older devices

### Camera Functionality
- **V1 vs V2 Drone Camera**: Extensive discussion comparing the free camera implementation between versions
- V1 free camera used simple lerp/slerp interpolation at 0.05 with bracket controls (`[` to slow down, `]` to speed up)
- Users reported difficulty replicating the V1 camera feel in V2 despite similar features being available
- Shiffty offered to implement the exact V1 implementation to see if that resolves the issue
- **Depth of Field**: Multiple users expressed interest in adding DOF capabilities for more cinematic content creation
- Ashxn confirmed DOF would be relatively easy to add but questioned how it should be configured

### Technical Issues
- **Edit Gizmos Problem**: Users reported issues with edit gizmos not showing or being selectable
- Root cause identified: meshes with skeletons aren't selectable due to raycasting occurring on CPU while skeletons are processed on GPU
- This limitation was noted as common in other platforms like Unity but more problematic in Hyperfy v2

## Key Questions & Answers

**Q: Does the play world work on your Samsung S9?**  
A: "Currently it's potato friendly. Top work sir." (Valiant)

**Q: Is it possible to get depth of field going for cinematic content?**  
A: "Easy to add, but not sure how it should be configured or used." (Ashxn)

**Q: Can you describe what is different with the drone camera in V1?**  
A: "V1 free cam was literally just `[` to slow movement, `]` to speed up and then all interpolation was lerp/slerp to target @ 0.05." (Ashxn)

**Q: How do I make edit gizmos appear?**  
A: "You have to press 1, 2, 3 keys." (maximus)

**Q: Why can't meshes with skeletons be selected?**  
A: "Raycasting is CPU but skeletons are on GPU, creating a technical limitation." (ash)

## Community Help & Collaboration

1. **Local Development Environment Setup**
   - Helper: Ashxn | Helpee: Valiant
   - Context: Local installation build failures on dev branch
   - Resolution: Suggested running `npm install` followed by restarting with `npm run dev`

2. **Free Camera Implementation**
   - Helper: Ashxn | Helpee: Unknown user
   - Context: Free cam implementation in v1
   - Resolution: Explained that free cam has two parts - one section in the update() function and a setFreeCamTarget method

3. **V1 vs V2 Camera Functionality**
   - Helper: Ashxn | Helpee: Shiffty
   - Context: Understanding differences between V1 and V2 drone camera functionality
   - Resolution: Ashxn explained V1 used simple lerp/slerp interpolation at 0.05 and offered to share the camera code in another channel

4. **Edit Gizmo Issues**
   - Helper: ash | Helpee: Enryt
   - Context: Explaining why meshes with skeletons aren't selectable
   - Resolution: Provided technical explanation about CPU raycasting vs GPU skeletons limitation

## Action Items

### Technical
- Fix remaining build error after npm install (Mentioned by Valiant)
- Implement the exact V1 drone camera feel in V2 using lerp/slerp at 0.05 interpolation (Mentioned by Shiffty)
- Improve selection of meshes with skeletons to address CPU raycasting vs GPU skeleton limitation (Mentioned by ash)
- Fix edit gizmo selection issues in dev branch b7ca8f9169 (Mentioned by Enryt)

### Documentation
- Document optimization improvements for mobile devices (Mentioned by Valiant)

### Feature
- Add depth of field functionality for cinematic content creation with appropriate configuration options (Mentioned by MetaRick and vox)