View layer pattern where you only present what you have been given is fine and all, but how do you know what is available? Is there a \"list all defined variables\" function
{{ dump() }} doesn't work for me. PHP chokes. Nesting level too deep I guess.
All you really need to debug Twig templates if you're using a debugger is an extension like this.
Then it's just a matter of setting a breakpoint and calling {{ inspect() }} wherever you need it. You get the same info as with {{ dump() }} but in your debugger.