All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
5-r.4 - 2025-05-15
- Add parameter repeat processing that connects the right and left ends of the parameter to create a loop, allowing the motion to repeat.
- Add the variable
_isOverriddenParameterRepeatto theCubismModelclass for managing parameter repeat flags at the model level. - Add the variable
_userParameterRepeatDataListto theCubismModelclass for managing parameter repeat flags for each parameter.
- Add the variable
- Add a
getPartParentPartIndices()function. - Add a flag to the arguments of the following methods to enable the function that verifies the consistency of
motion3.json:CubismUserModel.loadMotion()CubismMotion.create()CubismMotion.parse()
- Fix an issue with detecting the end of playback when looping motion.
5-r.3 - 2025-02-18
- Add new motion loop processing that seamlessly connects the start and end points of the loop.
- The
_isLoopvariable was moved from classCubismMotionto classACubismMotion. - Add the setter for
_isLoop,setLoop(), to classACubismMotion. - Add the getter for
_isLoop,getLoop(), to classACubismMotion. - The
_isLoopFadeInvariable was moved from classCubismMotionto classACubismMotion. - Add the setter for
_isLoopFadeIn,setLoopFadeIn(), to classACubismMotion. - Add the getter for
_isLoopFadeIn,getLoopFadeIn(), to classACubismMotion. - Add a variable
_motionBehaviorfor version control to theCubismMotionclass.
- The
- Change ESLint version to
9.17.0.- With this update, we have added the eslint.confing.mjs required for FlatConfig.
- Deprecate the following elements due to the change in the variable declaration location.
CubismMotion.setIsLoop()CubismMotion.isLoop()CubismMotion.setIsLoopFadeIn()CubismMotion.isLoopFadeIn()
5-r.2 - 2024-12-19
- Add the functionality to call a function when motion playback starts.
- Add an API to
CubismMotionJsonfor verifying the consistency ofmotion3.json. by @pillowtrucker- This API is ported from
Cubism Native Framework.
- This API is ported from
- Change to create and manage a
CubismShaderfor eachGLRenderingContext. - Change the access level of the private members in
CubismModelSettingJsonclass to protected. - Move JSON key strings set to the member variables of
CubismModelSettingJsonclass. - Change
FrequestNodeto be exported as part of the module. - Change to permit to overwrite motion fade by the value specified in .model3.json on
CubismUserModel.loadMotion(). - Change the value of pi used in the calculation of
CubismBreath.updateParameters()toMath.PI.
-
Deprecate the following elements because a priority value is not actually used during expression motion playback:
CubismExpressionMotionManager._currentPriorityCubismExpressionMotionManager._reservePriorityCubismExpressionMotionManager.startMotionPriority()CubismExpressionMotionManager.getCurrentPriority()CubismExpressionMotionManager.getReservePriority()CubismExpressionMotionManager.setReservePriority()
Please use the
CubismMotionQueueManager.startMotion()instead ofCubismExpressionMotionManager.startMotionPriority().
- Fix an issue where already registered keys could be added on
csmMap.appendKey(). - Fix a bug that caused an error when playing
CubismExpresionMotionwithCubismMotionQueueManager.startMotion(). - Fix an issue where
CubismMath.cardanoAlgorithmForBezier()was using a different function than Cubism SDK for Native. - Fix a potential problem with division by 0 when a pose fade time is set to 0 seconds.
- Fix an issue where
CubismPose._fadeTimeSecondsdoes not become 0.
5-r.1 - 2024-03-26
- Add function
mod()to compute floating-point remainder inCubismMathclass.
- Change an expression "overwrite" to "override" for multiply color, screen color, and culling to adapt the actual behavior.
- Change the weight value in
ExpressionfromCubismExpressionMotionto have it in theCubismExpressionMotionManager. - Reorganize the names of some functions and variables.
- This is a change that depends on fixing
eslintrc.yml.
- This is a change that depends on fixing
- Change to output log if the argument
motionQueueEntryisnullin theupdateFadeWeight()function of theACubismMotionclass.
- Fix
eslintrc.ymlto conform to the exact wording.
- Deprecate the
_fadeWeightvariable and thegetFadeWeight()function of theCubismExpressionMotionclass.- The
_fadeWeightvariable of theCubismExpressionMotionclass can cause problems. - Please use the
getFadeWeight()function of theCubismExpressionMotionManagerclass with one argument from now on.
- The
- The
startMotion()function of theCubismMotionQueueManagerclass with the unnecessary third argumentuserTimeSecondsis deprecated.- Please use the
startMotion()function with one arguments from now on.
- Please use the
5-r.1-beta.4 - 2024-01-18
- Change target to
es6.
- Fix an issue where models with a specific number of masks could not be drawn correctly.
- Fix to check for error when reading json.
5-r.1-beta.3 - 2023-11-30
5-r.1-beta.2 - 2023-09-28
- Add a comment for clarity for the function whose usage is not intuitive.
5-r.1-beta.1 - 2023-08-17
- Add the function to get the ID of a given parameter.(
CubismModel.getParameterId) - Add the
CubismExpressionMotionManagerclass.
- Change the visibility of the
CubismIdconstructor to private.- Please use
CubismFramework.getIdManager().getId()to getCubismId.
- Please use
- Change the word
DrawMeshtoDrawMeshWebGL.
- Fix a bug that the value applied by multiply was not appropriate during expression transitions.
- Fix the structure of the class in renderer.
- Fix a issue where
ARRAY_BUFFERwas used on multiple targets. - Separate shader class from
cubismrendererclass. - Separate the high precision mask process from the clipping mask setup process.
- Remove several arguments of
DrawMeshfunction.
4-r.7 - 2023-05-25
- Add compiler options
noImplicitAnyanduseUnknownInCatchVariablestotsconfig.json. - Add some function for checking consistency of MOC3.
- Add the function of checking consistency on reviving a MOC3. (
CubismMoc::Create)
- Add the function of checking consistency on reviving a MOC3. (
- Add a function to parse the opacity from
.motion3.json. - Add some functions to change Multiply and Screen colors on a per part basis.
- Change access specifier for
CubismExpressionMotion.
- Fix to support added compiler options
noImplicitAnyanduseUnknownInCatchVariables.
4-r.6.2 - 2023-03-16
- Fix some problems related to Cubism Core.
- See
CHANGELOG.mdin Core.
- See
4-r.6.1 - 2023-03-10
- Add function to validate MOC3 files.
4-r.6 - 2023-02-21
- Add support for high-precision masks.
- The number of render textures used can now be increased arbitrarily.
- The maximum number of masks when using multiple render textures has been increased to "number of render textures * 32".
- Add API to allow users to configure culling.
- Change to not reference
CubismClippingManager_WebGLon models that do not use clipping masks.
- Fix a crash when a
WebGLRenderingContextis not registered withCubism Renderer_WebGL.- It now displays a warning and does not draw models.
- Fix a bug when displaying a model with culling set, some of the other drawn images are missing.
- Fix a bug that caused update information for some models not to be updated when multiple models are displayed.
- Call the function to extend the initial memory with CubismFramework.initialize(). See
CHANGELOG.mdin Core.
- Call the function to extend the initial memory with CubismFramework.initialize(). See
4-r.5 - 2022-09-08
- Add the multilingual supported documents.
- Add immediate stabilization of physics.
- Implemented a process to switch between
CubismJsonparsing andJSON.parse().
4-r.5-beta.5 - 2022-08-04
- Fix
csmGetMocVersionfunction argument. - Fix a bug in which processing was interrupted when an invalid vertex was specified in the middle of a physics operation.
- Fix crash with exception when reading .moc3 files of unsupported versions.
- Fix physics system input to be split by the physics setting time.
4-r.5-beta.4 - 2022-07-07
- Add a function to get the latest .moc3 Version and the .moc3 Version of the loaded model.
- Add a function to get the type of parameters of the model.
- Add a function to get the parent part of the model's Drawable.
4-r.5-beta.3 - 2022-06-16
getDrawableTextureIndicesfunction inCubismModelhas been renamed togetDrawableTextureIndexbecause the name was not correct.getDrawableTextureIndicesfunction is marked as deprecated.
- Fix physics system behaviour when exists Physics Fps Setting in .physics3.json.
4-r.5-beta.2 - 2022-06-02
- Fixed a bug that caused Multiply Color / Screen Color of different objects to be applied.
- See
CHANGELOG.mdin Core. - No modifications to Samples and Framework.
- See
4-r.5-beta.1 - 2022-05-19
- Add processing related to Multiply Color / Screen Color added in Cubism 4.2.
- Fix usage of Anisotropy filtering.
- Fix model was not displayed when the number of masks exceeded the limit.
- Fix getTextureDirectory() to return the directory name of the 0th texture path.
4-r.4 - 2021-12-09
- Fix useless void 0.
- Fix a warning when
SegmentTypecould not be obtained when loading motion. - Fix return correct error values for out-of-index arguments in cubismjson by @cocor-au-lait.
- Fix a bug that motions currently played do not fade out when play a motion.
4-r.3 - 2021-06-10
- Fix motion event time value from Int to Float.
4-r.3-beta.1 - 2021-05-13
- Implement a function to get the correct value when the time axis of the Bezier handle cannot be linear.
4-r.2 - 2021-03-09
- Fix implementation of
iterator#incrementincsmmapandcsmvector. - Fix delay in starting fade-out for expressions.
- Fix Physics input reflect flag on evaluate.
- Fix reference size of model matrix.
- Fix
InttoFloatwhen gettingPhysicsSettings.Vertices.Radiusinphysics3.jsonparsing.- [INFO] This fix may change the behavior of the physics operations.
The behavior changes if the value of
PhysicsSettings.Vertices.Radiusinphysics3.jsonis less than1.0. If you want to return to the behavior before Cubism SDK for Web R1, change the value of the correspondingPhysicsSettings.Vertices.Radiusto0. - This fix is related to fix applied to
Cubism Editor 4.0.05 beta1and later. Please see Cubism Editor Changelog.- Fix physics and scene blending settings where the length of the pendulum would be converted to an integer when displayed.
- [INFO] This fix may change the behavior of the physics operations.
The behavior changes if the value of
- Rename the function name that handles seconds from
TimetoSeconds. - Avoiding needless namespace syntax to simplify imports by @cocor-au-lait
4-r.1 - 2020-01-30
- Add
.editorconfig,.gitattributesand.gitignore. - Add document
README.mdandCHANGELOG.md. - Add
package.jsonfor development and build. - Add Prettier and ESLint for format and check code quolity.
- Move source files to
/srcdirectory. - Reformat code using Prettier and ESLint.