Sizes and Shapes

Two settings define the basic geometry of the eye…

eyeRadius establishes the size of the overall eyeball, in pixels. This is a radius — center to edge — so the overall eye size is twice this across. For example eyeRadius:125 configures the eye to be 250 pixels wide. This is the default if left unspecified.

The screens are only 240 pixels wide. Reason the eye is made a little bigger is because the code uses tricks to fake a rotating sphere…and that faking is more apparent as the pupil approaches an edge. So we push the edge out a few extra pixels, then cover it up with eyelids.

If designing an eye with no eyelids, you might want eyeRadius:120 instead, which provides a nice perfect circle on the screen.

Remember that JSON is case-sensitive. This must be spelled eyeRadius. Different capitalization will cause it to be ignored!

irisRadius establishes the size of the iris…again a radius, in pixels.

irisRadius:60 will make the iris 120 pixels across, or half the width of the screen. If you plan to use lenses over the displays, consider scaling down this number a bit to compensate.

Some creatures…cats and so forth…have very large irises and almost no visible sclera. In that case you can set irisRadius much larger, up to (but not exceeding) eyeRadius.

A third setting, slitPupilRadius, lets you make cat or dragon type eyes with a vertical slit pupil (only a vertical slit is available, no goat pupils, sorry). If set to 0 (the default), a normal round pupil is used. Larger numbers (up to irisRadius) make a taller/thinner pupil. This number sets the height. You’ll probably want an in-between value…maybe irisRadius:80 (160 pixels round) and slitPupilRadius:60 (120 pixels tall) to start.

Note that using slitPupilRadius makes the program a bit slower to initialize…you’ll just see blank screens for several seconds while it works. This is normal and just an unfortunate math thing.

This guide was first published on Aug 20, 2019. It was last updated on Aug 20, 2019.
This page (Sizes and Shapes) was last updated on Jul 16, 2020.