Skip to content

Releases: BloCamLimb/ModernUI-MC

ModernUI-3.11.0.x

15 Sep 14:39
ac4e024
Compare
Choose a tag to compare

See changelogs.md

1.20.2-3.9.0.5

10 Nov 10:21
7841a88
Compare
Choose a tag to compare

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

10 Nov 09:48
928e431
Compare
Choose a tag to compare

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

10 Nov 09:10
dd256e9
Compare
Choose a tag to compare

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

10 Nov 09:34
0bc4f21
Compare
Choose a tag to compare

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

10 Nov 09:22
b4416c8
Compare
Choose a tag to compare

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

11 Aug 12:19
Compare
Choose a tag to compare
Release 3.8.0.4, update core dep versions

1.19.4-3.8.0.3

11 Aug 12:18
Compare
Choose a tag to compare
Release 3.8.0.4, update core dep versions

1.19.2-3.8.0.2

11 Aug 08:53
Compare
Choose a tag to compare

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

11 Aug 07:30
Compare
Choose a tag to compare

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