Skip to content

v0.10.1

Latest

Choose a tag to compare

@yorkie yorkie released this 17 Sep 06:38
· 29 commits to main since this release
134a8ae

New Features & Improvements

DOM & Web APIs

  • Element.onclick Support: Added support for Element.onclick attribute for inline event handlers (#309)
  • Text Alignment Tests: Added comprehensive text-align test cases to fixtures/html (#313)

CSS & Styling

  • Flexbox Properties: Support parsing flex-grow and flex-shrink at computed style
  • CSS Selectors: Implement CSS nth-child() and nth-of-type() selector support (#285)
  • CSS Variables: Support CSS variables (#263)
  • Universal Selector: Support universal selector (*) in CSSOM selector parser and matching (#261)
  • Pseudo-class Selectors:
    • Implement CSS :root selector matching (#259)
    • Implement CSS :where() functional pseudo-class selector support (#258)
    • Replace Rust CSS selectors with C++ implementation and add pseudo-class support (#241)
  • Attribute Selectors: Implement CSS attribute selector support in parser and matcher (#271)
  • Background Properties: Support using background-position, background-size and background-repeat (#274)
  • Background Repeat: Background-repeat should draw from clipped area (#280)
  • Absolute Positioning: Fix absolute positioning to reference nearest positioned ancestor (#276)
  • Align Items: Correct align-items implementation (#282)

Canvas & WebGL

  • Canvas 2D: Implement strokeRect() method in Canvas 2D rendering context (#294)
  • WebGL: Implement WebGL validateProgram method (#253)

Browser & Rendering

  • Parallel Rendering: Use std::async to make each web content rendering run in parallel (#310)
  • Texture Bindings: Unbind texture bindings correctly (#221)
  • 3D Content: Add 3D world-space content bar and input box (#269)
  • Frame Rate Control: Add frame rate control to vsync and manual modes (#265)
  • Console Logging: Implement Console binding to support logging on CDP (#267)

Testing & Quality Assurance

  • Border Tests: Add comprehensive border regression test page to fixtures/html (#302)
  • Text Rendering Tests: Add comprehensive text rendering test page for fixtures (#301)
  • Flexbox Tests: Add flex-grow and flex-shrink test case in fixtures/html (#300)
  • Canvas Tests: Add comprehensive Canvas API test pages to fixtures/html (#293)
  • CSS Overflow Tests: Add comprehensive CSS overflow test file to fixtures/html (#290)
  • Layout Tests: Add flexbox and grid layout test pages (#282)

Bug Fixes & Performance

Rendering & Graphics

  • Render Queue: Correct RenderQueue sorting for positioned elements (#297)
  • Depth Writing:
    • Correct depth write only pass for web content
    • Write web content depth should be written with stencil testing (#272)
    • Correct the bar component depth writes
  • Build Fixes: Fix build errors when enabling TR_RENDERER_ENABLE_VERBOSE
  • GLSL Processing: Upgrade glsl-lang to fix the glsl preprocessing issues (#295)

DOM & Browser

  • Scroll Throttling: Implement scroll throttling in document and fix document dirty state (#289)
  • Font Manager: Maintain only one instance for font manager (#286)
  • Rendering Parameters: Tweak the web content rendering parameters

Documentation & Infrastructure

  • Commit Guidelines: Update commit message guidelines (#311)
  • Three.js Examples: Update threejs example sample

Detailed Commit History

Commit Description PR
af07862 feat(tests): add comprehensive text-align test cases to fixtures/html #313
bdf2771 fix(tests): update threejs example sample -
83a628a feat(dom): support Element.onclick attribute for inline event handlers #309
f1b92b1 docs(docs-infra): update commit message guidelines #311
4e013a3 fix(builtin_scene): use std::async to make each web content rendering run in parallel #310
f918ddf fix(builtin_scene): unbind texture bindings correctly #221
86de83e fix(renderer): fix build errors when enabling TR_RENDERER_ENABLE_VERBOSE -
562a483 add comprehensive border regression test page to fixtures/html #302
6b93031 add comprehensive text rendering test page for fixtures #301
366a058 fix(builtin_scene): tweak the web content rendering parameters -
60f3d27 add flex-grow and flex-shrink test case in fixtures/html #300
5145c14 feat(css): support parsing flex-grow and flex-shrink at computed style -
070211e fix(dom): correct RenderQueue sorting for positioned elements #297
397aac7 fix(css): fix absolute positioning to reference nearest positioned ancestor #276
c9837bb fix(dep): upgrade glsl-lang to fix the glsl preprocessing issues #295
b5a086f feat(canvas): implement strokeRect() method in Canvas 2D rendering context #294
da43422 feat(test): add comprehensive Canvas API test pages to fixtures/html #293
9156453 feat(test): add comprehensive CSS overflow test file to fixtures/html #290
1668735 fix(dom): implement scroll throttling in document and fix document dirty state #289
0b3a535 feat(webgl): implement WebGL validateProgram method #253
8b61cbe fix(browser): maintain only one instance for font manager #286
2f5296a feat(cssom): implement CSS nth-child() and nth-of-type() selector support #285
4b09aab fix(cssom): correct align-items impl and add flexbox and grid layout test pages #282
9b9cba3 fix(cssom): background-repeat should draw from clipped area #280
8e3b8ae feat(cssom): support using background-position, background-size and background-repeat #274
404457a fix(browser): correct the bar component depth writes -
8c46b02 feat(bindings): Implement Console binding to support logging on cdp #267
46a910f fix(builtin_scene): correct depth write only pass for web content -
d660b57 fix(builtin_scene): write web content depth should be written with stencil testing #272
69344ad feat(cssom): implement CSS attribute selector support in parser and matcher #271
b8bab31 feat(browser): add 3D world-space content bar and input box #269
88e86cf feat(browser): add frame rate control to vsync and manual modes #265
204c761 feat(cssom): support CSS variables #263
99b7458 feat(cssom): support universal selector (*) in CSSOM selector parser and matching #261
bb2894b feat(cssom): implement CSS :root selector matching #259
0529c45 feat(cssom): implement CSS :where() functional pseudo-class selector support #258
19dafc6 feat(cssom): replace Rust CSS selectors with C++ implementation and add pseudo-class support #241

Regression Testing Cases

File Description
fixtures/html/element-onclick-test.html Element.onclick attribute for inline event handlers (#309)
fixtures/html/text-rendering-test.html Comprehensive text rendering test page (#301)
fixtures/html/border-regression-test.html Comprehensive border regression test page (#302)
fixtures/html/layout-flexbox-grow-shrink.html Flex-grow and flex-shrink test case (#300)
fixtures/html/canvas-api-basic-drawing.html Canvas drawing operations including strokeRect() (#294)
fixtures/html/canvas-api-paths.html Canvas path operations
fixtures/html/canvas-api-state.html Canvas state management
fixtures/html/canvas-api-styles.html Canvas styling
fixtures/html/canvas-api-text.html Canvas text rendering
fixtures/html/canvas-api-transforms.html Canvas transformations
fixtures/html/canvas-api-image-data.html Canvas ImageData API
fixtures/html/css-overflow-comprehensive.html Comprehensive CSS overflow test file (#290)
fixtures/html/universal-selector-test.html Universal selector (*) in CSSOM parser and matching (#261)
fixtures/html/background-size-position-test.html Background-position, background-size and background-repeat (#274)
fixtures/html/background-position-extended-syntax-test.html Extended background-position syntax
fixtures/html/background-origin-repeat-test.html Background-repeat drawing from clipped area (#280)
fixtures/html/layout-flexbox-alignment.html Correct align-items implementation and flexbox layout (#282)
fixtures/html/layout-grid-alignment.html CSS Grid layout testing (#282)
fixtures/html/position-absolute-test.html Absolute positioning to nearest positioned ancestor (#276)
fixtures/html/dom/document_fragment_test.html DocumentFragment API
fixtures/html/dom/document_fragment_clone_test.html DocumentFragment cloning
fixtures/html/dom/document_fragment_web_api_test.html DocumentFragment Web API compliance
fixtures/html/layout-flexbox-column.html Flexbox column layouts
fixtures/html/layout-flexbox-example.html Flexbox examples
fixtures/html/layout-flexbox-nested.html Nested flexbox layouts
fixtures/html/layout-flexbox-wrap.html Flexbox wrapping
fixtures/html/layout-grid-areas.html CSS Grid areas
fixtures/html/layout-grid-auto.html CSS Grid auto placement
fixtures/html/layout-grid-example.html CSS Grid examples
fixtures/html/layout-grid-nested.html Nested CSS Grid
fixtures/html/text-antialiasing.html Text antialiasing
fixtures/html/css-gradients.html CSS gradient support
fixtures/html/webgl-conformance/validateprogram-test.html WebGL validateProgram method (#253)
fixtures/html/webgl-conformance/bufferdata-size-test.html WebGL buffer operations