You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment only 2D grids are supported, but it would be good to support 3D grids. This will necessarily require changes to many parts of the compiler:
Need to decide if a program with multiple grids must have them all 2D or all 3D, and choose a syntax for specifying whether a program or grid is 2D or 3D. (Perhaps grid {dim=3} ...?)
Tokenizer/parser needs to support that syntax and allow for 3D pattern literals. Probably use // for the separator in the z direction.
Pattern types and the Pattern class need a depth property.
3D symmetry groups and functions to apply 3D symmetries to patterns.
If 2D and 3D grids can coexist, need to decide the semantics of a map statement between grids of different dimensions (or perhaps have a separate project statement?)
Position attribute expressions need to allow .z, but only for positions in 3D grids.
Grid index expressions in the compiler need to include a z * width * height term. Ideally, the compiler should not emit declarations like atZ = ... for 2D grids, but this adds complexity.
The text was updated successfully, but these errors were encountered:
At the moment only 2D grids are supported, but it would be good to support 3D grids. This will necessarily require changes to many parts of the compiler:
grid {dim=3} ...
?)//
for the separator in the z direction.Pattern
class need adepth
property.map
statement between grids of different dimensions (or perhaps have a separateproject
statement?).z
, but only for positions in 3D grids.z * width * height
term. Ideally, the compiler should not emit declarations likeatZ = ...
for 2D grids, but this adds complexity.The text was updated successfully, but these errors were encountered: