A centralized storage location for registries used with LSPotato and LSCherry
LSRegistry is a public repository that serves as a centralized registry hub for LSPotato and LSCherry. It allows creators to publish and manage their Blender asset registries, making them easily accessible to the community through a standardized namespace system.
---World Builder---
io.github.lvoxx.world-builder:1.0.0
io.github.lvoxx.world-builder:dummy
---Lineart
io.github.x-x404.lineart:0.0.1- 🎯 Namespace-based Organization - Clear hierarchical structure for registry identification
- 🔄 Version Management - Support for multiple versions with release tracking
- 🔗 Direct Repository Integration - Link directly to your GitHub or other platform repositories
- 📦 Flexible Object Linking - Map specific Blender objects from your
.blendfiles - 🔐 Optional Credential Support - Private repository access when needed
- Navigate to LSRegistry
- Click the Fork button in the top-right corner
- Clone your forked repository to your local machine:
git clone https://github.com/YOUR_USERNAME/LSRegistry.git
cd LSRegistryCreate your registry entry in LSRegistry with the following structure:
Create a folder structure matching your desired namespace. For example, if your namespace is io.user.some-registry, create:
io/
└── user/
└── some-registry/
Inside your namespace folder, create a registry.yaml file with this structure:
metadata:
user: your-github-username
repository: your-repository-name
platform: github # or 'amazon' for other platforms
credentials: none # or 'requested' if private repo
branch: main # or specify your branch nameField Descriptions:
user: Your username on the hosting platformrepository: The name of your repositoryplatform: Currently supportsgithuboramazoncredentials: Set tononefor public repos,requestedif authentication is neededbranch: The branch containing your registry file (default:main)
In your source repository (not LSRegistry), create a registry.ls.yaml file in the root directory of the branch you specified:
namespace: io.user.some-registry # Must match your LSRegistry namespace
linked-objects-in-files:
"your-model.blend": "ObjectName"
"another-asset.blend": "AnotherObject"
# Best practice: link one object per file
versions:
v1.0.0:
tag: v1.0.0
release-file: release-v1.0.0.zip # Must be a .zip file
v1.1.0:
tag: v1.1.0
release-file: release-v1.1.0.zip
# Add more versions as neededImportant Notes:
namespace: Must exactly match the namespace you registered in LSRegistrylinked-objects-in-files: Maps.blendfiles to specific objects. Best practice: One object per fileversions: Define your release versions with tags and corresponding.zipfilesrelease-file: Must be a.zipfile
- Commit your changes:
git add .
git commit -m "Add registry for io.user.some-registry"
git push origin main-
Go to your forked repository on GitHub
-
Click Pull Request → New Pull Request
-
Set base repository:
lvoxx/LSRegistryand base:main -
Set head repository:
YOUR_USERNAME/LSRegistryand compare:main -
Click Create Pull Request
-
Fill in the PR description with:
- Your registry namespace
- Brief description of your assets
- Any special notes or requirements
-
Submit and wait for review!
Here's a complete example of a registry setup:
LSRegistry/
├── com/
│ └── example/
│ └── my-assets/
│ └── registry.yaml
metadata:
user: johndoe
repository: blender-awesome-assets
platform: github
credentials: none
branch: mainblender-awesome-assets/
├── registry.ls.yaml
├── assets/
│ ├── chair-model.blend
│ └── table-model.blend
└── releases/
├── release-v1.0.0.zip
└── release-v2.0.0.zip
namespace: com.example.my-assets
linked-objects-in-files:
"chair-model.blend": "ChairMesh"
"table-model.blend": "TableMesh"
versions:
v1.0.0:
tag: v1.0.0
release-file: release-v1.0.0.zip
v2.0.0:
tag: v2.0.0
release-file: release-v2.0.0.zipWhen you have a new release:
- Update the
registry.ls.yamlin your source repository - Add your new version entry:
versions:
v2.1.0:
tag: v2.1.0
release-file: release-v2.1.0.zip- Push the changes to your repository
- No need to update LSRegistry - changes are automatically detected from your source repository!
Before submitting your registry, ensure:
- Namespace folder structure is correct (e.g.,
io/user/registry-name/) -
registry.yamlexists in your namespace folder with all required fields -
registry.ls.yamlexists in your source repository root (on specified branch) - Namespace in both files match exactly
- All release files are
.zipformat - Linked objects exist in the specified
.blendfiles - Repository is accessible (public or credentials provided)
We welcome contributions! If you encounter issues or have suggestions:
- Open an issue describing the problem or feature request
- For bug fixes or improvements, submit a pull request
- Follow the existing code structure and naming conventions
This project is licensed under the Apache License 2.0 - see the LICENSE file in the repository for details.
Made with ❤️ for the Blender community
If you find this useful, please ⭐ star the repository!