secondlife / secondlife/viewer

Replace Havok-dependent navmesh debug display

Open
#4,836 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stale triage
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

Description

Research and implement a replacement for the current Havok-based navmesh debug display system to eliminate Havok as a dependency from the Second Life viewer.

Details

The Second Life viewer currently requires Havok libraries solely for rendering the navmesh debug display - a feature used primarily by content creators and region developers to visualize pathfinding meshes. This dependency adds a hefty maintenance and open source overhead for a rarely-used feature (The physics extensions package are notoriously annoying to update, and we have to keep havok libs in a private gdrive for TPVs that have signed the havok sublicense.) By converting the navmesh data from Havok's proprietary format to our standard llmesh format (or another general-purpose format) at the simulator level, we can remove this dependency entirely while maintaining the functionality.

Acceptance Criteria

  • Havok dependency completely removed from the Second Life viewer codebase
  • Navmesh debug display remains functional with equivalent or better visualization quality
  • Performance of navmesh visualization is equal to or better than current implementation
  • Backward compatibility maintained for regions running older simulator versions
  • Documentation updated for the new navmesh format and protocol


This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️‍♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #4836 either in the PR description or in a PR's comment.

🪙 Also, everyone can tip any user commenting /tip 20 @bennettgoble (replace 20 with the amount, and @bennettgoble with the user to tip).

📖 If you want to learn more, check out our documentation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating the current Havok-based navmesh debug display and the simulator/viewer pathfinding-data protocol, then trace how older simulator versions are handled. Done means an equivalent display works without Havok, performance is maintained, compatibility is preserved, and the format and protocol are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.