pyramidscheme / pyramidtriangles

Software to run the Pyramid Scheme triangles
3 stars 0 forks source link

Support shows spanning the entire pyramid #26

Closed silverlyra closed 5 years ago

silverlyra commented 5 years ago

Adds a new Pyramid class that spans multiple Faces. A Pyramid instance replaces the grid previously passed into shows.

Pyramid has two Grid properties that are more useful for writing shows than the whole Pyramid itself:

Breaking changes

Shows are now constructed with the whole Pyramid instead of a single Grid. All existing shows have been updated:

class LeftToRightAndBack(ShowBase):
    def __init__(self, pyramid: Pyramid, frame_delay: float = 1.0):
        self.grid = pyramid.face

Known issues

⚠️ I don’t really know if this works. I’d like to write at least a few tests for pixel replication before leaving for the playa.

🔢 The new pyramid.face and pyramid.panel aren’t transparent to shows that work on individual pixels. pixels() will yield every pixel in matching cells on every panel being lit.