{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-04-24",
  "date": 1745452800,
  "stats": {
    "totalMessages": 685,
    "totalUsers": 43
  },
  "categories": [
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Discord Chat Analysis\n\n## 1. Summary\nThe discussion primarily focused on UI/UX improvements for Hyperfy's development environment and particle system implementations. Gert-Jan Akerboom showcased a rocket launcher with particle effects, receiving feedback on using `rateOverDistance` for better particle distribution. Omka shared progress on a UI overhaul that reorganizes the code editor interface with split views and tabbed components, aiming to improve workflow efficiency. Ashxn expressed concerns about maintaining simplicity while adding functionality, particularly regarding app palettes. They discussed technical challenges with apps spawning other apps and the security implications. The conversation also covered control mechanisms for UI elements, keyboard shortcuts for inventory systems, and loading assets from IPFS. Ashxn shared PRNG implementations for randomization needs. The developers discussed the importance of providing user feedback during loading processes and the potential for more advanced UI features similar to other platforms like Resonite.\n\n## 2. FAQ\nQ: How can I make particles distribute evenly when moving? (asked by Gert-Jan Akerboom) A: Use rateOverDistance=5 which means every meter the emitter moves it will distribute 5 particles over that meter evenly (answered by Ashxn)\nQ: How can I capture scroll wheel input in a hyp? (asked by Omka) A: Use control.scrollDelta.capture = true to take over the scroll wheel, but only capture it when needed (answered by Ashxn)\nQ: How can I implement a keyboard shortcut to toggle UI elements? (asked by Omka) A: Use control.keyI.onPress with a boolean flag to track visibility state (answered by Ashxn)\nQ: Can an app load another app from IPFS? (asked by Omka) A: Currently not supported as it raises security concerns; would need a world.loadApp function with permissions (answered by Ashxn)\nQ: Is it possible to have a custom player/camera controller in first person? (asked by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎) A: Yes, can be implemented by attaching to head bone (answered by Omka)\nQ: What's a good PRNG implementation for Hyperfy? (asked by Ashxn) A: Shared two implementations - a lightweight mulberry32 and a more robust LFSR-based solution (answered by Ashxn)\n\n## 3. Help Interactions\nHelper: Ashxn | Helpee: Gert-Jan Akerboom | Context: Improving particle distribution for rocket launcher | Resolution: Suggested using rateOverDistance parameter for more even particle distribution\nHelper: Ashxn | Helpee: Omka | Context: Capturing scroll wheel input in a hyp | Resolution: Provided control.scrollDelta.capture solution\nHelper: Ashxn | Helpee: Omka | Context: Implementing keyboard shortcuts for UI toggling | Resolution: Shared code example using control.keyI.onPress with boolean flag\nHelper: Omka | Helpee: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Context: Creating custom camera controller | Resolution: Suggested attaching to head bone and shared reference implementation\nHelper: Ashxn | Helpee: Community | Context: Need for reliable random number generation | Resolution: Shared two PRNG implementations with different performance characteristics\n\n## 4. Action Items\nType: Technical | Description: Implement UIScroll and UIInput nodes for better UI capabilities | Mentioned By: Ashxn\nType: Technical | Description: Create world.loadApp function with appropriate security permissions | Mentioned By: Ashxn\nType: Technical | Description: Add app scaling reset functionality and position/rotation/scale inputs | Mentioned By: Ashxn\nType: Feature | Description: Implement loading feedback UI when importing assets | Mentioned By: ᲼\nType: Feature | Description: Create app palette system for easier app discovery and addition | Mentioned By: Ashxn\nType: Feature | Description: Develop wallet integration for avatar customization based on blockchain holdings | Mentioned By: maximus\nType: Technical | Description: Improve UI for better mobile experience | Mentioned By: Omka\nType: Feature | Description: Add support for multi-screen development with pop-out UI components | Mentioned By: Omka\nType: Feature | Description: Implement transparent screen-space UI that works in VR | Mentioned By: Ashxn\nType: Documentation | Description: Document PRNG implementations and use cases | Mentioned By: Ashxn",
      "messageCount": 238,
      "userCount": 11
    },
    {
      "channelId": "1330373197203505185",
      "channelName": "🤖│agents",
      "summary": "# Analysis of Discord Chat in \"🤖│agents\" Channel\n\n## 1. Summary\nThe chat segment is extremely brief, containing only two messages. PabloFM from Numinia shared a link to a Mirror article from m3org.eth, thanking another user. The content appears to be related to some \"cool stuff\" that could be implemented or explored, but no specific technical discussions, decisions, or problem-solving occurred in this limited exchange.\n\n## 2. FAQ\nNo questions were asked or answered in this chat segment.\n\n## 3. Help Interactions\nNo help interactions occurred in this chat segment.\n\n## 4. Action Items\nFeature: Review content from shared Mirror article for potential implementation | Description: PabloFM shared a link to \"cool stuff\" that could be implemented | Mentioned By: PabloFM | Numinia",
      "messageCount": 2,
      "userCount": 2
    },
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Discord Chat Analysis\n\n## 1. Summary\nThe chat primarily revolves around 3D avatar creation, optimization, and implementation in Hyperfy. A significant technical discussion emerged around using AI tools like TripoSG to generate 3D models from 2D images, with Ashxn sharing his workflow for optimizing and rigging these models. The process involves using Blender with plugins like VRM addon and AutoRigPro. Community members shared their experiences with creating avatars, particularly \"Retardio\" models, and discussed their implementation in Hyperfy worlds. There was also mention of transparency issues in v1 that needed fixing. The conversation highlighted the rapid advancement of AI-generated 3D content creation and the potential for streamlining this process further, possibly through API integration or scripting repetitive tasks. Some members expressed interest in attending the Solana Conference to represent Hyperfy. The chat also touched on CloneX's metadata issues and their migration to Arweave.\n\n## 2. FAQ\nQ: What is the process for creating 3D avatars from 2D images? (asked by peezy) A: Use TripoSG to generate the 3D model, then optimize and rig it in Blender using VRM addon and AutoRigPro (answered by Ashxn)\nQ: Was there an issue with transparency in v1? (asked by Akuma) A: Yes, but it's an easy fix according to bogie (answered by Akuma)\nQ: Can we punch now in hyperfy? (asked by Akuma) A: In some worlds, yes (answered by Ashxn)\nQ: Where are you running TripoSG? (asked by peezy) A: On Hugging Face, though it was temporarily down (answered by Ashxn)\nQ: What's retardio? (asked by CheddarQueso 🧀) A: A milady sub culture inverse culture (answered by Akuma)\n\n## 3. Help Interactions\nHelper: Ashxn | Helpee: peezy | Context: Creating a 3D avatar from peezy's 2D image | Resolution: Ashxn created, optimized and rigged a 3D model for peezy in about 15 minutes\nHelper: Ashxn | Helpee: Community | Context: Sharing workflow for 3D avatar creation | Resolution: Shared Twitter thread explaining the process and mentioned additional steps using VRM addon and AutoRigPro\nHelper: ᲼ (bogie) | Helpee: Akuma | Context: Akuma requested a station to swap into near gotenks | Resolution: bogie added it to his world\nHelper: Omka | Helpee: Akuma | Context: Akuma looking for mario tunnel for schizodio model | Resolution: Omka mentioned that bogie has a mario tunnel in hyperfy\n\n## 4. Action Items\nTechnical: Implement API for TripoSG or similar 3D avatar generation tools in Hyperfy | Description: Enable direct 3D avatar creation without manual Blender work | Mentioned By: Ashxn\nTechnical: Fix transparency issues in v1 | Description: Address the transparency problem that affects some models | Mentioned By: Akuma\nTechnical: Script the repetitive parts of 3D avatar optimization process | Description: Automate the standard workflow for processing AI-generated 3D models | Mentioned By: Ashxn\nFeature: Add more avatar customization options | Description: Implement functionality for avatar customization similar to what was shown in chat | Mentioned By: Akuma\nFeature: Create \"Where's Peezy\" game | Description: Develop a game where users find peezy hidden among similar colored objects | Mentioned By: Omka\nFeature: Create \"Retardio Party\" with multiple avatar options | Description: Implement a world or feature with multiple Retardio avatars | Mentioned By: Ashxn\nDocumentation: Document the process for optimizing and rigging 3D avatars | Description: Create detailed instructions for the community | Mentioned By: peezy",
      "messageCount": 206,
      "userCount": 23
    },
    {
      "channelId": "1031058655581323324",
      "channelName": "🧊│3d-design",
      "summary": "# Discord Chat Analysis: 🧊│3d-design\n\n## 1. Summary\nThe chat primarily focused on 3D optimization techniques, particularly for trees and vegetation in Hyperfy environments. Users discussed the eztree.dev tool for creating tree models and the importance of optimizing with WebP textures to reduce file size by up to 80%. There was significant discussion about performance considerations, with voxvienne noting that tree models can be polygon-heavy (up to 800k triangles) due to numerous leaf planes. \n\nAshxn shared updates about new developer features including app toggling to assess performance impact, scale gizmo functionality, and mousewheel controls for rotation and scaling. He also demonstrated efficient tree instantiation with a simple code snippet that could spawn hundreds of trees with world-space wind shader effects.\n\nSeveral users shared techniques for LOD (Level of Detail) implementation, with discussion about Armory for auto-generating LODs and proper workflow integration with Hyperfy Tools. Shiffty shared a script for distributing objects on terrain using raycasting. The community also discussed the need for performance visualization tools like a bar that shows resource usage across different device targets.\n\nThe conversation highlighted the balance between visual quality and performance optimization, with particular emphasis on mobile and VR compatibility considerations.\n\n## 2. FAQ\nQ: Can you create trees for Hyperfy and how do you optimize them? (asked by devilsadvocate.sol) A: Use eztree.dev to create trees and download as GLB, then process through glb.babylonpress.org before using in Hyperfy. Convert textures to WebP for 80% file size reduction. (answered by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)\nQ: How can I toggle apps to see their performance impact? (asked by MetaRick) A: App toggling has been added in the dev branch to turn apps off and see performance impact. (answered by Ashxn)\nQ: Is it possible to tell what the FPS would be on other devices when developing on desktop? (asked by TheMattEmpire) A: Not directly, but it might be possible to make an educated guess. (answered by Ashxn)\nQ: Can we make hyp files to toggle visibility of multiple objects at once? (asked by MetaRick) A: Apps can toggle their own meshes with mesh.active=false, but for cross-app events you need to use scripts. (answered by Ashxn)\nQ: How can I distribute objects on terrain? (implied by Shiffty's post) A: Use a script that raycasts against tagged terrain to place objects. (answered by Shiffty)\n\n## 3. Help Interactions\nHelper: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Helpee: devilsadvocate.sol | Context: Creating optimized trees for Hyperfy | Resolution: Shared eztree.dev for tree creation and glb.babylonpress.org for optimization, explaining WebP texture benefits for transparency and file size reduction.\nHelper: Ashxn | Helpee: MetaRick | Context: Toggling app visibility for performance testing | Resolution: Implemented app toggling in dev branch and explained how it works.\nHelper: Ashxn | Helpee: Chat | Context: Efficient tree instantiation | Resolution: Shared code snippet for cloning and placing hundreds of trees with wind effects.\nHelper: ᲼ | Helpee: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Context: LOD generation workflow | Resolution: Explained using Armory for auto-LOD generation despite workflow being \"all over the place\" and \"not noob friendly\".\nHelper: Shiffty | Helpee: Chat | Context: Distributing objects on terrain | Resolution: Shared a script for placing objects on terrain using raycasting against tagged terrain objects.\n\n## 4. Action Items\nTechnical: Implement WebP texture conversion for tree models to reduce file size by 80% | Mentioned By: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎\nTechnical: Use proper LOD setup when scattering objects with scripts | Mentioned By: ᲼\nTechnical: Process tree models through glb.babylonpress.org before using in Hyperfy | Mentioned By: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎\nFeature: Create a performance visualization bar showing resource usage across device targets | Mentioned By: TheMattEmpire\nFeature: Develop auto-LOD generation tools integrated with Hyperfy workflow | Mentioned By: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎\nFeature: Add color-coding for expensive assets in the editor view | Mentioned By: TheMattEmpire\nFeature: Implement PRNG seed for consistent object placement across clients | Mentioned By: Ashxn\nDocumentation: Create optimization guides for different device targets (Mobile, VR, Desktop) | Mentioned By: TheMattEmpire\nDocumentation: Provide performance cost guidelines for avatars, polygons, materials, and textures | Mentioned By: TheMattEmpire",
      "messageCount": 132,
      "userCount": 13
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "# Discord Chat Analysis for \"🪙│hyper\" Channel\n\n## 1. Summary\nThe chat primarily revolves around community dynamics rather than technical discussions. There's tension between community members, particularly involving HowieDuhzit, Saori, and others regarding funding priorities and project direction. Saori mentions \"hypkg\" as a solution for adding custom libraries and functionality to Hyperfy, allowing builders to work with different chains (EVM, SVM, MCP). There's a brief discussion about Raydium's \"burn and earn\" mechanism where liquidity is locked and fees are earned from volume. A representative from Treasure (Smol Preeminent) inquires about integrating their AI Smol avatar into Hyperfy for co-marketing purposes. The conversation also touches on Hyperfy's open-source nature compared to OnCyber, and some community members express concerns about project direction while others defend the current approach.\n\n## 2. FAQ\nQ: What is hypkg? (implied from Saori's explanation) A: A standard way to add and distribute modifications/custom libraries/functionality to Hyperfy, allowing builders to work with different chains (answered by Saori)\nQ: How does Raydium's \"burn and earn\" work? (asked by general hyper) A: The liquidity is locked (\"burnt\") and earns fees off volume that need to be harvested periodically (answered by ash)\nQ: Who should I connect with to integrate our AI Smol as an agent avatar in Hyperfy? (asked by Smol Preeminent) A: maximus suggested connecting with HyperWorld host team members who were furthest along with supporting in-world agents (answered by maximus)\n\n## 3. Help Interactions\nHelper: maximus | Helpee: Smol Preeminent | Context: Integrating Smol avatar into Hyperfy | Resolution: Provided information about VRM standards to follow and offered assistance with design elements via the appropriate channel\nHelper: general hyper | Helpee: ash | Context: Understanding how DEX screener records transactions | Resolution: Clarified that DEX screener records fee collection as \"removing liquidity\" which can be misleading\nHelper: ash | Helpee: general hyper | Context: Explaining Raydium's \"burn and earn\" mechanism | Resolution: Explained how the system works with locked liquidity earning fees from volume\n\n## 4. Action Items\nTechnical: Integrate Treasure's AI Smol avatar into Hyperfy | Description: Create 3D model following VRM standards for avatar integration | Mentioned By: Smol Preeminent\nFeature: Support for multiple blockchain integrations | Description: hypkg allows builders to work with different chains (EVM, SVM, MCP) | Mentioned By: Saori\nTechnical: Apply for Kraken listing | Description: Consider applying for exchange listing as criteria are becoming less strict | Mentioned By: general hyper\nDocumentation: Improve clarity on how DEX screener records transactions | Description: DEX screener records fee collection as \"removing liquidity\" which can be confusing | Mentioned By: general hyper",
      "messageCount": 67,
      "userCount": 14
    },
    {
      "channelId": "999870741069692958",
      "channelName": "🌆│share",
      "summary": "# Analysis of Discord Chat in \"🌆│share\" Channel\n\n## 1. Summary\nThe chat segment contains no technical discussions, problem-solving, or implementations. It consists entirely of shared content: a YouTube video link and three Twitter/X posts that were shared via a bot named \"Rick\" that formats and displays tweets. There is one short comment (\"lmao\") from a user named \"peezy\". No technical content, decisions, or solutions are present in this conversation.\n\n## 2. FAQ\nNo questions were asked or answered in this chat segment.\n\n## 3. Help Interactions\nNo help interactions occurred in this chat segment.\n\n## 4. Action Items\nNo action items were identified in this chat segment.",
      "messageCount": 5,
      "userCount": 3
    },
    {
      "channelId": "1022421054582423562",
      "channelName": "🐞│issues",
      "summary": "Transform handles for GLB models in build mode - Users can access some transform controls using keyboard shortcuts (2 and 3), but scale handlers aren't yet fully implemented.",
      "messageCount": 28,
      "userCount": 10
    },
    {
      "channelId": "1332430296737644677",
      "channelName": "🎨│showcase",
      "summary": "No significant technical discussions, decisions, or problem-solving occurred in this chat segment. The conversation consisted primarily of users sharing their creations without technical details. Gert-Jan Akerboom shared an NPC raptor implementation with a \"locationator\" feature and a rocket launcher. User maximus shared content without description, and Agent12 made a brief comment about something \"GOOOOESSS\".",
      "messageCount": 7,
      "userCount": 3
    }
  ]
}