05:42:17 RRSAgent has joined #svg 05:42:21 logging to https://www.w3.org/2026/05/07-svg-irc 05:43:45 Meeting: SVG WG 05:43:45 Agenda: https://github.com/w3c/svgwg/issues?q=state%3Aopen%20label%3AAgenda%2B 05:43:58 present+ 05:45:29 nzimmermann has joined #svg 05:45:31 present+ 05:46:07 present+ 05:46:15 Vinay has joined #svg 05:46:28 scribe: krit 05:47:06 ydaniv has joined #svg 05:47:20 present+ 05:48:25 present+ 05:48:26 topic: currentTranslate on SVGSVGElement. Not covered by current WPT 05:48:31 https://github.com/w3c/svgwg/issues/1094 05:49:16 karlcow: currentTranslate is not covered in WPT for SVGSVGElement 05:49:51 karlcow: I'd like someone to review the test if I get something wrong. The test reveals some differences across browsers. 05:50:20 https://github.com/w3c/svgwg/issues/1094#:~:text=SVGSVGElement%2DcurrentTranslate.html 05:50:43 karlcow: 9 tests 05:51:07 nzimmermann: I checked the tests. It is good to have a test. 05:51:22 nzimmermann: Unfortunate that the test uses SVG2 DOM 05:51:35 nzimmermann: We removed this feature from SVG 2 05:52:16 nzimmermann: Testing translation with 0 is difficult. There is no way to validiate in browsers as browsers trigger translation differently. 05:52:32 nzimmermann: IMO the method has no value as there are no use cases 05:52:35 ydaniv has joined #svg 05:52:49 karlcow: I'd be careful as we also have editors and viewers (beside browsers) 05:53:10 karlcow: I wonder if currentTranslate would be useful for an SVG editor 05:53:24 nzimmermann: It could have been useful in SVG 1.1 but not with the changed DOM 05:53:55 nzimmermann: Maybe we shouldn't drop it. 05:54:11 viralipurbey has joined #svg 05:55:33 const ct = outer.currentTranslate; 05:55:33 ct.x = 10; 05:55:33 ct.y = 20; 05:55:33 assert_equals(ct.x, 10, "x must be writable on outermost svg"); 05:55:33 assert_equals(ct.y, 20, "y must be writable on outermost svg"); 05:55:34 ct.x = 0; 05:55:34 ct.y = 0; 05:55:50 nzimmermann: you'd need to check that it is never writeable 05:56:11 https://w3c.github.io/svgwg/svg2-draft/struct.html#__svg__SVGSVGElement__currentTranslate 05:56:18 karlcow: Spec says it must be read-only 05:56:24 > On getting currentTranslate, the SVGSVGElement object's current translate point object is returned. This object represents the current translation for the ‘svg’ element. A current translate point object must be read only when its ‘svg’ element is not the outermost svg element, and writable otherwise. 05:56:31 karlcow: sorry, it says it can be writeable 05:56:45 karlcow: read-only for outermost SVG elements 05:58:01 krit: So the 8th item in the test is wrong? 05:58:13 karlcow: yes, but it is passing in WebKit. So need to check why? 05:59:16 karlcow: Ah I got confused by the spec text with the double negation. 05:59:37 nzimmermann: Right, so the test is correct and the spec text, its intention, is right as well. 05:59:59 karlcow: I can make the text more clear 06:00:36 karlcow: plan to push the test to WPT 06:00:55 nzimmermann: I am confused about DOMPoint and DOMPointReadOnly 06:01:30 nzimmermann: for me it sounds that DOMPointReadOnly should be unmutable. But the properties may change. 06:01:44 s/may change/may change internally/ 06:01:59 nzimmermann: technically this is what we do and therefore is correct. 06:02:23 karlcow: Shouldn't it be SVGPoint? 06:02:34 krit: Isn't SVGPoint just an alias to DOMPoint now? 06:03:49 ydaniv has joined #svg 06:05:49 `currentTranslate attribute is readonly (not replaceable): 06:05:49 assert_equals: assigning to currentTranslate must not replace the object expected object "[object SVGPoint]" but got object "[object SVGPoint]"` 06:06:05 nzimmermann: To the confusion to Robert: I think he is referring to --^ 06:06:34 nzimmermann: Chrome still expose SVGPoints but that should not be possible 06:06:49 nzimmermann: ...it Firefox it throws 06:09:21 krit: So the confusion: currentTranslate can not be set to a new DOMPoint but you can mutate the properties? 06:09:26 nzimmermann: seems so 06:09:38 https://drafts.csswg.org/geometry/#DOMPoint 06:10:30 topic: Status of animVal deprecation 06:10:35 https://github.com/w3c/svgwg/issues/1100 06:11:02 nzimmermann: I attached a test case 06:12:25 nzimmermann: circle with SMIL animation and a requestAnimationFrame which checks baseVal and animVal on every frame. All browsers show a change in animVal which is correct according to SVG 1.1. But SVG2 says animVal is an alias for baseVal. Why do implementations still have the complex implementation? 06:12:39 nzimmermann: I still believe we should drop animVal 06:13:17 nzimmermann: Animations should use HW accelearation and animVal may block the optimization. 06:14:01 nzimmermann: Robert states that we should rather look at browser differences and not look at features that are reliably working in browsers today 06:14:32 nzimmermann: this means: Should we re-add animVal to reflect todays browser behavior or shall we drop it and force browsers to change? 06:15:35 nzimmermann: Making the change should be easy as you can simply map animVal to baseVal and keep the animation update code for now. 06:15:43 ydaniv has joined #svg 06:15:50 nzimmermann: there is no test-coverage at all in WPT either 06:16:01 nzimmermann: you'd be able to control the timeline programmatically 06:16:25 krit: Doesn't WebAnimation support this? 06:16:45 nzimmermann: Then it might be able to do it but not sure. 06:17:53 krit: ultimately a question to browser vendors. But it is an opportunity to optimize implementation later if we keep dropping animVal. 06:18:15 ydaniv: As an author, I don't expect anything new from SVG SMIL 06:18:27 ydaniv: ..especially with interop in mind. 06:18:40 krit: we have interop 06:19:47 ydaniv: Since it is there, it is a good fallback 06:20:00 ydaniv: ultimately we want to move forward to CSS 06:20:16 nzimmermann: but it also doesn't mean to drop SMIL. This is only about animVal in SVG DOM 06:21:48 krit: As a middle ground, we could say: animVal SHOULD alias baseVal and keep it unspecified what happens if the implementation does not. 06:22:17 nzimmermann: It would not hurt. We could keep the implementation but new implementations can choose not to implement it 06:22:39 viralipurbey has joined #svg 06:26:35 ydaniv has joined #svg 06:26:46 nzimmermann: Maybe we can setup a meeting to see what the point of browser vendors and see if we can make a cut all together. 06:26:57 topic: Clarify SMIL animation behavior when path 'd' value is an empty string 06:27:11 https://github.com/w3c/svgwg/issues/1102 06:27:21 ydaniv has joined #svg 06:29:00 RRSAgent, make minutes 06:29:02 I have made the request to generate https://www.w3.org/2026/05/07-svg-minutes.html krit 06:29:54 RRSAgent, make logs public 12:11:10 Zakim has left #svg 13:00:58 karlcow has joined #svg 13:00:58 croissant has joined #svg 13:00:58 emilio has joined #svg 13:00:58 slightlyoff has joined #svg 13:02:55 karlcow has joined #svg 13:02:55 croissant has joined #svg 13:02:55 emilio has joined #svg 13:02:55 slightlyoff has joined #svg 13:11:02 github-bot has joined #svg 13:30:58 karlcow has joined #svg 13:30:58 croissant has joined #svg 13:30:58 emilio has joined #svg 13:30:58 slightlyoff has joined #svg 13:36:00 karlcow has joined #svg 13:36:00 croissant has joined #svg 13:36:00 emilio has joined #svg 13:36:00 slightlyoff has joined #svg 14:00:50 karlcow has joined #svg 14:00:50 croissant has joined #svg 14:00:50 emilio has joined #svg 14:00:50 slightlyoff has joined #svg 15:18:04 karlcow has joined #svg 15:18:04 croissant has joined #svg 15:18:04 emilio has joined #svg 15:18:04 slightlyoff has joined #svg