add pointer lock

mark downstream modifiers as dirty when needed