simplify how pre-defined shader IDs work default tip

prevent attempts to load a shader again that already failed before

fix broken nullptr handling in asc_shader_use() - fixes #696

clean up the messy shader code specification

vastly deduplicate shader creation code

slightly improve error handling

resolve several minor TODOs

remove outdated TODO comments

add more vector arithmetic functions

improve snap-to-grid-movement

(0) -100 -10 tip

mercurial