Mary cut out a simple cloth liner for her ResMed F20 CPAP mask (a.k.a. “cushion”) and snipped away at the fabric until it felt about right. I scanned the result and turned it into a bitmap mask (which is entirely different from a CPAP mask):

Given that as a start:
- Import the scanned image into LightBurn
- Fair a few curves around the perimeters by hand, rather than attempting to trace the thing
- Rationalize the sizes
- Make it symmetric
- Cut a few prototypes while tweaking the fit
Which leads to a pattern like this:

The rectangular upper part forms a simple eyeshade that also keeps minor leaks from disturbing her sleep. Your mileage may vary, depending on how much you toss and turn during the night.
We found the fit depends on the fabric, with woven fabric requiring a taller opening:

The engraved legend verifies I used the proper design for the fabric:

The opening has tabs holding it in place while cutting, at least until we get this down to a routine.
Then make enough for a while:

The usual woodstove odor vanishes after half a day sitting atop the clothes washer. Putting them in a mesh bag and tossing them into the regular wash refreshes them after use.
The LightBurn SVG layouts as a GitHub Gist: