Skip to content

Releases: ceramic-engine/ceramic

Release v0.13.3

12 Jun 15:36

Choose a tag to compare

This release fixes a regression with Visual.active property that appeared because of some internal changes.

Full Changelog: v0.13.2...v0.13.3

Release v0.13.2

11 Jun 22:05

Choose a tag to compare

This release fixes some edge cases and bring a few minor changes

  • [runtime] Add GeometryUtils.angleDirection()
  • [runtime] When changing the filter of a texture atlas page is changed, change the texture filter as well if there is a texture
  • [tpl] Change default import.hx so that it doesn't break compilation when adding macros to project
  • [runtime] Fix scene system not adding existing scenes to filter content when assigning a new one
  • [tools] Fix compilation error when generating a StateMachine component from inside a components package

Full Changelog: v0.13.1...v0.13.2

Release v0.13.1

05 Jun 18:09

Choose a tag to compare

This is a release focused on bugfixes for audio, mostly on web.

  • Fix setting audio position failing on web
  • Fix pausing and resuming audio failing on web
  • Fix reading sound source duration giving wrong values on web
  • Fix reading sound position giving wrong values when pitch != 1.0
  • Forbid setting pan, pitch or position on streamed sounds

Full Changelog: v0.13.0...v0.13.1

Release v0.13.0

03 Jun 13:19

Choose a tag to compare

This release bumps haxe version and provides first iteration of texture atlas support. More is planned regarding atlases, but you can already load an atlas in libgdx/spine format or starling/sparrow xml format and assign atlas regions to regular Quad objects, or Sprite object (if you enable the sprite plugin).

  • Add Pixels.setRectangle() (thanks @KGriss!)
  • Update Haxe to version 4.2.5
  • Add initial texture atlas support
  • Several internal changes

Full Changelog: v0.12.2...v0.13.0

Release v0.12.2

20 May 14:47

Choose a tag to compare

  • Add a first draft of midi plugin
  • A few gamepad improvements: fix X/Y position on Nintendo controllers, add LEFT/RIGHT_TRIGGER gamepad axis
  • Now support parsing of bitmap fonts in XML format (original support still fully supported, both can be used seamlessly)
  • Add clay_allow_default_{touches/mouse_wheel/context_menu} defines to make it easier to export a web app that don't block scroll when inside an iframe
  • A few other minor fixes

Release v0.12.1

20 May 09:02

Choose a tag to compare

Release v0.12.1 Pre-release
Pre-release
  • Add a first draft of midi plugin
  • A few gamepad improvements: fix X/Y position on Nintendo controllers, add LEFT/RIGHT_TRIGGER gamepad axis
  • Now support parsing of bitmap fonts in XML format (original support still fully supported, both can be used seamlessly)
  • Add clay_allow_default_{touches/mouse_wheel/context_menu} defines to make it easier to export a web app that don't block scroll when inside an iframe
  • A few other minor fixes

Release v0.12.0

02 May 11:02

Choose a tag to compare

  • Fix a problem in IntFloatMap that could get much larger than it should in some situations
  • Add input.gamepadGyro event (successfully tested PS4/PS5 controllers on Unity, PS4/PS5/Switch controllers on mac, PS4/PS5 controllers on windows, not supported on web, except via electron runner with ceramic_native_bridge define, see below).
  • Add ceramic_native_bridge define to expose some native features to web export (only available when tested via the electron runner). Mostly useful when using web target to iterate quickly without needing C++ compilation. The only addition provided by native bridge currently is gamepadGyro events but more features could be handled in the future.
  • Upgrade to SDL 2.0.22 on all platforms, except linux, which is now relying on the SDL installed on the host machine (see the Linux section on the platform setup page).
  • Allow to specify --ndk-dir and --sdk-dir as argument to ceramic ndk stack utility.

Release v0.11.0

18 Apr 13:43

Choose a tag to compare

A large release with a lot of small improvements and bugfixes, but should not contain any breaking changes on any regular project.

  • [tools] Quieter post-install
  • [runtime] Better handling of ceramic_debug_entity_allocs and ceramic_debug_num_entities defines
  • [runtime] Ensure bitmap font pages are not pre-rendering multiple times in parallel
  • [runtime] Fix KeyBinding() objects not being destroyed
  • [runtime] A few improvements in Collection internals, and add new meta @skipEmpty for collection entry fields
  • [tools] Ensure extra assets paths are absolute (and fix a loading issue related to that)
  • [clay] Ensure nintendo gamepad layout is consistent between web & sdl
  • [spine] Minor change to help track animate() calls
  • [elements] Fix crash when creating an Im window without anything inside
  • [web] Ensure display is ready (and with the right size) before firing app's ready event
  • [http] Draft http backend using tink_http
  • [http] When building from mac, use curl CLI because of issues using hxcpp's SSL (That fallback can be disabled with ceramic_http_no_tink define)
  • [runtime] Add enabled property to InputMap (true by default, set to false to disable this input map)
  • [spine] SpineBindVisual: Allow to bind color of any kind of visual, but disable by default on visuals that are not Text, Quad or Mesh
  • [spine] Add optional begin and complete callback for each animation in a montage
  • [spine] Fix 4.0+ export config files not working
  • [elements] Fix EditText/SelectText key bindings not being detected within Im fields
  • [ui] Add TextView.minHeight property (convenient on multiline text where we still want a minimum height)
  • [elements] Tweak a few values to make elements fields sizes more consistent
  • [clay] Always update app.textInput modifier key state to prevent unexpected input issues
  • [elements] When using CTRL + SPACE to get autocomplete suggestions, display whole (scored) list if nothing else is relevant
  • [tracker] Add missing docs in computed fields
  • [spine] Do not assign a null skin in SpineMontage
  • [runtime] Check that scene is not destroyed within scene system update
  • [runtime] Always reverse premultiplied alpha when exporting texture to PNG, unless explicitly stated otherwise
  • [tools] Provide a way to add generate files from plugins
  • [ui] Add ImageView.imageQuadInheritsAlpha property
  • [clay] Fix scan codes being incorrect when using web target
  • [tilemap] Slightly more meaningful warning
  • [unity] Various C# target fixes
  • [unity] rename offset to offset_ because it's a reserved keyword in shaderlab (note: should be improved to handle all reserved keywords?)
  • [unity] Fix error when setting texture filter on render texture
  • [unity] Fix pressing multiple keys messing up input states
  • [unity] Mute some warning generated by haxe on C# code
  • [unity] Properly support reading pixels from a render texture (it was only working on regular textures)
  • [elements] PendingChoice -> PendingDialog (because we'll use it for more than just choices)
  • [clay] Fix crash when failing to load a sound
  • [elements] Add Im.prompt()
  • [web] Try to get better handling of shift + any key
  • [runtime] InputMap: allow to emulate axis with key codes, scan codes and gamepad buttons
  • [web] Fix screen staying black in some situation because the canvas never get sized properly
  • [clay] Fix toggling fullscreen multiple times not working on windows
  • [tilemap] Fix parsing of CSV tile arrays on C++ target (windows)
  • [tools] Fix parsing of windows drives

Release v0.10.0

31 Jan 22:57

Choose a tag to compare

When installing ceramic via git:

  • Change the way bundled node is installed
  • Freeze most node dependencies
  • Now use npm ci instead of npm install to make builds more reproducible

Other updates:

Check the git history for more details.

Release v0.9.7

26 Jan 23:11

Choose a tag to compare

  • Many fixes and improvements in elements immediate UI
  • Various bugfixes in ceramic runtime
  • First implementation of InputMap API (to unify gamepad, keyboard input into meaningful actions etc...)
  • Add Utils.command()
  • Less verbose when installing haxelib dependencies
  • Better handling of resizing on web

Check the git history for more details.