code: def attach_headlight(view):
      light_dir = (0, 1, 0, 0)
      shading_filter.light_dir = light_dir[:3]
      initial_light_dir = view.camera.transform.imap(light_dir)
  
      @view.scene.transform.changed.connect
      def on_transform_change(event):
          transform = view.camera.transform
          shading_filter.light_dir = transform.map(initial_light_dir)[
              :3
          ]
  
file_path: vispy/examples/scene/instanced_mesh_visual.py
imports: from itertools import cycle
  import numpy
  from scipy.spatial.transform import Rotation
  from vispy import app, scene, use
  from vispy.io import imread, load_data_file, read_mesh
  from vispy.scene.visuals import InstancedMesh
  from vispy.visuals.filters import InstancedShadingFilter, WireframeFilter, TextureFilter
label_desc: Use image node_id 1 for calling a global function with example usage: attach_headlight(view) without return types