Hey i wanted to know, as i havent been able to find anything about it on the docs or forum, how does the show rule work in practice?
specifically in the case of a show-set rule like so:
#show heading: set text(blue)
== test heading
with a normal set rule the logic makes sense to me as described in the docs: simply setting default values for parameters of a function in the current scope(im assuming here typst is perhaps interpreted line by line and thus also beyond scope thats why only things after a set rule are affected).
But with show rules how do they actually work? in the example above i understand that the show rule probably receives some kind of collection of all instances that the selector applies to, but considering that a heading doesnt have a field/parameter for text how is the text affected? Does it simply take the content in each instance of a heading, apply the text function on it and then replace the content in the instance with the content returned from the text function?
Does it instead relegate creation of content until after everything is compiled?
Do all instances that a selector applies get passed as content to the applying function or do they get passed some other way?