Releases: BloCamLimb/ModernUI-MC
Releases · BloCamLimb/ModernUI-MC
ModernUI-3.11.0.x
See changelogs.md
1.20.2-3.9.0.5
Modern UI 3.9.0.5
Forge Extension 1.20.2
- Fix validation errors
- Add font atlas compact
- Add Iris shaders integration
- Schedule GUI Scale value listener on next tick
- Better text config category
- Change typeface loading behavior
- Restore cursor position for Emoji shortcode substitution
- Rework font manager to implement core Emoji rendering
- Add GPU driver bug workarounds bootstrap properties
- Improve text field undo/redo
- Add undo/redo for EditBox
- Add GUI Scale to Preferences
- Add batch input commit
- Update translations
- Implement grapheme break for all text fields
- Implement break iter for vanilla EditBox
- Add music player
- Increase window size for OpenGL version test, fix game freeze on Linux
- Update font resources and licenses
- Add tooltip border width config
- Fix format error when setting color opacity
- Remove unused assets
- Completely switch to Arc3D and abandon GL*Compat
- Auto clean up less used GPU resources
- Always generate text config
- Use jar-in-jar for caffeine and flexmark
- Update synchronization, improve render performance
- Disable MSAA by default, 0.176x VRAM usage than before, and faster
- Update to latest Arc3D and ModernUI
Fabric Extension 1.20.2 / Quilt Extension 1.20.2
- Add GUI Scale slider for Fabric
- Fix mod logo on Fabric
- Others are functionally equivalent to Forge version
Modern Text Engine 1.20.2
- Auto disable modern text shaders when Iris shaders are active
- Now follow vanilla's Force Unicode Font setting
- Fix compat with Loot Beams
- Fix compat with Debugify
- Fix compat with Curios
- Fix shadow offset Y for bitmap font
- Fix fist line rendering in sign edit GUI
- Add text layout command
- Remove text cache cleanup on parallel dispatch
- Dont draw text outline when 'modern text shaders in 3D' disabled
- Keep text shader preload consistent with vanilla UI shader preload
- Improve UniformScale text when GUI scale is less than 4
Core Framework 3.9.0
- Separate Arc 3D from core framework
- Optimize Matrix
- Optimize ImageStore
- Fix Image cleanup
- Add font atlas compact
- Fix emoji font color
- Add full Emoji font support to core framework
- Add Half (float16) type
- Move BinaryIO to Parcel
- Add ByteBuffer implementation for Parcelable
- Add commit batch input
- Fix per-cluster measure bug
- Fix track on rewind
- Rework on AudioSystem
- Move old ViewPager implementation to core framework
- Delay mipmaps regeneration for font atlas
- Fix and optimize SpanSet
- Decrease the default touchSlop value
- Completely remove GL*Compat classes, remove MSAA rendering
- Review bug on glfwWaitEventsTimeout
- Add CascadingMenuPopup presenter
- Remove IOException in readIntoNativeBuffer if >=2GB
- Fix compat with default render loop for OpenGL 3.3
- Optimize default bootstrap process
- Improve synchronization between UI thread and render thread
- Fragment now implements OnCreateContextMenuListener
- Fix saveLayer with alpha=0
- Add ContextMenuInfo
- Add ExpandableListView
- Fix ShapeDrawable line thickness
- Disable MSAA by default, and reduce the number of off-screen targets
- Remove the limit on the number of families in FontCollection
- Other small fixes and improvements
Arc 3D Graphics Engine 3.9.0
- Fix validation errors
- Add DriverBugWorkarounds
- Change to LinkedListMultimap
- Use HashMap for resource cache
- Better handling dirty OpenGL context states
- Add Blend constants
- Refactor Engine API
- Add Pixmap
- Fix GpuBufferPool
- Add SDF rectangle geometry processor
- Add NVIDIA driver bug workaround, when binding index buffer using DSA
- Add compat with OpenGL 3.3 upload pixels
- Add copyImage implementation, change Surface hierarchy
- Add Matrix.mapPoints and Matrix.getMin/MaxScale
- Add shear, map and I/O methods for Matrix
- Fix and optimize Matrix#invert
- Re-implement Matrix functions
- Fully implement ClipStack functions
- Other small fixes and improvements
1.20.1-3.9.0.4
Modern UI 3.9.0.4
Forge Extension 1.20.1 / NeoForge Extension 1.20.1
- Fix validation errors
- Add font atlas compact
- Add Iris shaders integration
- Schedule GUI Scale value listener on next tick
- Better text config category
- Change typeface loading behavior
- Restore cursor position for Emoji shortcode substitution
- Rework font manager to implement core Emoji rendering
- Add GPU driver bug workarounds bootstrap properties
- Improve text field undo/redo
- Add undo/redo for EditBox
- Add GUI Scale to Preferences
- Add batch input commit
- Update translations
- Implement grapheme break for all text fields
- Implement break iter for vanilla EditBox
- Add music player
- Increase window size for OpenGL version test, fix game freeze on Linux
- Update font resources and licenses
- Add tooltip border width config
- Fix format error when setting color opacity
- Remove unused assets
- Completely switch to Arc3D and abandon GL*Compat
- Auto clean up less used GPU resources
- Always generate text config
- Use jar-in-jar for caffeine and flexmark
- Update synchronization, improve render performance
- Disable MSAA by default, 0.176x VRAM usage than before, and faster
- Update to latest Arc3D and ModernUI
Fabric Extension 1.20.1 / Quilt Extension 1.20.1
- Add GUI Scale slider for Fabric
- Fix mod logo on Fabric
- Others are functionally equivalent to Forge version
Modern Text Engine 1.20.1
- Auto disable modern text shaders when Iris shaders are active
- Now follow vanilla's Force Unicode Font setting
- Fix compat with Loot Beams
- Fix compat with Debugify
- Fix compat with Curios
- Fix shadow offset Y for bitmap font
- Fix fist line rendering in sign edit GUI
- Add text layout command
- Remove text cache cleanup on parallel dispatch
- Dont draw text outline when 'modern text shaders in 3D' disabled
- Keep text shader preload consistent with vanilla UI shader preload
- Improve UniformScale text when GUI scale is less than 4
Core Framework 3.9.0
- Separate Arc 3D from core framework
- Optimize Matrix
- Optimize ImageStore
- Fix Image cleanup
- Add font atlas compact
- Fix emoji font color
- Add full Emoji font support to core framework
- Add Half (float16) type
- Move BinaryIO to Parcel
- Add ByteBuffer implementation for Parcelable
- Add commit batch input
- Fix per-cluster measure bug
- Fix track on rewind
- Rework on AudioSystem
- Move old ViewPager implementation to core framework
- Delay mipmaps regeneration for font atlas
- Fix and optimize SpanSet
- Decrease the default touchSlop value
- Completely remove GL*Compat classes, remove MSAA rendering
- Review bug on glfwWaitEventsTimeout
- Add CascadingMenuPopup presenter
- Remove IOException in readIntoNativeBuffer if >=2GB
- Fix compat with default render loop for OpenGL 3.3
- Optimize default bootstrap process
- Improve synchronization between UI thread and render thread
- Fragment now implements OnCreateContextMenuListener
- Fix saveLayer with alpha=0
- Add ContextMenuInfo
- Add ExpandableListView
- Fix ShapeDrawable line thickness
- Disable MSAA by default, and reduce the number of off-screen targets
- Remove the limit on the number of families in FontCollection
- Other small fixes and improvements
Arc 3D Graphics Engine 3.9.0
- Fix validation errors
- Add DriverBugWorkarounds
- Change to LinkedListMultimap
- Use HashMap for resource cache
- Better handling dirty OpenGL context states
- Add Blend constants
- Refactor Engine API
- Add Pixmap
- Fix GpuBufferPool
- Add SDF rectangle geometry processor
- Add NVIDIA driver bug workaround, when binding index buffer using DSA
- Add compat with OpenGL 3.3 upload pixels
- Add copyImage implementation, change Surface hierarchy
- Add Matrix.mapPoints and Matrix.getMin/MaxScale
- Add shear, map and I/O methods for Matrix
- Fix and optimize Matrix#invert
- Re-implement Matrix functions
- Fully implement ClipStack functions
- Other small fixes and improvements
1.18.2-3.9.0.1
Modern UI 3.9.0.1
Forge Extension 1.18.2-40.1.73
- Fix validation errors
- Add font atlas compact
- Add Iris shaders integration
- Schedule GUI Scale value listener on next tick
- Better text config category
- Change typeface loading behavior
- Restore cursor position for Emoji shortcode substitution
- Rework font manager to implement core Emoji rendering
- Add GPU driver bug workarounds bootstrap properties
- Improve text field undo/redo
- Add undo/redo for EditBox
- Add GUI Scale to Preferences
- Add batch input commit
- Update translations
- Implement grapheme break for all text fields
- Implement break iter for vanilla EditBox
- Increase window size for OpenGL version test, fix game freeze on Linux
- Update font resources and licenses
- Add tooltip border width config
- Fix format error when setting color opacity
- Remove unused assets
- Completely switch to Arc3D and abandon GL*Compat
- Auto clean up less used GPU resources
- Always generate text config
- Use jar-in-jar for caffeine and flexmark
- Update synchronization, improve render performance
- Disable MSAA by default, 0.176x VRAM usage than before, and faster
- Update to latest Arc3D and ModernUI
Modern Text Engine 1.18.2
- Auto disable modern text shaders when Iris shaders are active
- Now follow vanilla's Force Unicode Font setting
- Fix compat with Curios
- Fix shadow offset Y for bitmap font
- Add text layout command
- Remove text cache cleanup on parallel dispatch
- Dont draw text outline when 'modern text shaders in 3D' disabled
- Keep text shader preload consistent with vanilla UI shader preload
- Improve UniformScale text when GUI scale is less than 4
Core Framework 3.9.0
- Separate Arc 3D from core framework
- Optimize Matrix
- Optimize ImageStore
- Fix Image cleanup
- Add font atlas compact
- Fix emoji font color
- Add full Emoji font support to core framework
- Add Half (float16) type
- Move BinaryIO to Parcel
- Add ByteBuffer implementation for Parcelable
- Add commit batch input
- Fix per-cluster measure bug
- Fix track on rewind
- Rework on AudioSystem
- Move old ViewPager implementation to core framework
- Delay mipmaps regeneration for font atlas
- Fix and optimize SpanSet
- Decrease the default touchSlop value
- Completely remove GL*Compat classes, remove MSAA rendering
- Review bug on glfwWaitEventsTimeout
- Add CascadingMenuPopup presenter
- Remove IOException in readIntoNativeBuffer if >=2GB
- Fix compat with default render loop for OpenGL 3.3
- Optimize default bootstrap process
- Improve synchronization between UI thread and render thread
- Fragment now implements OnCreateContextMenuListener
- Fix saveLayer with alpha=0
- Add ContextMenuInfo
- Add ExpandableListView
- Fix ShapeDrawable line thickness
- Disable MSAA by default, and reduce the number of off-screen targets
- Remove the limit on the number of families in FontCollection
- Other small fixes and improvements
Arc 3D Graphics Engine 3.9.0
- Fix validation errors
- Add DriverBugWorkarounds
- Change to LinkedListMultimap
- Use HashMap for resource cache
- Better handling dirty OpenGL context states
- Add Blend constants
- Refactor Engine API
- Add Pixmap
- Fix GpuBufferPool
- Add SDF rectangle geometry processor
- Add NVIDIA driver bug workaround, when binding index buffer using DSA
- Add compat with OpenGL 3.3 upload pixels
- Add copyImage implementation, change Surface hierarchy
- Add Matrix.mapPoints and Matrix.getMin/MaxScale
- Add shear, map and I/O methods for Matrix
- Fix and optimize Matrix#invert
- Re-implement Matrix functions
- Fully implement ClipStack functions
- Other small fixes and improvements
1.19.4-3.9.0.3
Modern UI 3.9.0.3
Forge Extension 1.19.4-45.1.0
- Fix validation errors
- Add font atlas compact
- Add Iris shaders integration
- Schedule GUI Scale value listener on next tick
- Better text config category
- Change typeface loading behavior
- Restore cursor position for Emoji shortcode substitution
- Rework font manager to implement core Emoji rendering
- Add GPU driver bug workarounds bootstrap properties
- Improve text field undo/redo
- Add undo/redo for EditBox
- Add GUI Scale to Preferences
- Add batch input commit
- Update translations
- Implement grapheme break for all text fields
- Implement break iter for vanilla EditBox
- Add music player
- Increase window size for OpenGL version test, fix game freeze on Linux
- Update font resources and licenses
- Add tooltip border width config
- Fix format error when setting color opacity
- Remove unused assets
- Completely switch to Arc3D and abandon GL*Compat
- Auto clean up less used GPU resources
- Always generate text config
- Use jar-in-jar for caffeine and flexmark
- Update synchronization, improve render performance
- Disable MSAA by default, 0.176x VRAM usage than before, and faster
- Update to latest Arc3D and ModernUI
Modern Text Engine 1.19.4
- Auto disable modern text shaders when Iris shaders are active
- Now follow vanilla's Force Unicode Font setting
- Fix compat with Curios
- Fix shadow offset Y for bitmap font
- Fix fist line rendering in sign edit GUI
- Add text layout command
- Remove text cache cleanup on parallel dispatch
- Dont draw text outline when 'modern text shaders in 3D' disabled
- Keep text shader preload consistent with vanilla UI shader preload
- Improve UniformScale text when GUI scale is less than 4
Core Framework 3.9.0
- Separate Arc 3D from core framework
- Optimize Matrix
- Optimize ImageStore
- Fix Image cleanup
- Add font atlas compact
- Fix emoji font color
- Add full Emoji font support to core framework
- Add Half (float16) type
- Move BinaryIO to Parcel
- Add ByteBuffer implementation for Parcelable
- Add commit batch input
- Fix per-cluster measure bug
- Fix track on rewind
- Rework on AudioSystem
- Move old ViewPager implementation to core framework
- Delay mipmaps regeneration for font atlas
- Fix and optimize SpanSet
- Decrease the default touchSlop value
- Completely remove GL*Compat classes, remove MSAA rendering
- Review bug on glfwWaitEventsTimeout
- Add CascadingMenuPopup presenter
- Remove IOException in readIntoNativeBuffer if >=2GB
- Fix compat with default render loop for OpenGL 3.3
- Optimize default bootstrap process
- Improve synchronization between UI thread and render thread
- Fragment now implements OnCreateContextMenuListener
- Fix saveLayer with alpha=0
- Add ContextMenuInfo
- Add ExpandableListView
- Fix ShapeDrawable line thickness
- Disable MSAA by default, and reduce the number of off-screen targets
- Remove the limit on the number of families in FontCollection
- Other small fixes and improvements
Arc 3D Graphics Engine 3.9.0
- Fix validation errors
- Add DriverBugWorkarounds
- Change to LinkedListMultimap
- Use HashMap for resource cache
- Better handling dirty OpenGL context states
- Add Blend constants
- Refactor Engine API
- Add Pixmap
- Fix GpuBufferPool
- Add SDF rectangle geometry processor
- Add NVIDIA driver bug workaround, when binding index buffer using DSA
- Add compat with OpenGL 3.3 upload pixels
- Add copyImage implementation, change Surface hierarchy
- Add Matrix.mapPoints and Matrix.getMin/MaxScale
- Add shear, map and I/O methods for Matrix
- Fix and optimize Matrix#invert
- Re-implement Matrix functions
- Fully implement ClipStack functions
- Other small fixes and improvements
1.19.2-3.9.0.2
Modern UI 3.9.0.2
Forge Extension 1.19.2-43.1.2
- Fix validation errors
- Add font atlas compact
- Add Iris shaders integration
- Schedule GUI Scale value listener on next tick
- Better text config category
- Change typeface loading behavior
- Restore cursor position for Emoji shortcode substitution
- Rework font manager to implement core Emoji rendering
- Add GPU driver bug workarounds bootstrap properties
- Improve text field undo/redo
- Add undo/redo for EditBox
- Add GUI Scale to Preferences
- Add batch input commit
- Update translations
- Implement grapheme break for all text fields
- Implement break iter for vanilla EditBox
- Add music player
- Increase window size for OpenGL version test, fix game freeze on Linux
- Update font resources and licenses
- Add tooltip border width config
- Fix format error when setting color opacity
- Remove unused assets
- Completely switch to Arc3D and abandon GL*Compat
- Auto clean up less used GPU resources
- Always generate text config
- Use jar-in-jar for caffeine and flexmark
- Update synchronization, improve render performance
- Disable MSAA by default, 0.176x VRAM usage than before, and faster
- Update to latest Arc3D and ModernUI
Modern Text Engine 1.19.2
- Auto disable modern text shaders when Iris shaders are active
- Now follow vanilla's Force Unicode Font setting
- Fix compat with Curios
- Fix shadow offset Y for bitmap font
- Fix fist line rendering in sign edit GUI
- Add text layout command
- Remove text cache cleanup on parallel dispatch
- Dont draw text outline when 'modern text shaders in 3D' disabled
- Keep text shader preload consistent with vanilla UI shader preload
- Improve UniformScale text when GUI scale is less than 4
Core Framework 3.9.0
- Separate Arc 3D from core framework
- Optimize Matrix
- Optimize ImageStore
- Fix Image cleanup
- Add font atlas compact
- Fix emoji font color
- Add full Emoji font support to core framework
- Add Half (float16) type
- Move BinaryIO to Parcel
- Add ByteBuffer implementation for Parcelable
- Add commit batch input
- Fix per-cluster measure bug
- Fix track on rewind
- Rework on AudioSystem
- Move old ViewPager implementation to core framework
- Delay mipmaps regeneration for font atlas
- Fix and optimize SpanSet
- Decrease the default touchSlop value
- Completely remove GL*Compat classes, remove MSAA rendering
- Review bug on glfwWaitEventsTimeout
- Add CascadingMenuPopup presenter
- Remove IOException in readIntoNativeBuffer if >=2GB
- Fix compat with default render loop for OpenGL 3.3
- Optimize default bootstrap process
- Improve synchronization between UI thread and render thread
- Fragment now implements OnCreateContextMenuListener
- Fix saveLayer with alpha=0
- Add ContextMenuInfo
- Add ExpandableListView
- Fix ShapeDrawable line thickness
- Disable MSAA by default, and reduce the number of off-screen targets
- Remove the limit on the number of families in FontCollection
- Other small fixes and improvements
Arc 3D Graphics Engine 3.9.0
- Fix validation errors
- Add DriverBugWorkarounds
- Change to LinkedListMultimap
- Use HashMap for resource cache
- Better handling dirty OpenGL context states
- Add Blend constants
- Refactor Engine API
- Add Pixmap
- Fix GpuBufferPool
- Add SDF rectangle geometry processor
- Add NVIDIA driver bug workaround, when binding index buffer using DSA
- Add compat with OpenGL 3.3 upload pixels
- Add copyImage implementation, change Surface hierarchy
- Add Matrix.mapPoints and Matrix.getMin/MaxScale
- Add shear, map and I/O methods for Matrix
- Fix and optimize Matrix#invert
- Re-implement Matrix functions
- Fully implement ClipStack functions
- Other small fixes and improvements
1.20.1-3.8.0.4
Release 3.8.0.4, update core dep versions
1.19.4-3.8.0.3
Release 3.8.0.4, update core dep versions
1.19.2-3.8.0.2
Modern UI 3.8.0.2
Forge Extension 1.19.2-43.1.2
- Add tooltips for some options
- Add in-game option for background opacity
- Use bootstrap.properties instead of bootstrap file
- Add dynamic tooltip border colors and presets
- Block NUL char for input method
Modern Text Engine 1.19.2
- Add config to control component cache
- Add default font behavior to control whether to use default font
- Add SpaceFont for compatibility
- Add position alignment for direct mask drawing
- Add StandardFontSet for better mod compatibility
- Make color emoji work in font itemization rather than brute force
- Enhance and optimize text layout engine
- Only compute the required information
- Make text layout asynchronous
- Mix layout processor into LayoutCore to increase cache hit
- Adjust paragraph layout lifespan
- Reduce performance and memory impact
- Remove fast digit replacement
- Make obfuscated style work with bitmap fonts
- Adjust EditBox highlight color
Core Framework 3.8.0
- Update font itemization for color emoji
- Fit sub-windows in main window
- Add ColorEmoji support for font itemization
- Optimize GPU glyph memory usage
- Block NUL and DEL character from input
- Add EmojiFont features
- Replace Matrix4 with Matrix for View
- Add TooltipPopup support for View
- Add Font interface for layout engine, move old Font usage to StandardFont
- Add text pre-computation
- Replace all ascents with negative values
- Fix TextLine context range
- Add offset parameters to GlyphsConsumer
- Add TextShaper.shapeText for multi-styled text
- Fix Canvas.drawText(ShapedText) method
- Update TextShaper and Canvas methods
- Add TrailingMarginSpan, add LineBackgroundSpan, add TypefaceSpan
- Enhance rich text spans, add AlignmentSpan, BulletSpan, LeadingMarginSpan, QuoteSpan
- Optimize MeasuredText
- Supports text layout with optional per-glyph advances and pixel bounds
- Separate Arc Paint, Graphics Paint, TextPaint and FontPaint
- Enhance temp TextBuffer recycling
- Fix fast path for BoringLayout.draw()
- Remove Canvas.drawText(CharSequence)
- Replace old LayoutPiece usage with ShapedText.doLayout
- Optimize text rendering
- Fix FontFamily is not thread safe
- Add Matrix for 2D transform (xyw), Matrix3 for 3D transform (xyz)
- Migrate graphics package to Arc 3D
- Add explicit camera distance
- Other small updates...
Arc 3D Graphics Engine 3.8.0
- Add experimental instanced rendering
- Optimize text rendering
- Always use buffer orphaning for OpenGL
- Add backend render target wrapping
- Add submit method for BufferPool
- Add IndexMeshPool
- Move some context states out of GLCommandBuffer
- Add RingBuffer
- Add some Vulkan backend classes
Markdown 3.8.0
- Add Code and CodeBlock
- Initial basic Markdown support
1.18.2-3.8.0.1
Modern UI 3.8.0.1
Forge Extension 1.18.2-40.1.73
- Add tooltips for some options
- Add in-game option for background opacity
- Use bootstrap.properties instead of bootstrap file
- Add dynamic tooltip border colors and presets
- Block NUL char for input method
- Fix crash on dedicated server
- Fix possible startup crash
- Add ContainerDrawHelper
- Add config to use vanilla font for convenience
- Remove tooltip fade-in animation
- Add slider control for preferences
- Fix UI screenshot not un-premultiplied
- Don't allow soft launching due to OpenGL 3.3 support
- Fix GUI scale pinned after game restart
- Add CenterFragment2
- Remove noise from gaussian blur shader
- Remove deprecated configs
- Adjust GUI scale algorithm
- Adjust tooltip border width
- Support capability for fragments and screens
- Fix incorrect color blending for tooltip
- Fix GUI scale is always auto after restart
- Fix black screen with blur effect
- Add glow wave effect
- Change the background blur from 4-pass box blur to 2-pass gaussian blur with lod and noise
- Improve config reloading and action center UI
- Fix crash on dedicated server (though you shouldn't install on server)
- Add config to disable slider GUI scale
- Update GUI scale algorithm
- Add I18n compat characters
- Add new API and remove server dependency
- Change registration and network to internal
Modern Text Engine 1.18.2
- Add config to control component cache
- Add default font behavior to control whether to use default font
- Add SpaceFont for compatibility
- Add position alignment for direct mask drawing
- Add StandardFontSet for better mod compatibility
- Make color emoji work in font itemization rather than brute force
- Enhance and optimize text layout engine
- Only compute the required information
- Make text layout asynchronous
- Mix layout processor into LayoutCore to increase cache hit
- Adjust paragraph layout lifespan
- Reduce performance and memory impact
- Remove fast digit replacement
- Make obfuscated style work with bitmap fonts
- Adjust EditBox highlight color
- Fix EditBox selection highlight
- Fix per-glyph rendering for compatibility
- Fix obfuscated text crash in world using SDF
- Make SDF work as long as in 3D or non-translation matrix
- Make SDF work with 32pt font size at least
- Remove alignPixels due to font hinting
- Replace 8x outline with SDF stroke
- Fix compatibility for Create display board
- Change Twemoji 14 to Google Noto Color Emoji 15
- Fix text rendered as emoji without VS-16 (0xFE0F)
- Combine IamCal (Slack) shortcodes with JoyPixels (Discord) and Google
- Add distance field text to 3D world
- Fix total advance of layout is never pixel-aligned
- Fix TTF loading in vanilla resource packs
- Adjust texture sharpening factor
- Fix line breaking for obfuscated chars
- Remove enchantment font hack
- Support vanilla bitmap font in replacement run
- Support vanilla bitmap font as font family
- Support vanilla font declaration
- Adjust text decoration thickness
- Reduce unnecessary native memory usage in vanilla
- Make font resource reloading work async
- Optimize ChatFormatting.getByCode to O(1)
- Optimize layout caching strategy
- Add font set to layout key
- Add sharpen font atlases
- Change blend mode for glowing text
- Add new glowing text effect
- Add deferred rendering to improve performance
Core Framework 3.8.0
- Update font itemization for color emoji
- Fit sub-windows in main window
- Add ColorEmoji support for font itemization
- Optimize GPU glyph memory usage
- Block NUL and DEL character from input
- Add EmojiFont features
- Replace Matrix4 with Matrix for View
- Add TooltipPopup support for View
- Add Font interface for layout engine, move old Font usage to StandardFont
- Add text pre-computation
- Replace all ascents with negative values
- Fix TextLine context range
- Add offset parameters to GlyphsConsumer
- Add TextShaper.shapeText for multi-styled text
- Fix Canvas.drawText(ShapedText) method
- Update TextShaper and Canvas methods
- Add TrailingMarginSpan, add LineBackgroundSpan, add TypefaceSpan
- Enhance rich text spans, add AlignmentSpan, BulletSpan, LeadingMarginSpan, QuoteSpan
- Optimize MeasuredText
- Supports text layout with optional per-glyph advances and pixel bounds
- Separate Arc Paint, Graphics Paint, TextPaint and FontPaint
- Enhance temp TextBuffer recycling
- Fix fast path for BoringLayout.draw()
- Remove Canvas.drawText(CharSequence)
- Replace old LayoutPiece usage with ShapedText.doLayout
- Optimize text rendering
- Fix FontFamily is not thread safe
- Add Matrix for 2D transform (xyw), Matrix3 for 3D transform (xyz)
- Migrate graphics package to Arc 3D
- Add explicit camera distance
- Add context range to LayoutCache
- Add draw ShapedText, add register method to FontFamily
- Add ShapedText and TextShaper for drawing text, make drawText deprecated
- Rework LayoutPiece, optimize cluster work, now it won't do texture work
- Add FontFamily aliases
- Moving low-level text layout to graphics.text package
- Fix MessageQueue parkNanos time unit
- Don't use perspective if View has no 3D transform
- Add WindowGroup for toasts and popups
- Add context to Toast
- Add MpmcArrayQueue
- Optimize view matrix composition
- Rework threading system
- Add ProgressBar and SeekBar
- Add Locale alias for FontFamily
- Add ScaleDrawable
- Change ScrollView default scrollbar
- Fix bitmap getPixelARGB on BIG ENDIAN machine
- Rework ShapeDrawable, remove old Shape classes
- Set long press timeout to 1000ms by default
- Add LinkMovementMethod
- Update BinaryIO
- Update ListView
- Update Pool and Pools
- Update Paint methods
- Add ViewPager module
- Rework drawLine method with SDF
- Add drawPie drawMesh canvas method
- Add GIF image decoder
- Add more Bitmap formats and image decode methods
- Merge Arc 3D graphics engine
- Add framework Nullable/NonNull annotations
- Allow Bitmap's pixels to be shared
- Add ColorSpace implementation
- Update Matrix and MathUtil
- Optimize for styled text, make text style serializable
- Add complex value and display metrics
- Add linked structure and custom data class for DataSet
- Add property name for Property
- Fix distance-to-edge anti-aliasing is gamma correct
- Adjust analytic anti-aliasing to screen-space
- Improve font collection itemization
- Update shaders to a modern version
- Use indexed rendering for glyph meshes
- Add sharpen textures for all shaders
- Always use premultiplied alpha for builtin renderer
- Compact font atlas generation
- Other small updates...
Arc 3D Graphics Engine 3.8.0
- Add experimental instanced rendering
- Optimize text rendering
- Always use buffer orphaning for OpenGL
- Add backend render target wrapping
- Add submit method for BufferPool
- Add IndexMeshPool
- Move some context states out of GLCommandBuffer
- Add RingBuffer
- Add some Vulkan backend classes
- Fix BufferAllocPool
- Fix OpsRenderPass buffer pointers
- Update VaryingHandler and UniformHandler layout qualifier
- Add compatibility for base instance support
- Add GLUniformBuffer and buffer upload
- Add FilterMode, MipmapMode and AnisotropicFiltering for Paint
- Add async pipeline state cache (thread safe)
- Add separate objects from graphics package
- Add CustomDrawable for handling unmanaged draw
- Fix Buffer unlock method
- Fix BufferAlloc pointers
- Add RoundRectGeoProc
- Add Buffer creation method to Engine
- Add DrawOp and MeshDrawOp
- Add OpListTask
- Replace GLPipeline with separate GLProgram and GLVertexArray
- Add GLOpsRenderPass
- Add GLUniformDataManager
- Support base offset for GLVertexArray in OpenGL 3.3
- Fix Surface hierarchy
- Use MSAA resolve instead of MS texture sampler
- Add compatibility methods for creating render target objects
- Add close() for LazyCallback proxies
- Add GL_RG for GrayAlpha surface usage
- Add OpenGL 3.3 compatible shaders
- Add mutable texture allocation methods
- Add swizzle on texture binding
- Use separate min/mag filter for SamplerState
- Optimize surface canvas methods
- Optimize font atlas generation
- Change default font atlas size to 4 chunks (1024x1024)
- Change number of font atlases from multiple to single
- Add efficient rectangle packing algorithms
Markdown 3.8.0
- Add Code and CodeBlock
- Initial basic Markdown support
View Pager 3.8.0
- Add linear pager indicator
- Initial update