- New real-time text renderer based on signed distance fields, which greatly improves performance of re-rendering text, even at different scales
- Added Design Editor module - an internal GUI-based tool
- Fixed layer identification by position for inverted layers
- Fixed an OpenGL synchronization bug that manifested on some systems
- Updated Text Renderer submodule to
fba1cdd
- Added new functions to ODE API:
ode_design_listComponentsode_destroyComponentList
- Fixed positioning of group members after changes to group's transform matrix
- Fixed invalidation of reported layer bounds following layer modifications
- Updated baseline version of vcpkg dependencies to
4116148(2023-04-11)
- Added Node-API bindings for the ODE API (ode-napi module)
- Embind version of JavaScript bindings removed
- Expanded ODE API
- Output arguments marked with
ODE_OUT/ODE_INOUT/ODE_OUT_RETURN - New enumeration
ODE_TransformationBasis - New API function
ode_component_transformLayer - Additional
ODE_Resultcodes
- Output arguments marked with
- Generated source code no longer checked in in the repository
- Moved animation prototype module to tools
- Minor version formatting changes
- "Textify" submodule replaced by overhauled Open Design Text Renderer
- Octopus 3.0.2 compatibility (glows not removed yet)
GAUSSIAN_BLURandBOUNDED_BLUReffect support- Modification of
maskChannelsvia layer changes
- Fixed upside down output to screen
- Computation of effect margins more accurate
- Parsers and serializers generated with new version of json-cpp-gen
- Removed usage of deprecated
sprintf, warning fixes - Added CMake presets
- Emscripten binding fixes
- Added support for "bounded blur" (equivalent to box blur applied twice)
- Bounded blur now used for shadows
- Fixed regression bugs of the new renderer (introduced in 0.2.0)
- Inner shadow no longer rendered as drop shadow
- Fixed out-of-bounds mapping of image fills
- Fixed effect behavior when
ODE_SKIA_GPUis disabled - Fixed fill color premultiplication
- Fixed shadow blur being too large
- Output image files correctly saved as unpremultiplied
- Rendering empty components now produces a blank image rather than an error
- Fixed an issue related to wrong OpenGL state left by Skia call
- Complete overhaul of core renderer which now operates in alpha-premultiplied color space
- Removed all legacy code left over from "Old Rendering" project
- Added Renderer Unit Tests subproject
- Updated Text Renderer
- Support for some layer modifications via Octopus
LayerChangeobject - Expanded ODE API
- New API functions:
ode_component_modifyLayerode_pr1_component_getAnimationValueAtTime
- New API type
ODE_ConstCharPtr ODE_StringRefnow bound as value object, itsdatamember changed toODE_ConstCharPtrODE_Stringnow provides binding forgetData()getter for itsdatamember asODE_VarDataPtr- New
ODE_Resultvalue -ODE_RESULT_ITEM_NOT_FOUND - Some integer values of
ODE_Resultenumeration changed
- New API functions:
- Fixed Emscripten bindings of
ODE_Transformationtype - Improvements to Render Graph Inspector
- Updated to Octopus 3.0.0-alpha.41 specs
- Major overhaul of ODE API
- API headers extensively documented
- Switched from integer constants to
enums:ODE_Result- new return type of all functionsODE_LayerType(forODE_LayerMetrics::Entry::type)
- New API types:
ODE_VarDataPtrODE_ConstDataPtrODE_StringListODE_MemoryBufferODE_ParseError
- New API functions:
ode_component_getOctopusode_component_listMissingFontsode_design_listMissingFontsode_destroyMissingFontListode_design_loadFontFileode_design_loadFontBytesode_allocateMemoryBufferode_reallocateMemoryBufferode_destroyMemoryBuffer
- Detailed JSON parse errors reported through the API - changed interface of functions:
ode_loadDesignFromManifestFileode_loadDesignFromManifestStringode_design_loadManifestFileode_design_loadManifestStringode_design_addComponentFromOctopusStringode_component_addLayerode_pr1_component_loadAnimation
- Changed type of
pixelsmember inODE_BitmapandODE_BitmapRef ODE_Transformationtype changed to structure- New pixel format constant
ODE_PIXEL_FORMAT_PREMULTIPLIED_RGBA - Non-Emscripten functions now marked by
ODE_NATIVE_API - Renamed
ode_designLoadImagePixelstoode_design_loadImagePixels
- Fixed component's
addLayerandsetAnimationwhen called early - Emscripten bindings and TypeScript bindings now machine-generated by script
- Fixed edge case bug in JSON parser (liboctopus submodule to
b427dc7d) - Updated Text Renderer submodule to
cdc32a45(load font from bytes in memory) - Updated baseline version of vcpkg dependencies to
ac12118(2023-01-26) - npm package renamed to
@opendesign/engine