Skip to content

beqjanus/slender

Repository files navigation

SLender

SLender is a Blender extension for managing Second Life and OpenSim LOD assets with explicit metadata instead of brittle collection-only conventions.

Current Status

  • Extension-first package with blender_manifest.toml
  • Targeted at Blender 4.2 LTS and verified on Blender 5.1.0
  • GLB is the primary export path
  • Collada is kept only as a temporary compatibility backend when Blender exposes it
  • Legacy scenes can be migrated from the old HighLOD / MediumLOD / Physics style collection workflow

What Changed

The original add-on was written around Blender 2.8-era practices:

  • add-on directory config files
  • global context helpers
  • selection-mutating export
  • collection and object naming as the only source of truth

The current refactor replaces that with:

  • Scene.slender as canonical scene state
  • Object.slender as canonical asset metadata
  • explicit asset_id, part_key, and lod_role
  • export backends for GLB and temporary Collada compatibility
  • validation and migration services that are independent of viewport collection layout

Included Tools

  • Metadata tagging for High / Medium / Low / Lowest / Physics roles
  • Basic LOD duplication from selection
  • Physics cube generation
  • Asset validation
  • Land Impact calculation helper
  • GLB export (with timed auto-export option)
  • Mesh-name cleanup
  • UV map cleanup
  • Simple SL-oriented material setup helper

Workflow (most steps are optional - especially for simple single-part assets)

  1. Tag mesh objects as managed.
  2. Set asset_id to group parts that should export together.
  3. Set part_key to the stable per-part export name.
  4. Set lod_role for each object.
  5. Run validation.
  6. Export GLB.

SL naming rules are still preserved on export:

  • High: unsuffixed
  • Medium: _LOD2
  • Low: _LOD1
  • Lowest: _LOD0
  • Physics: _PHYS

Those suffixes now live in preferences and are treated as export compatibility, not as the canonical authoring model.

Legacy Migration

If you have an older scene:

  • the extension can read the legacy config/SLender.cfg once to seed preferences
  • Migrate Legacy Scene scans the old collection names and suffixes
  • detected objects are converted into metadata-driven managed assets

The migration defaults each legacy object to its own asset group. Multipart assets can then be regrouped by editing asset_id.

Notes

  • The old collection-visibility UI was removed during the modernization pass.
  • The repo keeps the old legacy config file only for migration input; runtime state is now stored in Blender preferences and extension user storage.
  • Public extension packaging is now the mainline path. There is no separate legacy add-on track.

Releases

  • Build Preview Extension runs on pull requests, pushes to master, and manual workflow runs.
  • Preview packages are renamed to include -preview-<sha>, for example slender-0.2.0-preview-1a2b3c4.zip, and are uploaded only as workflow artifacts.
  • Release Extension runs only when pushing a tag such as v0.2.0.
  • The release workflow verifies that the tag matches version in blender_manifest.toml before publishing slender-0.2.0.zip to the GitHub release for that tag.

About

Second Life Blender Tools

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages