Skip to content

v0.9.0

Choose a tag to compare

@yorkie yorkie released this 04 Aug 06:38
· 131 commits to main since this release
618a444

New Features & Improvements

CSS & Styling Enhancements

  • CSS Transform Parser: Replaced Rust CSS transform parser with C/C++ implementation for better performance (#176)
  • Background Properties: Added support for background-clip, background-origin, and background-repeat properties (#135, #125)
  • Background Blend Mode: Added support for background-blend-mode CSS property (#119)
  • Background Images: Support for background-image with url() and gradient rendering (#117, #123)
  • CSS Parsing: Enhanced CSS parsing with specified classes for background-image

HTML & DOM Features

  • HTMLInputElement: Added comprehensive HTMLInputElement support (#148)
  • HTMLIFrameElement: Added basic HTMLIFrameElement and JSAR.UniversalRenderingServer for unified rendering debugging (#127)
  • Document API: Added document.write and *.writeln methods
  • HTML Parsing: Enhanced HTML parsing with support for unquoted attribute values (#103)
  • Attribute Parsing: Support for attributes without values and improved PCDATA tag parsing
  • HTML Volume: Set HTML volume mask depth to 0.05 and added offset to remove gaps between background and borders

Rendering & Graphics

  • Layered Rendering: Support for rendering web content in layers (#172)
  • SVG Support: Added SVG image rendering capabilities (#169)
  • DPR Support: Implemented device pixel ratio support in web content rendering
  • Renderer Refactoring: Complete refactor of the builtin scene renderer
  • Render Pipeline: Refined render pipeline and improved offscreen pass with computation graph
  • Environment Mapping: Added environment mapping test files and examples
  • Layer Calculation: Calculate layer field for each LayoutObject (#174)

Inspector & Debugging

  • Chrome DevTools Protocol: Added basic CDP support with Runtime and Example domains (#121)
  • WebSocket Support: Added WebSocket support to prepare for Chrome DevTools Protocol integration (#106)
  • MDN Compatibility: Implemented MDN-compatible browser compatibility data structure (#108)
  • Inspector Logs: Added /:id/logs endpoint for better debugging
  • Enhanced Debugging: Support for unified rendering backend debugging

Examples & Testing

  • Transmute Browser: Renamed simulator to transmute_browser (#178)
  • Rendering Modes: Updated args parsing with support for mono/stereo rendering modes (#159)
  • LeaferJS Support: Added support for LeaferJS base usage in fixtures

Build & CI Improvements

  • Deployment Permissions: Added write permissions for deploy-website workflow
  • Memory Optimization: Specified Node options to increase V8 memory limits
  • Lint Fixes: Fixed various lint errors throughout the codebase

What's Changed

  • Add WebGPU backend to support the record/submit draw calls on render textures by @yorkie in #94
  • client, graphics: fix commandbuffer responses dispatching to the corr… by @yorkie in #96
  • Fix HTML parsing to support unquoted attribute values by @Copilot in #103
  • Create browser compatibility visualization webpage at /docs by @Copilot in #104
  • inspector: Add WebSocket support for Chrome DevTools Protocol integration by @Copilot in #106
  • Implement MDN-compatible browser compatibility data structure for JSAR Runtime by @Copilot in #108
  • cssom: support parsing background-image and render as a grad effect by @yorkie in #117
  • Add support for background-blend-mode and background-clip CSS properties by @Copilot in #119
  • Add basic CDP support to inspector with Runtime and MyExample domains by @Copilot in #121
  • Add CSS background-origin and background-repeat properties support by @Copilot in #125
  • Support extracting gradient data from computed image values for background rendering by @Copilot in #123
  • Add CONTRIBUTING.md to guide contributors and copilot by @Copilot in #138
  • Implement background-clip: text CSS property support in web content renderer by @Copilot in #135
  • Add technical blog posts for community promotion highlighting recent JSAR developments by @Copilot in #136
  • Add CDP Domain JSAR.UniversalRenderingServer for unified rendering backend debugging/controls by @Copilot in #127
  • client: change all web content to be transparents and add depth-only pass by @yorkie in #144
  • Add support for spatial (stereo) image rendering via spatial="stereo" attribute by @Copilot in #131
  • dom: move the native fetch() to RuntimeContext to decrease the async handles by @yorkie in #149
  • Add HTMLButtonElement support by @Copilot in #147
  • Add blog post: "I Added Stereo Rendering to Our Browser Engine — With Copilot" by @Copilot in #152
  • Implement toJson() methods for command buffer classes and enhance JSAR vGPU Profiler integration by @Copilot in #146
  • Fix createTextPath CJK glyph extraction for mixed CJK/English text by @Copilot in #151
  • Adjust click event threshold for XR Device ray interaction from 1px to 5px by @Copilot in #100
  • Fix Android crash by enabling C++ exception handling in CMake configuration by @Copilot in #156
  • Add basic HTMLIframeElement support for DOM creation and recognition by @Copilot in #162
  • Add SVG decoding and rendering support to ImageCodec with optional scaling by @Copilot in #169
  • Support rendering web content in layers by @yorkie in #172
  • Support single-view XRFrame and update desktop_opengl example for XR rendering modes with improved CLI by @Copilot in #159
  • Add HTMLInputElement support to JSAR runtime by @Copilot in #148
  • Add layer field to LayoutObject with current-node-based calculation and integrated debugging by @Copilot in #174
  • Implement configurable cube map environment renderer with enhanced mouse controls, smooth cubic easing animation, and platform-specific window styling for JSAR desktop simulator by @Copilot in #178
  • Replace Rust CSS transform parser with C/C++ implementation supporting negative values by @Copilot in #176
  • Add GitHub Action to deploy docs with custom build support to gh-pages by @Copilot in #184
  • Support configurable window dragging region for macOS examples with perfect mouse-window alignment by @Copilot in #180
  • Refactor docs HTML sections to use VitePress with complete manual documentation by @Copilot in #187
  • Release 0.9.0: Core technical improvements and feature additions by @Copilot in #188

Full Changelog: amidala-v0.8.2...amidala-v0.9.0