Releases: ceramic-engine/ceramic
Release v1.3.0
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.wireframeto render it as wireframe (disabled by default, enable withceramic_wireframedefine) - [runtime] Ensure Scene
load()andcreate()are called from a different callstack than asset load callback to prevent weird stack traces - [runtime] Add new mesh extensions:
createVerticesGrid(),createIndicesGrid()andcreateUVsGrid() - [runtime] Add
meshfield toFilter, 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
@contentmeta: fields marked with this meta will setcontentDirtytotrue(note: only visuals have that field, but you can create your own on customEntitysubclasses) - [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
PixelArtfilter (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 toscreen.focusedVisualif object was destroyed under and autorun
Full Changelog: v1.2.0...v1.3.0
Release v1.2.0
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
componentspackage - [elements] Add
Im.currentThemeto get the current (computed) theme - [sprite] Remove
SpriteBase<T>in favor ofSprite<T>with default type param toString - [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.checkCollisionWithComputedTilesandTilemapLayer.checkCollisionValuesto have more control on what to collide to on the layer - [sprite] Add
frameOffsetto offset frame with x and y values - [ldtk] Expose
LdtkEntityDefinition.tags - [tools] Remove
-D no_inlinefrom completion hxml (HaxeFoundation/haxe#11102) - [ldtk] Add various helpers to
LdtkDatato make it easier to walk through it - [sprite] Add
SpriteSheetAnimation.duration(computed/observable) - [sprite] Add
timeScaleandeasingproperties toSprite#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()androtateLeft()helpers toTilemapTile - [tilemap] Add
explicitDepthfield toTilemapLayerDatato 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
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()fromShortcuts
Full Changelog: v1.1.0...v1.1.1
Release v1.1.0
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.ymlfor convenience - [runtime] Add
ColorandAlphaColorproperties:hueHsluv,saturationHsluv,lightnessHsluvwith internal cache for performances - [runtime] Make
ChildrenDepthan enum abstract and addCUSTOMvalue - [mac] On mac, make
targetFpsdefault to 60 to prevent eating all CPU because of failed vsync - [elements] Add
Im.theme(),Im.tint(),Im.background()andIm.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
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
aseplugin to read.ase/.asepritefiles and get sprite sheets and images at runtime from it - [ldtk] Add initial support of LDtk projects via
tilemapandldtkplugins - [runtime] Extend
NineSlicefeatures: allow to repeat pattern instead of stretching withrendering()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
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+ldtkplugins) - [http] Add
binaryContentresponse 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
This release includes various bugfixes and adds news features such as aseprite json support.
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
- [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_16andTILESETTER_BLOB_47 - [runtime] Fix
StateMachineinstances not being removed from system when destroyed! - [tilemap] Add
tilemap.shouldCollideAtPosition()(whenarcadeplugin is enabled)
Full Changelog: v0.17.7...v0.18.0
Release v0.17.7
This release does a minor change to how Unity version is chosen when building for Unity
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
- [unity] Favor Unity 2021.x over 2022.x because 2021 is LTS
Full Changelog: v0.17.6...v0.17.7
Release v0.17.6
This release fixes a C++ build error on windows that appeared in the previous versions of Ceramic.
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
- [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
A minor release with a few bug fixes.
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] 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