LSPotato
Blender Addon to cheese with LSCherry
Install / Use
/learn @lvoxx/LSPotatoREADME
🥔 Potato-LSCherry
<p align="center"> <a href="" rel="noopener"> <img width="100%" src="assets/potatoes.jpg" alt="Project Banner"></a> </p><p align="center"> <a href="#"> <img alt="GitHub Repo Stars" src="https://img.shields.io/github/stars/lvoxx/Potato-LSCherry?style=for-the-badge"/> </a> <a href="#"> <img alt="Total Downloads" src="https://img.shields.io/github/downloads/lvoxx/Potato-LSCherry/total.svg?style=for-the-badge"/> </a> <a href="https://www.blender.org/"> <img alt="Build for Blender" src="https://img.shields.io/badge/blender-%23F5792A.svg?style=for-the-badge&logo=blender&logoColor=white"/> </a> <a href="https://www.blender.org/"> <img alt="Python" src="https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54"/> </a> <a href="https://opensource.org/license/mit"> <img alt="License: MIT" src="https://img.shields.io/github/license/lvoxx/Potato-LSCherry?style=for-the-badge"/> </a> </p>A lightweight Blender add-on for potato-style automation 🍠 — simplify your workflow and focus on creativity.
🚀 Prerequisites
Before getting started, ensure you have the following installed:
[!TIP]
Using the latest stable version is recommended for the best compatibility.
😨 I dont want to read potato code
Copy one of those to the terminal
- Build the addon, then checking \dist folder
potato package
- Build and install/uninstall the addon based on your Blender version, default 4.3
potato install 4.x
potato uninstall 4.x
- If you're a dev, "reload" is a combination of UnInstall + Clean + package + Install
potato reload
🚀 Features
- 🔄 Automated registry download
- 🎨 Quick material setup
- 🧩 Custom utilities for Blender scripting
- ⚡ One-click run from Blender or terminal
- 🛠 Extensible Python codebase
🔳 LSRegistry Downloader
This feature is part of the LSPotato addon, used for downloading and managing registry data from the LSRegistry system. It is not a standalone project — it is a newly added feature inside the addon.
Core capabilities:
- Download registry metadata (
registry.yaml,registry.ls.yaml) - Fetch GitHub releases
- Extract registry files into the project
- Automatically link objects from
.blendfiles - Maintain LSRegistry collections inside the Scene
- Provide Repair functionality
- Support GitHub token authentication for private repositories
Working Directory Structure (After Installation)
YourProject/
├── YourBlendFile.blend
└── registry/
├── metadata/
│ └── io.github.lvoxx.world-builder/
│ ├── registry.yaml
│ └── registry.ls.yaml
└── io.github.lvoxx.world-builder_dummy/
└── World-Builder.blend
Usage Example
User enters in the UI:
io.github.lvoxx.world-builder:dummy
Flow:
- User clicks Get
- Metadata files are downloaded
- The release ZIP is fetched
- Files are extracted into the
registry/directory - The addon links the
"Main"object fromWorld-Builder.blend - UI displays:
Installed: io.github.lvoxx.world-builder:dummy
Flow Diagram
<img alt="LSRegistry Flow" src="assets\LSRegistry.drawio.png"/>📋 GET Flow
When the user clicks Get, the system:
- Downloads & extracts the release → ✅
- Creates the root
LSRegistrycollection (blue, COLOR_04) in the Scene → ✅ - Creates a sub-collection named:
io-github-lvoxx-world-builder-dummy→ ✅ - Links objects from extracted
.blendfiles into this sub-collection → ✅
🔧 REPAIR Flow
When the user clicks Repair, the system:
- Locates the
LSRegistrycollection → ✅ - Scans all child collections → ✅
- Parses collection names, for example:
io-github-lvoxx-world-builder-dummy→ namespace + version → ✅ - Finds corresponding registry folder:
registry/io.github.lvoxx.world-builder_dummy/→ ✅ - Removes only broken links inside that specific collection → ✅
- Re-downloads the release ZIP → ✅
- Re-extracts and re-links objects → ✅
Resulting Object Structure
Scene Collection
└── 📁 LSRegistry (🔵 Blue – COLOR_04)
└── 📁 io-github-lvoxx-world-builder-dummy
└── 🔗 Main (linked object)
Credentials Support
For private GitHub repositories:
- The user sets a GitHub Token in Addon Preferences
- The token is used via the
Authorizationheader during downloads - Multiple credential profiles are supported (extensible)
📦 Installation
1️⃣ Install as Blender Add-on
- Download the latest release ZIP from Releases.
- Open Blender →
Edit→Preferences→Add-ons→Install... - Select the ZIP file → enable Potato-Blender.
2️⃣ Install via Source (Dev Mode)
git clone https://github.com/lvoxx/Potato-Blender.git
cd Potato-Blender
Developer Section
Quick Help
potato help
<img width="100%" src="assets/help.png" alt="Potato Help">
Project Architecture
graph TD
%% Main Entry Point
A[Blender Startup] --> B{Addon Installed?}
B -->|No| C[Install Potato-LSCherry Addon]
B -->|Yes| D[Load Addon Components]
C --> D
%% Core Components Loading
D --> E[Initialize LSCherry Toon Shader]
D --> F[Load Potato Utilities]
D --> G[Register UI Panels]
%% LSCherry Toon Shader System
E --> H[Load Material Libraries]
H --> I[Game-specific Presets]
I --> J[HI3 Materials]
I --> K[Genshin Impact Materials]
I --> L[Honkai Star Rail Materials]
I --> M[Other Game Materials]
%% Potato Automation System
F --> N[Mesh Automation Tools]
F --> O[Material Setup Utilities]
F --> P[Custom Scripting Tools]
%% User Interface
G --> Q[Shader Editor Panel]
G --> R[Properties Panel]
G --> S[Tools Panel]
%% Main Workflow
T[User Selects Object] --> U{Material Exists?}
U -->|No| V[Create New Material]
U -->|Yes| W[Edit Existing Material]
V --> X[Apply LSCherry Base Shader]
W --> X
X --> Y[Configure Toon Parameters]
Y --> Z[Select Game-specific Preset]
Z --> AA[Fine-tune Settings]
AA --> BB[Preview Result]
BB --> CC{Satisfied?}
CC -->|No| Y
CC -->|Yes| DD[Apply Final Material]
%% Advanced Features
DD --> EE[Optional: Batch Processing]
DD --> FF[Optional: Export Settings]
DD --> GG[Optional: Save as Preset]
%% Error Handling
BB --> HH{Errors Detected?}
HH -->|Yes| II[Show Error Messages]
HH -->|No| CC
II --> JJ[Suggest Fixes]
JJ --> Y
%% Background Processes
subgraph "Background Systems"
KK[Auto-reload Libraries]
LL[Mesh Fairing]
MM[Planar UV Mapping]
NN[Material Validation]
end
%% CLI Tools
subgraph "CLI Tools"
OO[potato package]
PP[potato install]
QQ[potato uninstall]
RR[potato reload]
end
style A fill:#e1f5fe
style DD fill:#c8e6c9
style HH fill:#ffcdd2
style EE fill:#fff3e0
style FF fill:#fff3e0
style GG fill:#fff3e0
