{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-04-01",
  "date": 1743465600,
  "stats": {
    "totalMessages": 360,
    "totalUsers": 29
  },
  "categories": [
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Discord Chat Analysis\n\n## 1. Summary\nThe chat primarily revolves around building and development in what appears to be a 3D virtual environment platform. Users discussed first-person building capabilities, with ash sharing a drone solution that enables first-person flying mode while building. Devbyte mentioned creating a quick edit with cursor configuration for keybinds without needing proximity to the drone. There were discussions about asset placement, with CheddarQueso noting the smooth drag-and-drop functionality but mentioning size optimization issues for larger assets. Users shared imported assets including what appears to be a Shell gas station ripped from GTA5. The community also discussed external projects like Dappcraft's work, which was praised for its quality. A community call was mentioned as scheduled for Wednesday. Technical discussions focused on syncing issues that ash fixed, and the implementation of first-person building mechanics.\n\n## 2. FAQ\nQ: How do I go first person? (asked by CheddarQueso 🧀) A: Drop this in your world and you can build in first-person flying mode. (answered by ash)\nQ: Who made a whole shell station? (asked by CheddarQueso 🧀) A: A homie ripped it from gta5 (answered by .hyp shaman)\nQ: Could we jam this Game into a .hyp? (asked by Agent12) A: Unanswered\n\n## 3. Help Interactions\nHelper: ash | Helpee: CheddarQueso 🧀 | Context: Needed first-person building capability | Resolution: Provided a drone solution for first-person flying mode building\nHelper: devbyte | Helpee: CheddarQueso 🧀 | Context: Improving first-person building experience | Resolution: Created a quick edit with cursor that allows configuring a keybind without needing proximity to the drone\nHelper: ash | Helpee: Community | Context: Syncing issues | Resolution: Fixed syncing issues with an implementation (specific details not provided)\n\n## 4. Action Items\nTechnical: Optimize larger assets for placement | Description: Some assets were too large to drop and need optimization | Mentioned By: CheddarQueso 🧀\nTechnical: Fix syncing issues | Description: Implementation to address syncing problems | Mentioned By: ash\nFeature: Add trees to the environment | Description: User requested trees for the building environment | Mentioned By: CheddarQueso 🧀\nDocumentation: Community call scheduled | Description: Community call on Wednesday | Mentioned By: CheddarQueso 🧀",
      "messageCount": 31,
      "userCount": 11
    },
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Discord Chat Analysis\n\n## 1. Summary\nThe chat primarily focused on Hyperfy development updates and technical assistance. Key developments include the addition of skinned mesh support, which enables non-humanoid animations for pets, mounts, and bosses. This feature allows developers to get bone transforms and play animations with crossfading capabilities. Another significant update was the addition of gizmos. The developers also discussed vertex colors in meshes, noting that Blender requires specific export settings to maintain them. There were discussions about deploying Hyperfy on Digital Ocean, with users troubleshooting issues related to SSH connections, environment variables, and HTTPS requirements for file uploads. The chat also covered custom events implementation, emote application to players, and UI improvements like a fullscreen button. Several developers shared their progress on various projects, including climbing mechanics, procedurally generated instances, and pet implementations.\n\n## 2. FAQ\nQ: How do I create and subscribe to a custom event? (asked by smickelbeard) A: Use app.emit() to create events and world.on() to subscribe to them (answered by ash)\nQ: How do I properly traverse into an avatar node? (asked by .hyp shaman) A: The avatar node is abstracted; you can only read bone transforms with avatar.getBoneTransform and toggle emotes (answered by ash)\nQ: Does anyone have experience hosting Hyperfy on Digital Ocean? (asked by mio) A: Yes, follow the guide at https://github.com/hyperfy-xyz/hyperfy/wiki/Deploy-a-world-(Digital-Ocean) (answered by ash)\nQ: Why can't we import objects permanently in our Digital Ocean hosted world? (asked by mio) A: Non-HTTPS websites can't use the file hashing required for uploads (answered by ash)\nQ: Is blending between animations on the table? (asked by TheMattEmpire) A: Skinned mesh animations have a fade number for crossfading, and emotes have a hard-coded 0.15s fade (answered by ash)\nQ: Shouldn't a single mesh with vertex colors be one draw call even if it's 2 colors? (asked by HowieDuhzit) A: Yes, vertex colors are just geometry attributes, but Blender requires specific export settings (answered by ash)\nQ: Does firebolt need everything in one file for performance? (asked by 0mka) A: It's not required for speed, just a preference (answered by ash)\nQ: How do I get the skinned mesh (wolf maro) running in my local world? (asked by Gert-Jan Akerboom) A: You need to be on the latest dev branch (answered by ash)\nQ: Is it possible to reference the spawn position in a hyp object code? (asked by MiaHigashikata) A: It's 0,0,0 by default (answered by ash)\nQ: What is the ideal size/dimensions for an image in the app UI? (asked by Valiant) A: Square, 256 or 512 pixels (answered by ash)\n\n## 3. Help Interactions\nHelper: ash | Helpee: Valiant | Context: Implementing sit emote on a raptor mount | Resolution: Provided code to apply emote effect to player when mounting\nHelper: ash | Helpee: mio | Context: Digital Ocean deployment issues with Hyperfy loading but not completing | Resolution: Identified that .env needed to use IP address instead of localhost\nHelper: ash | Helpee: mio | Context: Unable to permanently import objects in Digital Ocean hosted world | Resolution: Explained HTTPS requirement for file hashing before upload\nHelper: ash | Helpee: smickelbeard | Context: Creating and subscribing to custom events | Resolution: Provided code example showing app.emit() and world.on() usage\nHelper: peezy | Helpee: Gert-Jan Akerboom | Context: Confusion about switching to dev branch | Resolution: Provided git commands to check status, switch branches, and pull updates\nHelper: HowieDuhzit | Helpee: TheMattEmpire | Context: Exporting vertex colors from Blender | Resolution: Identified the \"set vertex color to active\" setting needed\n\n## 4. Action Items\nType: Technical | Description: Implement skinned mesh support for non-humanoid animations | Mentioned By: ash\nType: Technical | Description: Add gizmos functionality | Mentioned By: .hyp shaman\nType: Technical | Description: Implement fullscreen button in UI | Mentioned By: ash\nType: Technical | Description: Improve vertex color export from Blender | Mentioned By: HowieDuhzit\nType: Documentation | Description: Update Digital Ocean deployment guide to clarify environment variable requirements | Mentioned By: mio\nType: Documentation | Description: Add guide for forking Hyperfy to documentation | Mentioned By: CheddarQueso 🧀\nType: Documentation | Description: Improve dev branch setup instructions in quickstart guide | Mentioned By: Gert-Jan Akerboom\nType: Feature | Description: Implement \"glue\" concept similar to neos/resonite | Mentioned By: .hyp shaman\nType: Feature | Description: Add LOD hooks to disable far away behavior for performance | Mentioned By: Shiffty\nType: Feature | Description: Add customizable fade support to emotes | Mentioned By: ash",
      "messageCount": 218,
      "userCount": 18
    },
    {
      "channelId": "1031058655581323324",
      "channelName": "🧊│3d-design",
      "summary": "# Discord Chat Analysis for 🧊│3d-design Channel\n\n## 1. Summary\nThe chat primarily revolves around 3D design features and movement mechanics in what appears to be a virtual world platform. CheddarQueso praises the platform's ease of use compared to Nifty and DCL, highlighting keyboard shortcuts, snap features for rotation, and drag-and-drop functionality, while noting the need for scaling and collider setup. \n\nA significant technical discussion centers around movement mechanics, with TheMattEmpire proposing a comprehensive list of player movement options that could be toggled on/off via an app, including walk, run, jump, slide, wall run, and more. This sparked further conversation about implementing these features.\n\nPeezy demonstrates implementing a dash mechanic that allows for double-dashing and dash-jump combinations, sharing video examples. General Hyper and Peezy discuss a 3D model of what appears to be a rack/cart, with suggestions for adding snap points to allow stacking and potentially adding status screens and buttons. Ash confirms that snap points can be added programmatically through code.\n\nThe conversation also touches on AI-generated content, with Ash sharing a link about advancements in AI technology.\n\n## 2. FAQ\nQ: How do I jump on mobile? (asked by BallisticBanana) A: Unanswered\nQ: Is slide going into core? (asked by TheMattEmpire) A: Not likely for core, but could be an app that adds that ability (answered by ash)\nQ: Can you add snaps in code too? (asked by general hyper) A: Yes (answered by ash)\n\n## 3. Help Interactions\nHelper: ash | Helpee: general hyper | Context: Asked if snap points can be added programmatically in code | Resolution: Confirmed with \"😏 yes\" that snaps can be created via code with `const snap = app.create('snap')`\nHelper: general hyper | Helpee: peezy | Context: Discussing improvements to a 3D cart model | Resolution: General hyper offered to swap in an updated cart model with fixed textures and mentioned plans to shorten depth and add snaps for peripherals\n\n## 4. Action Items\nTechnical: Add scaling functionality to the platform | Description: Ability to scale objects in the editor | Mentioned By: CheddarQueso 🧀\nTechnical: Implement colliders for VIPE houses | Description: Need a way to set up colliders on VIPE houses | Mentioned By: CheddarQueso 🧀\nTechnical: Add snap points to the top of racks | Description: Allow for easy stacking of rack models | Mentioned By: peezy\nTechnical: Shorten depth of cart model | Description: Modify the cart model for better usability | Mentioned By: general hyper\nTechnical: Add snaps in the back for peripherals | Description: Improve cart model with additional snap points | Mentioned By: general hyper\nFeature: Create toggleable movement mechanics app | Description: App allowing hosts to choose which movement mechanics are available in their world | Mentioned By: TheMattEmpire",
      "messageCount": 44,
      "userCount": 9
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "# Discord Chat Analysis for 🪙│hyper Channel\n\n## 1. Summary\nThe discussion primarily focused on permission systems for building in virtual spaces. The main technical challenge discussed was how to implement zone-based permissions without causing performance issues. Users debated whether checking if users are within designated zones would be too resource-intensive. An alternative approach of grouping objects under collections with assigned permissions was mentioned as being previously considered.\n\nThe conversation evolved into discussing potential workarounds, such as using colliders to toggle builder permissions when users enter specific plots. However, several exploits were identified, including the ability to stand at the edge of a plot and interact with objects outside it, or spawning large objects from within a permitted area and moving them elsewhere.\n\nThe group compared this challenge to existing games like Rust and Minecraft, noting that these games restrict users to approved assets and server-controlled plugins. They acknowledged that while implementing a secure building system with permissions is possible, it presents significant implementation challenges.\n\n## 2. FAQ\nQ: Could we just expose a bool in the API which assigns builder role? (asked by general hyper) A: No direct answer, but discussion revealed potential exploits with this approach (implied by ash)\nQ: What does this mean? (asked by CheddarQueso 🧀) A: Looks like that was an \"out of Range\" Liquidity position. Maybe from when Hyper was more Expensive? (answered by Agent12)\n\n## 3. Help Interactions\nHelper: BallisticBanana | Helpee: Gert-Jan Akerboom | Context: Gert-Jan used wrong command ($hyper instead of $hyperfy) | Resolution: BallisticBanana corrected him with the proper command\n\n## 4. Action Items\nTechnical: Explore alternatives to zone-based permissions that don't impact performance | Description: Consider object collections with assigned permissions instead of checking if users are in designated zones | Mentioned By: maximus\nTechnical: Investigate secure building systems that prevent exploits | Description: Current approaches allow users to bypass restrictions by standing at plot edges or moving spawned objects | Mentioned By: general hyper\nFeature: Consider implementing a Minecraft/Rust-like building system with approved assets | Description: A system where users can only place pre-approved assets with limited scriptability | Mentioned By: general hyper",
      "messageCount": 30,
      "userCount": 9
    },
    {
      "channelId": "1022421054582423562",
      "channelName": "🐞│issues",
      "summary": "# Analysis of 🐞│issues Channel\n\n## 1. Summary\nThe chat segment contains a brief discussion about a z-fighting issue in a 3D model with UI elements. Z-fighting occurs when two or more primitives have similar values in the z-buffer, causing them to overlap incorrectly during rendering. A user named \"general hyper\" is experiencing this issue where a UI plane appears to be clipping into a model. \"ash\" suggested adding a small gap to fix the z-fighting or removing the extra face where the label is placed. \"general hyper\" mentioned they had already tried moving the UI plane forward and shrinking its width, but the issue persisted. The conversation indicates they will share the models later for further troubleshooting. There was also a brief mention of an inaccessible link and a notification about someone named \"admin\" joining the server.\n\n## 2. FAQ\nQ: What might be causing the z-fighting issue with the UI plane and model? (asked by general hyper) A: It could be fixed by adding a small gap or removing the extra face where the label is placed (answered by ash)\n\n## 3. Help Interactions\nHelper: ash | Helpee: general hyper | Context: Z-fighting issue between UI plane and 3D model | Resolution: Suggested adding a small gap or removing the extra face where the label is placed, but issue persisted after initial attempts\n\n## 4. Action Items\nTechnical: Investigate z-fighting between UI plane and 3D model | Description: Determine why moving the plane forward and shrinking width doesn't resolve the issue | Mentioned By: general hyper\nTechnical: Share 3D models for further troubleshooting | Description: Provide models to help diagnose the z-fighting issue | Mentioned By: general hyper",
      "messageCount": 11,
      "userCount": 5
    },
    {
      "channelId": "1332430296737644677",
      "channelName": "🎨│showcase",
      "summary": "# Analysis of 🎨│showcase Channel\n\n## 1. Summary\nThe showcase channel primarily featured updates to the Builder Drone X501, including fixes for synchronization issues and a bug where refreshing during drone flight would not release the drone. There was also discussion about texture variants for what appears to be a road or track system, with TheMattEmpire mentioning plans for \"simple, tron, and rainbow road variants.\" CheddarQueso suggested additional themed variants like \"Christmas road\" and functional variants such as \"motocross ramps\" and \"driver training obstacle course.\" TheMattEmpire acknowledged considering dirt sections for motocross ramps as a potential future addition. Other showcased items included a Vanguard class dash component and a mobile jump button interface featuring a prominent red button.\n\n## 2. FAQ\nQ: We need a better way to organise all these lmao (asked by ash) A: Unanswered\nQ: Regarding motocross ramps, I did consider dirt sections actually...might look at that eventually perhaps? (asked by TheMattEmpire) A: Unanswered\n\n## 3. Help Interactions\nHelper: ash | Helpee: Community | Context: Builder Drone X501 had synchronization issues | Resolution: Fixed sync issues and resolved a bug where refreshing during flight wouldn't release the drone\n\n## 4. Action Items\nType: Technical | Description: Need a better way to organize showcased items | Mentioned By: ash\nType: Feature | Description: Implement texture variants (simple, tron, rainbow road) for road/track system | Mentioned By: TheMattEmpire\nType: Feature | Description: Consider adding dirt sections for motocross ramps | Mentioned By: TheMattEmpire\nType: Feature | Description: Mobile jump button interface | Mentioned By: .hyp shaman",
      "messageCount": 21,
      "userCount": 7
    },
    {
      "channelId": "958214956426350652",
      "channelName": "📣│announcements",
      "summary": "# Analysis of Discord Channel \"📣│announcements\"\n\n## 1. Summary\nThe announcement shared by user \"ash\" details the release of v0.10.0, representing a significant update with over 80 additions, improvements, and bug fixes implemented over a two-and-a-half-week period. The update introduces a redesigned interface based on community feedback to streamline world building. Key technical additions include a new world menu for administrators that allows changing the default environment, avatar, and spawn point. The update also introduces a transform gizmo for precise object manipulation. Technical improvements include controller support for various apps, support for interleaved buffer geometry, geometry handles, Math globals, and new player properties. The update adds functionality for apps to redirect to URLs or open in new tabs, load models dynamically from URLs, and find nodes by ID within hierarchies. Experimental mod/plugin hooks were added, along with ping time statistics. Various fixes address UI issues, VR button functionality, octree optimization for small objects (improving memory usage), audio unmounting, and VRM avatar loading race conditions.\n\n## 2. FAQ\nNo questions were present in the provided chat transcript.\n\n## 3. Help Interactions\nNo help interactions were present in the provided chat transcript.\n\n## 4. Action Items\nType: Technical | Description: Implement new mod/plugin hooks (currently experimental) | Mentioned By: ash\nType: Technical | Description: Address remaining UI gap size issues | Mentioned By: ash\nType: Technical | Description: Continue improving octree performance for small objects | Mentioned By: ash\nType: Documentation | Description: Update documentation for uiimage node | Mentioned By: ash\nType: Feature | Description: Expand world menu functionality for admins | Mentioned By: ash",
      "messageCount": 1,
      "userCount": 1
    },
    {
      "channelId": "1330373197203505185",
      "channelName": "🤖│agents",
      "summary": "# Analysis of Discord Chat in \"🤖│agents\" Channel\n\n## 1. Summary\nThe chat segment features a brief discussion between users maximus and Ricky about improving AI agent workflows through feedback loops. Maximus describes his approach of using multiple LLMs to refine prompts, where he has one LLM generate content, then presents that content to other LLMs for critique and improvement. He connects this to Jin's \"jintern\" project, which aims to embed organizational best practices into an AI service that can provide feedback on user-created code. Ricky agrees with this approach but emphasizes the need for LLMs to validate scripts themselves to create a truly autonomous agent workflow without human intervention. The discussion highlights the importance of completing feedback loops in agent systems to enable self-improvement and iteration without human oversight.\n\n## 2. FAQ\nQ: How can multiple LLMs be used to improve prompts? (asked by maximus) A: By having one LLM generate content, then presenting that content to other LLMs for critique to find potential gaps (answered by maximus)\nQ: What is the jintern project? (asked by maximus) A: A project by Jin that imbues an agent/LLM with organizational best practices, allowing users to ask for feedback on their code (answered by maximus)\nQ: What's missing for truly agentic workflows? (asked by Ricky) A: The ability for LLMs to validate scripts themselves, completing the feedback loop without human intervention (answered by Ricky)\n\n## 3. Help Interactions\nHelper: maximus | Helpee: <@876921223496466492> | Context: Sharing an approach to improve AI outputs | Resolution: Suggested using multiple LLMs for prompt refinement and critique to find gaps\n\n## 4. Action Items\nTechnical: Complete the feedback loop for LLMs to validate scripts without human intervention | Description: Enable LLMs to test and iterate on code themselves | Mentioned By: Ricky\nFeature: Implement \"Hyper-jintern\" service | Description: Allow users to tap into organizational knowledge for code improvement while using their preferred LLM | Mentioned By: maximus",
      "messageCount": 3,
      "userCount": 2
    },
    {
      "channelId": "1347905902937767997",
      "channelName": "🔉│community-updates",
      "summary": "The Discord message from maximus announces an upcoming Hyperfy Community Meeting and highlights recent technical developments in the Hyperfy ecosystem. Key technical advancements include: (1) The release of Gizmo, a tool for precise object placement; (2) A new Hyper camera switch app developed by Dr.Dogie based on previous work by Shiffty and Howie; (3) Progress on PvP avatars and pets functionality; (4) Cru's development of a mesh color changer and interactive code updates; (5) Saori's FPS arena development; (6) Devil's ROM apps in development; (7) DAPPCRAFT's demo using the Hyperfy engine. The message serves as a technical update and meeting reminder rather than a discussion thread, showcasing the community's active development across various projects and applications within the Hyperfy platform.",
      "messageCount": 1,
      "userCount": 1
    }
  ]
}