# Hyperfy Discord - 2025-02-26

## Overall Discussion Highlights

### Development Tools & Infrastructure
- **App-Rollup Tool**: MayD524 released a tool that allows developers to work with multiple files instead of a single app.js file, using Rollup to bundle everything together, solving organization issues and enabling code reuse.
- **Electron App Generator**: MayD524 shared a GitHub repository for a simple GUI/TUI tool that creates Electron apps pointing to Hyperfy worlds, which caches files to avoid repeated downloads.
- **GLB Model Renderer**: devilsadvocate.sol created a web-based renderer (wizard.grape.wtf) that creates animated GIFs of 3D models, with ongoing work to improve framerate and download functionality.
- **Client-Server Improvements**: Ash implemented changes to allow any client to connect to any server through websocket connections, enabling servers to send essential configuration data to clients in the first message.
- **Word-Wrap in Code Editor**: Omka implemented word-wrapping in the code editor by modifying the Monaco editor configuration.

### Technical Discussions
- **Self-hosting Options**: Fly.io, Coolify, and hyperworld.host ($5) were recommended, with documentation available at hyperfy.how/hosting/self.
- **Navmesh Generator**: Shiffty shared a navmesh generator with A* pathfinding that uses raycasting in a grid pattern to create navigation points, sparking discussion about NPC movement applications.
- **Vehicle Physics**: Users discussed implementation and testing of vehicle physics, particularly with the "hyperduck" model modified to have F-35 jet-like dynamics, addressing anchoring and sliding issues at high speeds.
- **Water Physics**: Early discussions about implementing water physics, with suggestions to use swimming mode with buoyancy inside water volumes.
- **Animation System**: Debates around sitting animations and challenges with looping vs. one-shot animations, including questions about a "holdPose" parameter.
- **Object Snapping**: TheMattEmpire and general hyper discussed road object design and snapping mechanics, debating whether pivot points should be at center or edges.

### Platform Updates
- **Marketplace Redesign**: szjanko previewed a marketplace redesign featuring app collections, tags for searching/filtering, and a store for creators, encouraging developers to upload more apps with better preview images.
- **Abstract Platform Support**: The team appears to be working on Abstract platform support, though details were limited.
- **New Web3 App**: Saori mentioned development of "the most insane web3 app period" expected in about a month, though no technical details were provided.

### AI & Agents
- **AI Model Updates**: Brief discussions about Anthropic AI, the Oracle Framework, Microsoft's Phi-4 AI model release, and ElevenLabs' voice response capabilities (under 2 seconds).
- **AI Integration Interest**: Some members expressed interest in AI integration with Hyperfy for game development, including voice command functionality.

### Token & Business
- **HYPER Token Discussion**: Community members discussed Hyperfy's token utility and tokenomics, with Saori emphasizing that adoption is more important than token flywheels.
- **Second Life Metrics**: Discussion about Second Life metrics (500k MAU, 18k DAU) as a comparison point.
- **Partnership Interest**: A representative from SMOL/Treasure team reached out for potential partnerships/collaborations and was connected with Saori.

## Key Questions & Answers

**Q: Is now the way to deploy a hyperfy world to prod to just like clone the repo work on it locally and they deploy it to vercel?**  
A: Hyperfy can be self-hosted using options documented at hyperfy.how/hosting/self, with Fly.io and Coolify recommended by community members. Alternatively, hyperworld.host offers hosting for $5.

**Q: I've noticed the texture size is much bigger in the outliner than the jpgs loaded? Was just curious as to why that might be?**  
A: That's texture VRAM, i.e., uncompressed and pushed to the GPU.

**Q: Can I make one node create a duplicate of another node?**  
A: Yes, using clone method: const dog2 = dog1.clone(true); app.add(dog2);

**Q: What's the best way to store mp3s from elevenlabs API?**  
A: If elevenlabs API returns an mp3 URL, you can use it directly: const sound = app.create('audio', { src: 'http://...' }); sound.play();

**Q: Does unique only effect models duplicated after you set it?**  
A: Unique just means any new duplicates will be completely disconnected from anything. When an app is marked unique, all linked copies become unique since they were linked.

**Q: How are you currently handling env variables? Can you have older worlds running older env variables and newer worlds running newer env variables?**  
A: "I'm putting them in the docker service environment variable, so I can have different worlds with different set of envs. I'd have to change the set of envs manually for the newer images, but I have a command to do that over all my worlds at the same time."

**Q: How do curbs of different heights affect player movement?**  
A: Depending on the height (around 0.15m in Blender), it changes whether players can automatically walk up it.

**Q: Any ideas how we're gonna deal with water physics?**  
A: If inside volume, use swimming mode with buoyancy. Anyone should be able to make their own water, with an invisible water volume that switches controller to swimming mode and maybe lets other things float in it.

## Community Help & Collaboration

- **Navmesh Generator**: Shiffty shared a navmesh generator with A* pathfinding, which sparked collaborative discussion about potential applications for NPC movement.

- **App-Rollup Tool**: MayD524 created and shared a tool that solves organization issues for Hyperfy developers by enabling work with multiple files instead of a single app.js file.

- **GLB Model Renderer**: devilsadvocate.sol created and shared wizard.grape.wtf that renders GLB models as animated GIFs for easy sharing in Discord.

- **Code Editor Improvement**: Omka implemented and shared a solution for word-wrapping in the code editor by modifying the Monaco editor configuration.

- **Market Dynamics Explanation**: When Knar was confused about HYPER price stability despite SOL dropping 30%, abinge05 provided a detailed explanation of market dynamics where "weak hands were shaken out of low caps first" and described likely token flow patterns.

- **Texture Issue Resolution**: When TheMattEmpire had fuzzy textures at distance, Ashxn identified that they had set texture to 'Closest' instead of 'Linear' in node settings; setting it back fixed the issue.

- **Animation Guidance**: When Shiffty had issues with sitting animations looping, Omka suggested using a specific sitting pose from mixamo that would work better than the standing-to-sitting transition.

## Action Items

### Technical
- Implement a native version of navmesh/pathfinding for agents in Hyperfy core (mentioned by peezy)
- Fix Discord/GitHub summarizer bugs (mentioned by jin)
- Implement web view capability for 2D content (mentioned by maximus)
- Fix avatar scaling persistence when equipping from stations (mentioned by drdoge.eth)
- Implement streaming audio capabilities (mentioned by MetaMike)
- Explore Microsoft Phi-4 AI model once available on Ollama (mentioned by maximus)
- Implement agent voice responses (mentioned by MetaMike)
- Fix framerate issues in GLB model renderer (mentioned by devilsadvocate.sol)
- Add download button to model renderer (mentioned by devilsadvocate.sol)
- Fix player sliding at top speeds in vehicles (mentioned by Shiffty)
- Implement water physics system (mentioned by Ashxn)
- Investigate platform/object loading order issue where objects fall through platforms (mentioned by general hyper)
- Evaluate push/pull vs. raise/lower mechanics for object positioning (mentioned by general hyper)
- Implement version compatibility checks similar to CMake for Hyperfy worlds (mentioned by MayD524)
- Make servers send all necessary configuration data to clients in the first websocket connection message (mentioned by ash)
- Create standardized approach to object snapping in road kits (mentioned by TheMattEmpire)
- Fix snapping issues with road objects (mentioned by general hyper)
- Fix disconnection issue when multiple client windows are open (mentioned by devilsadvocate.sol)
- Explore AI integration for game development on Hyperfy (mentioned by Abhishek)
- Implement voice command functionality for AI-generated games (mentioned by Akuma)

### Features
- Add respawn zones for sky builds (mentioned by MetaRick)
- Implement image generation in Eliza (mentioned by Omka)
- Add proper sitting animations (mentioned by Shiffty)
- Add sound effects to hyperduck (mentioned by devilsadvocate.sol)
- Add word-wrapping toggle in code editor (mentioned by Omka)
- Implement drag-and-drop functionality for emotes (mentioned by Omka)
- Create API or URL access to emotes collection (mentioned by Omka)
- Review new feature/plugin proposal in GitHub issue #54 (mentioned by 33)
- Complete app marketplace rework with collections and tags (mentioned by szjanko)
- Create power-up competition with street world kit (mentioned by maximus)
- Implement vehicle support (mentioned by maximus)
- Support for Abstract platform (mentioned by manbull)
- Consider implementing functionality similar to Pieter Levels' AI-generated 3D worlds (mentioned by Akuma)
- Create side party world for community members (mentioned by Omka)
- Development of a new web3 application (mentioned by Saori)

### Documentation
- Create TypeScript definitions for Hyperfy API (mentioned by MayD524)
- Improve app marketplace with collections and tags (mentioned by szjanko)
- Encourage developers to include video clips of apps in action (mentioned by maximus)
- Document new environment variable changes (mentioned by ash)
- Provide information about token unlock schedule (mentioned by harike7)