Ceramic is a cross-platform 2D framework written in Haxe that can export natively to:
Ceramic was created by Jérémy Faivre, as well as multiple libraries used internally, but is also possible thanks to the following works:
Luxe Engine (alpha) by Sven Bergström which was used as a transitional backend before clay
backend was ready. Some snippets of Ceramic still directly come from luxe
.
HaxeFlixel's FlxColor class by Joe Williamson which was ported into to ceramic.Color
and ceramic.AlphaColor
classes.
OpenFL by Joshua Granick and PixiJS by Mathew Groves to implement ceramic.Transform
class.
Haxe by Nicolas Cannasse, maintained by the Haxe Foundation, which is a fantastic cross-platform toolkit and programming language making it much easier to create a portable engine.
Node.js and its huge amount of community supported modules, helping a lot to create feature-complete and cross-platform command line tools.
Janicek Core Haxe by Richard Janicek, for some borrowed code for ceramic.Utils.hashCode()
.
Slugify by Simov, and Slug haxelib port to provide ceramic.Slug
.
HaxeFlixel's FlxEmitter class used as a starting point to implement ceramic.Particles
and ceramic.ParticleEmitter
.
Optimised HashMaps by Mikhail Vorontsov to implement ceramic.IntIntMap
and related on static targets.
Some crash logging snippets by Lars Doucet to handle errors with ceramic.Errors
.
Cardinal Spline JS by Gleb Denisov, used to create ceramic.CardinalSpline
.
Nuclear Blaze's GameBase Camera by Sébastien Bénard, used as a model to create ceramic.Camera
.
Bezier Easing by Gaëtan Renaudeau, used to create ceramic.BezierEasing
.
Some GLSL shader code by Richman Steward.
Some browser mess handling from Holwer.js to help implement Ceramic audio backend for web.
Heaps Aseprite by Austin East, from which several snippets were ported for make Ceramic ase
format parsing and rendering.
Aseprite Blend Functions by Igara Studio S.A. and David Capello, which were ported to Haxe in order to implement ase frame blending at runtime in Ceramic.
Extrude Polyline by Matt DesLauriers, via Haxe port used in Ceramic to draw lines.
Earcut from Mapbox, via Haxe port to triangulate shapes.
Haxe Format Tiled by Pavel Alexandrov to parse Tiled Map Editor's TMX format.
Akifox Async HTTP by Simone Cingano, used to implement HTTP backend on native targets.
Nape Physics by Luca Deltodesco and contributors.
HSLuv to provide additional color manipulation helpers to ceramic.Color
and ceramic.AlphaColor
.
Dear ImGui by Omar Cornut, via Haxe bindings initially created by Aidan Lee.
Gif Capture ported by Tilman Schmidt and Sven Bergström from Moments.
Linc RTMidi by Tilman Schmidt.
Rectangle Bin Packing by Sam Twidale, used for ceramic.TextureAtlasPacker
.
Ase format parser by Michael Miriti to read .ase
/.aseprite
files.
Fuzzaldrin from Atom to provide some auto-completion features at runtime debug UI.
Ceramic is MIT licensed.