Releases: stephengold/Heart
Releases · stephengold/Heart
9.3.0
- Added 5 public methods:
MyBuffer.loadFileAsBytes()MyMesh.appendTriangles()MyMesh.makeMergedMesh()MySpatial.listUntaggedGeometries()MySpatial.relativeTransform()
- Fully deprecated the
MyAnimation.getScales()andMyAnimation.getTranslations() - Corrected a diagnostic message in
Validate.nonNegative(). - Targeted jMonkeyEngine version 3.9.0-stable.
- Added developer ID and inception year to the POM.
- Updated the Gradle build tool to v9.3.0. When building this project, JDK 17+ is now assumed, though this can be worked around.
9.2.0
- Added the
isSpatialTrack()method to theMyAnimationclass. - Added the
transformBindPose()method to theMyMeshclass. - Targeted jMonkeyEngine version 3.7.0-stable.
- Updated Gradle to v8.12
9.1.0
- Bugfix:
NullPointerExceptionthrown inMyControl.describe() - Bugfix: string userdata is doubly escaped in scene-graph dumps
- Added the
CapsuleMeshclass to the library. - Added the
trianglesToLines(IndexBuffer, int)method to theMyMeshclass.
9.0.0
- Simplified the
VectorSetinterface. (API change) - Deleted the public
describeControls(Spatial, boolean)method from theDescriberclass. (API change) - Finalized 15 classes (API changes):
ElementHeartInfluenceUtilMyAnimationMyControlMyLightMyMathMyMeshMyQuaternionMySkeletonMySpatialMyStringMyVector3fMyVolumeStringLoader
- Privatized the
elementsByFitnessfield in thePopulationclass. (API change) - Protected the
SimpleControlconstructor. (API change) - Bugfix:
writeImage()ignores the return code fromImageIO.write() - Bugfix: GLSL versions out-of-order in matdefs
- Added the
DsUtilsclass from Acorus. - Added a
put(FloatBuffer, int, Vector4f)method to theMyBufferclass.
8.8.0
- Bugfix:
MyMesh.vertexColor()doesn't handle color buffers with just 3 components per element - Bugfix:
MyMesh.rotate()ignores tangent and binormal vertex buffers - Bugfix:
MyLight.describeType()is inconsistent withMyControl.describe() - Bugfix:
StringLoaderdoesn't handle non-Latin characters - Renamed 3 methods in the
MyAnimationclass and deprecated the old methods:getRotations(Track)getScales(Track)getTranslations(Track)
- Added the
DummyLoaderclass. - Added 9 new methods:
Describer.describe(Armature)Describer.describe(Joint)Describer.describeFloats(float...)Describer.describeTrackTarget(HasLocalTransform)Dumper.dump(AnimClip, String)Dumper.dump(Armature, String)Dumper.dump(Joint, String)Dumper.dump(Light, String)Heart.loadResourceAsString(String)
- Improved descriptions and dump output:
- when describing meshes, indicate the number of the morph targets if any
- when dumping meshes, enumerate the morph targets if any
- expand the descriptions of
CameraControlandLightControl - when describing a
Skeleton, indicate its total number of bones - when describing a
VertexBuffer, indicate its number of components per element - when describing a vertex, indicate its
TangentandTexCoord2attributes if any - align vertex data into columns
- Updated Gradle to v8.4
8.7.0
- Added new method
MyMath.log2() - Targeted jMonkeyEngine version 3.6.1-stable.
8.6.0
- Added 4 new methods:
MyMath.transform()MyMath.transformInverse()for aVector3fMyQuaternion.rotateInverse()Validate.standardAngle()
- When normalizing a
QuaternionorVector3f, bypass division if the norm is approximately equal to 1.
8.5.0
Added 2 new methods:
MyMath.combine()MyQuaternion.rotate()
8.4.0
- Added the
DecalManagerclass. - Added new methods:
MyString.describeAngle()MyString.describeMatrix()
- Renamed
DomeMesh.getUVScale()and deprecated the old method.
8.3.2
- Targeted jMonkeyEngine version 3.6.0-stable.
- Updated Gradle to v8.0.2