Closed
Description
CircuitPython version and board name
Adafruit CircuitPython 10.0.0-alpha.2 on 2025-04-04; Waveshare ESP32S3 Touch LCD 2 with ESP32S3
Code/REPL
import board
import displayio
import time
import vectorio
display = board.DISPLAY
display.auto_refresh = False
pal = displayio.Palette(1)
pal[0] = 0xFF0000
shape1 = vectorio.Circle(pixel_shader=pal, x=50, y=50, radius=30)
main_group = displayio.Group()
main_group.append(shape1)
main_group.append(shape1) # expected ValueError: Layer already in a group
display.root_group = main_group
print("refresh")
display.refresh()
shape1.x += 51
print("move")
display.refresh()
print("finished") # never reached
Behavior
vectorio
shapes can be added to groups multiple times causing the code to freeze on refresh and not react to ctrl-C (but not crash USB).
It seems like it should raise "Layer already in a group".