Thanks to visit codestin.com
Credit goes to github.com

Skip to content

lvoxx/LSPotato

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯” Potato-LSCherry

Project Banner

A lightweight Blender add-on for potato-style automation 🍠 β€” simplify your workflow and focus on creativity.

GitHub Repo Stars Β Β  Total Downloads Β Β  Build for Blender Β Β  Python Β Β  License: MIT Β Β 


πŸš€ Prerequisites

Before getting started, ensure you have the following installed:

  • πŸ–ŒοΈ Blender β†’ 4.x or above πŸ‘‰ Download

  • 🐍 Python β†’ 3.x or above (For developers) πŸ‘‰ Download

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

  1. Build the addon, then checking \dist folder
potato package
  1. Build and install/uninstall the addon based on your Blender version, default 4.3
potato install 4.x
potato uninstall 4.x
  1. 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 .blend files
  • 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:

  1. User clicks Get
  2. Metadata files are downloaded
  3. The release ZIP is fetched
  4. Files are extracted into the registry/ directory
  5. The addon links the "Main" object from World-Builder.blend
  6. UI displays:
Installed: io.github.lvoxx.world-builder:dummy

Flow Diagram

LSRegistry Flow


πŸ“‹ GET Flow

When the user clicks Get, the system:

  1. Downloads & extracts the release β†’ βœ…
  2. Creates the root LSRegistry collection (blue, COLOR_04) in the Scene β†’ βœ…
  3. Creates a sub-collection named: io-github-lvoxx-world-builder-dummy β†’ βœ…
  4. Links objects from extracted .blend files into this sub-collection β†’ βœ…

πŸ”§ REPAIR Flow

When the user clicks Repair, the system:

  1. Locates the LSRegistry collection β†’ βœ…
  2. Scans all child collections β†’ βœ…
  3. Parses collection names, for example: io-github-lvoxx-world-builder-dummy β†’ namespace + version β†’ βœ…
  4. Finds corresponding registry folder: registry/io.github.lvoxx.world-builder_dummy/ β†’ βœ…
  5. Removes only broken links inside that specific collection β†’ βœ…
  6. Re-downloads the release ZIP β†’ βœ…
  7. 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:

  1. The user sets a GitHub Token in Addon Preferences
  2. The token is used via the Authorization header during downloads
  3. Multiple credential profiles are supported (extensible)

πŸ“¦ Installation

1️⃣ Install as Blender Add-on

  1. Download the latest release ZIP from Releases.
  2. Open Blender β†’ Edit β†’ Preferences β†’ Add-ons β†’ Install...
  3. 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

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
Loading