Conversation
|
@nicoburns can you review it? |
|
I think you have the wrong issue link... copy-paste error? |
|
@nicoburns fixed the link, didn't notice my mistake. |
|
(nicoburns: note that I did do a pass on the AI-review before posting it here, so the below isn't completely automated): Thanks for taking this on. This is an initial AI review pass; a human review will follow. There are several blocking issues that need to be addressed before this can land. Blocking1.
|
|
I tried testing this briefly. I was not able to get any SVG to load unfortunately (using dioxus-free-icons) in my app. I did get a lot of warnings like so: Cargo.toml |
|
blitz-paint-svg-computed-paint.patch |
|
blitz-hover-propagation.patch |
|
@FireMasterK thanks for patches. I'll try to see where my solutions failed. |
|
@nicoburns @FireMasterK pushed some changes with an example too. |
|
Re-reviewed the latest push — all four blocking items from the previous review are addressed, and I verified locally that 1. New bug:
|
|
Looks like this isn't using servo/stylo#396, so that might explain why it's not making full use of Stylo. Almost all of the SVG attributes should be being pushed into Stylo as presentational attributes and then read back from the Stylo computed style. This will allow for inheritance, and for the SVGs to be styled with CSS. |
|
An implementation plan for first-party inline SVG support, and a detailed comparison of this PR against it, is posted at #701 (comparison: #701 (comment)). |
|
Plan above is the one I had worked out with an AI before you expressed interest in the task. May be useful. |
I was planning to do this in parts, the properties I've implemented don't need that branch. I will use it in followup PR. |
|
@nicoburns point out any issues you see. |
|
@nicoburns any updates? I am nearly done with the follow-up PR for other features. |
|
@rit3sh-x To be honest, I have no idea how I'm supposed to review this. It's several thousands of lines of code, no write-up at all, no test results, etc. It looks LLM-generated? Do you understand how it works? And why it has been done this way? I'm pretty unwilling to land slop (or more generally, poorly understood code) for a core part of the engine like this. So this needs to be fully understood. How we get there, I'm not sure. Starting with a design document and a phased implementation plan would probably be sensible. If you're planning just to AI-generate your way through this task rather than deep-diving on it and really understand it, then I'd probably just abandon and try something more manageable? Otherwise you're just pushing that work on me, and it's much more work for me to try to understand the output of your LLM without context than it would be for me to generate it myself. |
You're right the PR is pretty big, I also did use some AI for the hit tests. I'll follow-up with a proper doc in a few days with benchmarks and architecture. |
|
Converting to draft., will split into smaller PRs. |
Addresses #448
svg-nativefeature that parses inline<svg>elements directly into Blitz's DOM/Stylo pipeline.:hover, and author stylesheets all apply.WPT results
Subtests: 19 newly passing, 2 newly failing (net +17). Timeouts: +3.
Full diff (18 changed tests)
Generated by the WPT workflow.