I cannot clarify what exactly Angular renderer is. According to some source it is the part of compiler that compiles the templates to JS code.
According to some other source:
First, there was the original compiler (which was not referred to as a view engine).
Then, for version 4, the team introduced the view engine, referred to as "renderer2."
Ivy is next in line.
What I understand from the above is the renderer is actually the compiler itself.
And according to a third source:
When instantiating a component, Angular invokes `renderComponent` and associates
the renderer it gets with that component instance. Everything Angular will do regarding
rendering the component (creating elements, setting attributes, subscribing to events, …)
will go through that renderer object.
That one is in line with another renderer approach: In a normal browser context Renderer2 is a simple default wrapper around DOM manipulation browser API`
So, could someone explain what's the exact role of Angular Renderer and what it is? Are there two different contexts for Renderer2 and renderer?