Skip to content

ShenCiao/Ciallo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,560 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ciallo ~(∠・ω< )⌒★!

The next-generation vector paint program in your dreams.


Steam Discord Pixiv Patreon

License Ask DeepWiki GitHub Release


Ciallo is a graphics program for digital painting (animation and illustration). It supercharges the vector layers in software like Toon Boom Harmony, CSP, and Fresco by offering the following unique features:

Unique features

Vector bucket fill

A bucket fill tool, but vectorized:

Watch the video demonstration:

play-image-1783355747059

Vectorized Photoshop-like brushes

Vectorized stamp brushes, rendered in real time on your graphics card (GPU).

Resolution-independent airbrush, adjust the opacity falloff directly, with ultra‑fast rendering performance.

Other features

The following features may be in your favor:

No generative AI

Ciallo uses a custom vector format that is aiming to be the game industry standard and hard to generate by the current AI techniques. We may offer AI-powered features in the future --- but always designed for professional artists.


Optimized pen feel

Ciallo aims to provide a drawing/pen feel significantly better than CSP, Procreate and SAI 2; this will require several technical advancements in future updates. For the current version, the feel is not worse than SAI 2 and certainly better than Photoshop or Krita. Please report a bug if the paint tool feels laggier than Photoshop or Krita.

(WIP) Export to game engines

Ciallo will support exporting real-time-renderable vector 2D content to game engines. (Ciallo itself is built on a game engine.)

Download (Free on all platforms)

Steam GitHub Release

(Recommended STEAM for the best version control)

System requirements: Requires a system capable of running small to mid-sized modern 3D games. We recommend closing any other software that heavily uses your GPU before opening Ciallo.

  • OS: Windows 10 or higher
  • Memory: 6 GB or more
  • GPU: Minimum NV GTX 1650 or AMD Radeon RX 6500 XT
  • Monitor: A refresh rate greater than 100 Hz is highly recommended for the best drawing experience
  • Tablet: Use your tablet at its maximum polling/reporting rate.

Ciallo is highly sensitive to your tablet polling rate. It can potentially respond to tablet/mouse input at up to 1000 Hz. However, tablets in 2025 can reach at most 360 Hz (DTC-141), and 150–200 Hz on average, which is highly insufficient for capturing small turning points and handwritten text. If a tablet with a 500–1000 Hz polling rate becomes available on the market, contact the developer — Ciallo will try to add support.


Feature requests

Hope Ciallo has already addressed something important to you. To be frank, those large companies should have provided these infrastructures a decade ago. There is always more to add as Ciallo grows.

The developer basically knows the most needed features during the EA stage. These are the YouTube channels he learns painting: Dong Chang | Aaron's Painter Tutorials | saitonaoki.

Instead of asking for features existing in other paint programs, you may propose creative features unconstrained in style. The developer would love to hear new ideas about line art (especially anime-style art) and may be able to do technical research on your request.

If you urgently need a feature from other programs implemented in Ciallo within a week or month, consider contacting the developer or sponsoring the project.

Development guideline

Digital painting first

Although Ciallo focuses on vector features, it is NOT intended to replace those for graphic design software like Inkscape, Illustrator or Figma. Instead, it aims to provide Clip Studio Paint or Krita vector layers on super steroids. Features that were previously available only in raster workflows will be supported in Ciallo's new vector workflow.

Game art first

Except for the core animation, Ciallo prioritizes features supporting video game development. It will be a DCC program providing vector hand-drawn assets, including illustrations, 2D animations and hand-drawn textures for 3D.

EA stage

Ciallo is in an early stage of development; its version number will be labeled as EA (early access). During the EA stage, Ciallo mainly focuses on R&D of traditional painting features using modern shaders and GPU APIs. After finishing those major painting features, we plan to open Steam Workshop, marking the end of the EA stage.

Sponsor Ciallo's research and your future

Ciallo's mission is to bring advanced hand-drawn art techniques from dream to life, make something impossible possible. It needs your support to keep them free and accessible to everyone.

Become a Patron!

Moreover, in this age of AI we all face challenges from rapidly advancing AI techniques. Hope Ciallo will be the tool that helps you shine in this era — a tool that liberates your creativity, not one that replaces it with AI or steals it to feed AI. Sponsor Ciallo to shape the future of your digital painting and help keep creativity alive in an AI-driven world.

User-created content copyright and AI notice

For the purposes of this Project, "Artwork" means any brushes and drawings saved, exported, or represented in Ciallo's native format, other game engine vector formats, or raster format. The copyright owner of an Artwork (the "Owner") retains all rights in and to that Artwork. We do not claim any rights over user-created Artwork.

Unless the Owner has given explicit express, written permission, any use of Artwork to train, fine‑tune, validate, evaluate, or otherwise improve machine learning, generative AI, or other automated models or datasets is strictly prohibited. Prohibited acts include, without limitation, collection, copying, ingestion, extraction, annotation, transformation, or inclusion of such Artwork in any training, testing, or benchmarking dataset.

Explicit prohibition on "no‑copyright" labels and opt‑out schemes: Artwork labeled or claimed as "no copyright", "public domain", or similar does not authorize AI training under this project's terms. Likewise, any purported "opt‑out" or "unless the Owner opts out" declarations (i.e., statements that artworks may be used for AI purposes unless an Owner affirmatively opts out) do not and shall not be treated as authorization to use Artwork and this project for AI training. Such uses are violations of this project's terms and may result in injunctive relief, damages, and recovery of costs and attorneys' fees under applicable law.

License and AI notice

Unless otherwise specified, files in this repository are licensed under the AGPL-3.0 license.

Shader code has fewer constraints for games

For the purposes of this Project, "Shader Code" means any GPU shader program, shader graph, material shader, or related code used to render strokes, fills, brushes, or other visual effects in this project.

  1. Use in Artwork

    You are explicitly allowed to use the Shader Code render Artwork in closed‑source or commercial games, including shipping binaries and asset bundles containing compiled, optimized, or obfuscated versions of the Shader Code, without any obligation to publish your game source code or shader source code, as long as:

    • You do not distribute the Shader Code as a general‑purpose graphics component.
    • You do not use the rendered Artwork for AI training purposes or give training permission to others.
  2. Use in other software

    Parts of the Shader Code implement original rendering algorithms and techniques that are the result of Shen Ciao's own research. Unless you obtain the researcher Shen's explicit permission, if you integrate the Shader Code (or modified versions of it) into any other program, that program and all parts using the Shader Code must be released under the same AGPL‑3.0 license and made publicly available in source form.

    This includes, without limitation:

    • Using the Shader Code inside AI‑assisted painting tools or AI model pipelines;
    • Taking the Shader Code and shipping it in a closed‑source or proprietary drawing/painting application without releasing your source code under AGPL‑3.0;
  3. No AI‑training opt‑out bypass

    Labeling Shader‑rendered assets or shaders themselves as “no copyright”, “public domain”, or similar does not grant permission for AI training under these terms. Any “opt‑out” or “unless the Owner opts out” AI policies do not override this notice. Unauthorised AI use of the Shader Code or Shader‑rendered assets is a violation of this project’s terms.

These special Shader Code terms are an integral part of the Project’s licensing and must be read together with the AGPL‑3.0 license and the "User‑created content copyright and AI notice" above.

Credits

Project name

The name "Ciallo" is a combination of the Italian "Ciao" and English "Hello", and means "Hello". It comes from the galgames developed by Yuzusoft. We won't shame this name.

Coding frameworks/libraries

Citation

Check Ciallo's research project if you are interested in how Ciallo's unique features are implemented.

SIGGRAPH 2024 Technical Paper (Conference Track)

@inproceedings{10.1145/3641519.3657418,
   author = {Ciao, Shen and Guan, Zhongyue and Liu, Qianxi and Wei, Li-Yi and Wang, Zeyu},
   title = {Ciallo: GPU-Accelerated Rendering of Vector Brush Strokes},
   year = {2024},
   isbn = {9798400705250},
   publisher = {Association for Computing Machinery},
   address = {New York, NY, USA},
   url = {https://doi.org/10.1145/3641519.3657418},
   doi = {10.1145/3641519.3657418},
   booktitle = {ACM SIGGRAPH 2024 Conference Papers},
   articleno = {3},
   numpages = {11},
   keywords = {brush stroke rendering, digital painting, vector graphics},
   location = {Denver, CO, USA},
   series = {SIGGRAPH '24}
}

SIGGRAPH 2023 Talk

@inproceedings{Ciallo,
   author = {Ciao, Shen and Wei, Li-Yi},
   title = {Ciallo: The next-Generation Vector Paint Program},
   year = {2023},
   isbn = {9798400701436},
   publisher = {Association for Computing Machinery},
   address = {New York, NY, USA},
   url = {https://doi.org/10.1145/3587421.3595418},
   doi = {10.1145/3587421.3595418},
   booktitle = {ACM SIGGRAPH 2023 Talks},
   articleno = {67},
   numpages = {2},
   keywords = {Digital painting, stylized stroke, arrangement, vector graphics. coloring, graphics processing unit (GPU)},
   location = {Los Angeles, CA, USA},
   series = {SIGGRAPH '23}
}

Build Guide

Building the core part of Ciallo is the same as building a standard Godot C# project with a custom Godot editor:

Go to Contributing Tab for a more complete guide.

Tech FAQ

Shen answers the following questions:

Hand-drawn art vs. Graphics design?

Ciallo is designed for hand-drawn art---illustrations and animations, rather than graphic design tasks such as logos, web layouts, or UI/UX assets.

You may wonder about the difference: think of it like game development compared with front-end web development. Both involve creating visual elements, but they require different skills and tools, and two groups of developers working on them.

With unlimited resources Ciallo could support both, like the Affinity 3 does, but most programs focus on one area for a better user experience: Krita, Clip Studio Paint, and Procreate emphasize hand-drawn art, while Adobe Illustrator, Figma, and Inkscape specialize in graphic design.

But Ciallo's stroke-rendering technology isn't limited to hand-drawn art. Everywhere needs stylized lines/strokes could use it. Feel free to ask me for support if you'd like to use Ciallo's brushes while developing graphic-design or other software.

Why develop on a game engine?

TL;DR: I cannot handle the complexity of Vulkan.

My first attempt to develop Ciallo was with raw Vulkan, project link, motivated by the rather naive reason: “my next-generation technology should be built on next-generation technical foundations.”

I soon realize the complexity of Vulkan: it isn’t designed for one-person projects, and even highly experienced graphics engineers can make simple yet catastrophic mistakes, see Cherno’s Vulkan story. Only large teams can truly afford the mental burden of Vulkan.

So, I decided to sacrifice the freedom of controlling graphics in exchange for productivity. Under this idea, one of the game engines is the best choice.

You can consider Ciallo as a building/RTS game, e.g., City Skylines, Warcraft III. Players build strokes (polylines) and place color blocks (polygons) in the game world (canvas).

Why Godot, not Unity or Unreal?

Godot has the best 2D rendering infrastructure and GUI widgets.

For example, as of June 2025, Godot is the only engine that supports rendering a filled polygon directly from a list of points (without manual tessellation). Moreover, Godot’s ColorPicker control convinced me to choose it over Unity.

On the other side, Godot's convenience brings potential limitations on rendering. I'm far away from being familiar with the low-level RenderingDevice api of Godot. If we have to give up using Godot for whatever reason someday, we may consider using defold or flax.

Why not GDScript?

Dynamically-typed languages cannot support our project (or, IMHO, any projects that need more than 5 custom types). C# is a better choice, also for its larger community. Developing a mature programming language is as hard as developing the game engine itself. GDscript is doubling the efforts as Godot grows.

About

The next-generation vector paint program built with Godot C#.

Topics

Resources

License

Code of conduct

Contributing

Stars

129 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages