8000 Releases · usadson/retina · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: usadson/retina

v0.2.0

05 Aug 07:26
9deea23
Compare
Choose a tag to compare

This is the first official release!

General Information

Version 0.1.0 was before the project was restructured to which it is today. In this version, there are a couple notable features:

  1. HTML is parsed into a reference-counted DOM
  2. Basic CSS parser
  3. Simple CSS selector matcher, only <simple selector>
  4. Style collection & cascading
  5. @media query support for screen and all types
  6. Text & whitespace transformations
  7. User Agent style sheet
  8. Internal Fetch API implementation
  9. Remote & local document & resource fetch
  10. Window resize is acted upon
  11. Logging using the log crate
  12. Window title is based upon the <title> element or the URL
  13. A simple DOM inspector with F12
  14. Basic CSS box-model
  15. Shortcuts like Ctrl+W, F5, F12
  16. Extensive Font API
  17. Text hints (e.g. ligatures, CJK character forms)
  18. Text shaping using harfbuzz
  19. Still bitmap image support (JPG, PNG, BMP, WebP, etc.)
  20. Animated GIF support
  21. HTML <img> element support
  22. CSS background-image support (non-gradients)
  23. Basic compositor with parallel tiles of 256x256
  24. Ctrl+V to paste a URL to open
  25. Scrolling support
  26. Parallelized glyph rasterization
  27. Improved text anti-aliasing
  28. Non-colored emoji support
  29. text-decoration support
  30. And a lot of performance improvements!

Changes

  • [deps] Update dependencies
  • [page] Accept continuous task messages when no timeout expired
  • [page] Document the DirtyState mechanism
  • [gfx+page] Remove redundant debug messages
  • [app] Count FPS for paint-heavy scenario's
  • [page] Time scroll responsiveness
  • [app] Fix incorrect App creation
  • [page] Animate through each frame of GIFs
  • [dom+gfx+page] Generate textures from GIF frames
  • [dom] Special support for decoding GIF animated images
  • [ci] Add GitHub Pages link for Rustdoc
  • [app+page] Show backtrace of page crash in Window
  • [app] Show a crash screen when the pages crashes, instead of halting
  • [compositor] Ensure bottommost text fragments are continued on a vertical tile boundary
  • [layout] Support emoji text fragments
  • [font] Debug FontDescriptor with FontHandle
  • [font] Add FamilyName::Emoji
  • [layout] Remove fast path of anonymous layout algorithm
  • [page] Reduce maximum delay between paints
  • [compositor] Recall staging belt after awaiting SubmissionFuture
  • [compositor] Enable wgpu tracing/profiling
  • [compositor] Ensure composition of the last tiles are submitted correctly
  • [font] Improve glyph rendering by eliminating double AA
  • [compositor] Remove dependency on retina-gfx-font-backend-font-kit
  • [gfx+font] Move font descriptors and hints back to retina-gfx-font!
  • [font] Move the font rendering code to a separate crate
  • [gfx] Decouple font-kit backend from the main crate
  • [layout] Hot fix crash in subtendril'ing
  • [font] Reduce locking overhead for FontKitFont and GlyphAtlas
  • [font] Add instrumentation to backend font implementation
  • [compositor] Allow tracing of composition cycles
  • [gfx] Cull textured rects outside the viewport
  • [compositor] Cull out tile-non-intersecting text fragments
  • [compositor] Fix some clippy hints
  • [compositor] Use stdlib's thread scope instead of crossbeam's
  • [compositor] Hide most messages behind trace log level
  • [compositor] Re-enable background color filling
  • [compositor] Clear the tile's background a normal color
  • [compositor] Document the publicly accessible API
  • [compositor] Don't request a composition cycle when the tile was cached
  • [compositor] Delay waiting on submit until next composite cycle
  • [compositor] Keep bottom tiles in cache when scrolling up
  • [page] Don't resubmit the composited page
  • [compositor] Merge paint and composite into one
  • [gfx] Rename common log message to clear up confusion
  • [compositor] Composite tiles in parallel
  • [compositor] Composite immediately when a tile is ready
  • [compositor] Debug the times taken per tile
  • [compositor] Only paint tiles that intersect the viewport
  • [compositor] Paint tiles according to the viewport's vertical position
  • [compositor] Use a tile-based system for rendering the screen
  • [font] Prepare basic latin by also including the U+0020 SPACE glyph
  • [ua] Update test according to the CSS parsing improvements!
  • [gfx] Trace bind & draw commands
  • [gfx] Create a sampler once per texture renderer
  • [gfx-font] Prepare renderer once per text run
  • [gfx] Instrument more functions
  • [style] Support compound p.blue#main selectors!
  • [style] Move simple selector matching to a separate function
  • [style+page] Load correct fonts using the given font-weight
  • [font] Better propagate succes status for font loading
  • [gfx+style] Support font-variant-position
  • [gfx] Support East Asian glyph substitution
  • [style] Support font-variant-east-asian
  • [dom+i18n+layout] Support text-transform CSS property
  • [style] Support text-transform
  • [compositor] Support text-decoration: line-through and overline
  • [style-parser] Support font-weight
  • [compositor] Support basic text-decoration properties
  • [font] Add accessors for baseline, underline offset+thickness
  • [style] Add text-decoration properties
  • [layout] Remove old debug logging
  • [common+layout] Fix crash for multi-byte character index
  • [woff] Start working on an WOFF(2) decompressor
  • [layout] Translate font-variant-caps to gfx-font format
  • [gfx-font] Support capital letter font hints
  • [style] Support font-variant-caps
  • [page] Add a CSS missing font loading mechanism
  • [gfx] Font description should be Hash and Eq
  • [gfx-font] Add FontProvider::load_from_system() API
  • [page] Fix page task message timeout system
  • [page] Generalize style resource loading into a separate function
  • [gfx-font] Don't load fonts in the background if they don't exist
  • [style] Support font-kerning and font-variant-ligatures
  • [gfx-font] Add ability to change ligatures & kerning hints
  • [gfx+font+gui] Remove wgpu_glyph dependency
  • [gfx-font] Diverge path for grayscale or anti-aliasing
  • [gfx-font] Remove old ascent per glyph from the font
  • [gfx-font] Tidy up glyph_iter
  • [gfx] Use HarfBuzz offsets & advances instead of the defaults
  • [gfx-font] Fix baseline correction in text painting
  • [gfx-font] Fix font height calculation
  • [gfx-font] Use HarfBuzz for text shaping
  • [gfx-font] Use the font size for atlas cache matching
  • [gfx-font] Calculate alpha channel based on avg glyph mask
  • [gfx-font] Use alpha blending for glyph painting
  • [gfx] Allow color blending in TextureMaterialRenderer
  • [gfx-font] Paint using the text color supplied
  • [gfx] Give TextureMaterialRenderer better debug WebGPU labels
  • [gfx] Fix incorrect resource reference in paint_rect_textured_with
  • [gfx] Give texture paint resources a better name
  • [gfx-font] Implement glyph position correctly
  • [gfx-font] Chore: clean-up font_kit backend glue
  • [gfx-font] Re-enable parallelized glyph rasterization
  • [gfx-font] Remove debug abort in Glyph loading
  • [gfx] Make paint_rect_textured extensible
  • [gfx] Streamline material rendering code
  • [gfx-font] Custom text rendering with font_kit glyph rasterization
  • [gfx+font] Abstract Font painting
  • [gfx-font] Rename Font to WgpuFont
  • [svg] Start working on an SVG implementation
  • [gfx] Don't emit scroll events if the cursor is outside the window
  • [fetch] Special path for local page URL parsing
  • [layout] Use serif font as the default
  • [style] Support <body> presentational hints
  • [ci] Install XCB package on Linux for clipboard to work
  • [app] Use copypasta instead of clipboard
  • [ua] Update stylesheet test because of CSS parser improvements
  • [app+page] Open a website using an URL of the clipboard (Control+V)
  • [app+page] Add keybind F6 to dump the style sheets
  • [page] Set the URL as the title on (re)load
  • [style-comp] Support pseudo selector specificity
  • [gfx-font] Move FontKitAbGlyphFontBridge::new() outside the Windows cfg
  • [style-comp] Support pseudo selector matching for links and empty elements
  • [style] Support parsing pseudo class selectors
  • [gfx] Fix incorrect text color
  • [layout] Add struct ActualValues
  • [layout] Pass the IFC state to the LayoutBox::run_layout() function
  • [layout] Describe crash (panic) for subtendril errors in line box fragmentation
  • [style-parser] Support currentColor
  • [style-parser] Extract color parsing into a separate function
  • [layout+compositor] Support CSS currentColor
  • [gfx-font] Begin working on font-kit rendering support
  • [style] Support margin-block and margin-inline properties
  • [style] Parse <body> presentational background and text hints
  • [layout] Run special path (replaced) for <img> elements
  • [page] Don't crash on a network error in Fetch
  • [page] Follow redirect URLs in HTTP responses
  • [fetch] Add redirect URL getter for Response
  • [page] Scroll to top on page (re)load
  • [page] Warn if there isn't a layout root when calling paint()
  • [page] Always clean dirty state before entering command/task loop
  • [common] Remove failing example of StrExt::index_of_substring()
  • [page] Queue relayout, repaint, etc. by keeping track of the dirty state
  • [app] Map keys to PageUp, PageDown, Home, End
  • [page] Add actions Page{Up,Down} and ScrollTo{Bottom,Top} (Home & End)
  • [page] Construct the scroller with the initial viewport size
  • [page] Ensure scroll position isn't negative
  • [layout] Implement the line box fragment algorithm!
  • `[l...
Read more
0