docs: def render_particles(self):
          """
          Render visible particles at each strip position, by modifying
          the strip's color list.
          """
          for strip_pos in range(self._start, self._end + 1):
  
              blended = COLORS.black
  
              # Render visible emitters
              if self.has_e_colors:
                  for (e_pos, e_dir, e_vel, e_range,
                       e_color, e_pal) in self.emitters:
                      if e_color is not None:
                          vis = self.visibility(strip_pos, e_pos)
                          if vis > 0:
                              blended = color_blend(
                                  blended,
                                  color_scale(e_color, int(vis * 255)))
  
              # Render visible particles
              for vel, pos, stl, color, bright in self.particles:
                  vis = self.visibility(strip_pos, pos)
                  if vis > 0 and bright > 0:
                      blended = color_blend(
                          blended,
                          color_scale(color, int(vis * bright)))
  
              # Add background if showing
              if (blended == COLORS.black):
                  blended = self.bgcolor
  
              self.color_list[strip_pos] = blended