feat: initialize project
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
|||||||
|
## ======== VSCode ========
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
## ======== Python ========
|
||||||
|
# Python-generated files
|
||||||
|
__pycache__/
|
||||||
|
*.py[oc]
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
wheels/
|
||||||
|
*.egg-info
|
||||||
|
|
||||||
|
# Virtual environments
|
||||||
|
.venv
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
3.13
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# Assemblicon
|
||||||
|
|
||||||
|
> *"Stop clicking 'Export' 50 times. Write a recipe and let Assemblicon do the assembly."*
|
||||||
|
|
||||||
|
**The Programmatic Icon Assembly Workflow.** Treat your icons like code. Built for designers who think like engineers.
|
||||||
|
|
||||||
|
## Philosophy
|
||||||
|
|
||||||
|
Assemblicon transforms the traditional design workflow into a **compilation-like pipeline**:
|
||||||
|
|
||||||
|
- **Source Code**: Binary `jpg`, `png` image assets & Inkscape `.svg` primitives & Blender `.blend` 3D assets & etc...
|
||||||
|
- **Compiler Flags**: Interactive CLI parameters (color, style, variant)
|
||||||
|
- **Linker**: Python + Pillow (layering & alpha composition)
|
||||||
|
- **Binary Output**: Final `.png` / `.ico` / `.icns` icon sets
|
||||||
|
|
||||||
|
Instead of manually tweaking 100 artboards, you define reusable components once and **compile** them on-demand with different arguments—just like compiling a C program.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Reproducible Builds**: Every output is fully deterministic; store only the recipe, not the PNGs.
|
||||||
|
- **Batch Assembly**: Define a recipe to generate entire icon families (light/dark, active/disabled, sizes) in one go.
|
||||||
|
- **Unlimited Customization**: User defined recipe is actually a Python script utilizing Assemblicon. We can achieve any forms of composition which gives our unlimited customization ability.
|
||||||
|
- **Selective Build**: User can only compile some specific icons of the whole defined icon set. This gives the ability of checking the built icon in resource-saving way.
|
||||||
|
- **License Backtrace**: By defining the source and sink for icons, we can trace the license info (if user provide it) and produce the correct license info of final output.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is under MIT license.
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
[project]
|
||||||
|
name = "assemblicon"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Add your description here"
|
||||||
|
readme = "README.md"
|
||||||
|
authors = [
|
||||||
|
{ name = "yyc12345", email = "yyc12321@outlook.com" }
|
||||||
|
]
|
||||||
|
requires-python = ">=3.13"
|
||||||
|
dependencies = []
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["uv_build>=0.8.0,<0.9"]
|
||||||
|
build-backend = "uv_build"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
def hello() -> str:
|
||||||
|
return "Hello from assemblicon!"
|
||||||
Reference in New Issue
Block a user