Skip to content

Releases: ceramic-engine/ceramic

Release v1.3.0

18 Aug 23:01

Choose a tag to compare

Another release that fixes several bugs and adds some new features to improve Ceramic usage in general.

How to update Ceramic

Via haxelib: haxelib run ceramic setup
Via git: https://ceramic-engine.com/guides/ceramic-via-git/#update-your-existing-ceramic-via-git

Changelog

  • [tilemap] Add support of per-tile alpha, including when using LDtk
  • [runtime] Add Visual.wireframe to render it as wireframe (disabled by default, enable with ceramic_wireframe define)
  • [runtime] Ensure Scene load() and create() are called from a different callstack than asset load callback to prevent weird stack traces
  • [runtime] Add new mesh extensions: createVerticesGrid(), createIndicesGrid() and createUVsGrid()
  • [runtime] Add mesh field to Filter, to allow rendering a texture managed by a filter with a more advanced layout of vertices, not only quads
  • [runtime] Improve entity macro to support @content meta: fields marked with this meta will set contentDirty to true (note: only visuals have that field, but you can create your own on custom Entity subclasses)
  • [runtime] Add Utils.lerp()
  • [runtime] Add assets variants concept, to allow loading the same source asset multiple times under different names, with different options
  • [arcade] Ensure collision events won't explode if editing a group from a callback
  • [ase] Premultiply alpha of resulting pixels by default: fixes alpha not displaying properly
  • [ldtk] Fix compile error when targeting native
  • [sprite] Sprite quad should inherit alpha by default
  • [runtime] Accept width and height options when loading image from ase data
  • [runtime] Support displaying an lcd-style grid when using PixelArt filter (see it in action: https://jeremyfa.itch.io/six-spaceships)
  • [unity] Find a workaround to make Particles<T> compile fine with C# target...
  • [runtime] Fix Visual.destroy() creating a dependency to screen.focusedVisual if object was destroyed under and autorun

Full Changelog: v1.2.0...v1.3.0

Release v1.2.0

18 May 17:53

Choose a tag to compare

This release fixes a few bugs and adds features here and there to improve Ceramic usage in various situations.

How to update Ceramic

Via haxelib: haxelib run ceramic setup
Via git: https://ceramic-engine.com/guides/ceramic-via-git/#update-your-existing-ceramic-via-git

Changelog

  • [runtime] Fix StateMachine macro not calling entity state methods if inside components package
  • [elements] Add Im.currentTheme to get the current (computed) theme
  • [sprite] Remove SpriteBase<T> in favor of Sprite<T> with default type param to String
  • [ase] Fix a few edge cases in ase parsing
  • [ldtk] More accurate loading of ase assets, to reflect the same layout as in LDtk
  • [ldtk] Add an option to skip loading of an image referenced in an LDtk project
  • [tilemap] Add TilemapLayer.checkCollisionWithComputedTiles and TilemapLayer.checkCollisionValues to have more control on what to collide to on the layer
  • [sprite] Add frameOffset to offset frame with x and y values
  • [ldtk] Expose LdtkEntityDefinition.tags
  • [tools] Remove -D no_inline from completion hxml (HaxeFoundation/haxe#11102)
  • [ldtk] Add various helpers to LdtkData to make it easier to walk through it
  • [sprite] Add SpriteSheetAnimation.duration (computed/observable)
  • [sprite] Add timeScale and easing properties to Sprite #112
  • [runtime] Add macros to easily generate toString() method on enum abstracts as well as iterating through each possible value
  • [tilemap] Instead of doing an actual quad rotation transform, use rotateFrame, because it's cheaper (internal)
  • [tilemap] Add flipX(), flipY(), rotateRight() and rotateLeft() helpers to TilemapTile
  • [tilemap] Add explicitDepth field to TilemapLayerData to allow setting an exact target depth to a tilemap layer
  • [tilemap] Add TilemapData.tileset() helper to get a tileset by its name

New Contributors

Full Changelog: v1.1.1...v1.2.0

Release v1.1.1

18 Apr 21:41

Choose a tag to compare

This release includes some bugfixes and a few additional shortcuts to make observable and computed fields usage more convenient, as well as autorun(). It comes with a new guide about observables.

How to update Ceramic

Via haxelib: haxelib run ceramic setup
Via git: https://ceramic-engine.com/guides/ceramic-via-git/#update-your-existing-ceramic-via-git

Changelog

  • [ios] Exclude arm64 arch from simulator target because it doesn't build correctly
  • [web] Auto-block default scroll if default is scroll allowed but scrolling from inside a ceramic scroller
  • [runtime] Update tracker and expose unobserve()/reobserve() from Shortcuts

Full Changelog: v1.1.0...v1.1.1

Release v1.1.0

10 Apr 17:18

Choose a tag to compare

With a new major version of Haxe comes a new version of Ceramic! It now uses Haxe 4.3.0 and HXCPP 4.3.2. This update also includes various bugfixes and some API improvements.

How to update Ceramic

Via haxelib: haxelib run ceramic setup
Via git: https://ceramic-engine.com/guides/ceramic-via-git/#update-your-existing-ceramic-via-git

Changelog

  • [http] Fix some contents being treated as binary instead of textual
  • [runtime] Add new built-in shaders: gaussian blur and inner light
  • [tpl] Default project now has more commented plugin entries in ceramic.yml for convenience
  • [runtime] Add Color and AlphaColor properties: hueHsluv, saturationHsluv, lightnessHsluv with internal cache for performances
  • [runtime] Make ChildrenDepth an enum abstract and add CUSTOM value
  • [mac] On mac, make targetFps default to 60 to prevent eating all CPU because of failed vsync
  • [elements] Add Im.theme(), Im.tint(), Im.background() and Im.textColor() to better customise Im windows
  • Update to Haxe 4.3.0
  • Update to HXCPP 4.3.2

Full Changelog: v1.0.0...v1.1.0

Release v1.0.0

19 Mar 14:58

Choose a tag to compare

This is a big release that adds initial support of LDtk projects as well as .ase/.aseprite files reading. It is also the occasion to reach the symbolic v1.0 version number, to say: hey, you can actually use Ceramic right now!

How to update Ceramic

Via haxelib: haxelib run ceramic setup
Via git: https://ceramic-engine.com/guides/ceramic-via-git/#update-your-existing-ceramic-via-git

Changelog

  • [ase] Add ase plugin to read .ase/.aseprite files and get sprite sheets and images at runtime from it
  • [ldtk] Add initial support of LDtk projects via tilemap and ldtk plugins
  • [runtime] Extend NineSlice features: allow to repeat pattern instead of stretching with rendering() method
  • [tools] Change the way project dependencies are linked to reduce the need of fetching them from internet
  • [runtime] Add TextureAtlasPacker
  • [runtime] Several fixes related to hot reload

Full Changelog: v0.19.0...v1.0.0

Release v0.19.0

26 Feb 14:37

Choose a tag to compare

This release is the first to get partial support of LDtk projects (more to come in the next version). It also improves http request (with binary responses) and image loading (from bytes and not only from paths)

How to update Ceramic

Via haxelib: haxelib run ceramic setup
Via git: https://ceramic-engine.com/guides/ceramic-via-git/#update-your-existing-ceramic-via-git

Changelog

  • [ldtk] First iteration on reading LDtk data! (enabled via tilemap + ldtk plugins)
  • [http] Add binaryContent response support on all targets
  • [runtime] Add Texture.fromBytes() to load PNG or JPEG images from bytes

Full Changelog: v0.18.0...v0.19.0

Release v0.18.0

15 Jan 19:38

Choose a tag to compare

This release includes various bugfixes and adds news features such as aseprite json support.

How to update Ceramic

Changelog

  • [sprite] Add Aseprite JSON format support.
  • [tilemap] Several improvements on tilemap editor component
  • [tilemap] Change AutoTiler options syntax (breaking change, but easy to adapt existing code), add EXPANDED_BOTTOM_CORNER_26, EDGE_16 and TILESETTER_BLOB_47
  • [runtime] Fix StateMachine instances not being removed from system when destroyed!
  • [tilemap] Add tilemap.shouldCollideAtPosition() (when arcade plugin is enabled)

Full Changelog: v0.17.7...v0.18.0

Release v0.17.7

27 Nov 16:48

Choose a tag to compare

This release does a minor change to how Unity version is chosen when building for Unity

How to update Ceramic

Changelog

  • [unity] Favor Unity 2021.x over 2022.x because 2021 is LTS

Full Changelog: v0.17.6...v0.17.7

Release v0.17.6

25 Nov 09:09

Choose a tag to compare

This release fixes a C++ build error on windows that appeared in the previous versions of Ceramic.

How to update Ceramic

Changelog

  • [windows] Fix C++ build error because AlphaColor has a constant named TRANSPARENT
  • [http] Minor fix in js http implementation

Full Changelog: v0.17.5...v0.17.6

Release v0.17.5

18 Nov 10:53

Choose a tag to compare

A minor release with a few bug fixes.

How to update Ceramic

Changelog

  • [runtime] When particle visuals are not associated to another visual, destroy them if emitter is destroyed
  • [elements] Add missing CMD/CTRL + A key binding on color picker text
  • [runtime] NineSlice internal quads follow the object's alpha
  • [elements] Better handling of select lists with items text larger than room available
  • [ui] Add TextView.noFitWidth, to disable computed text.fitWidth and keep it to -1

Full Changelog: v0.17.4...v0.17.5