// Iditacards leg asset specification package iditacards #LegLevel: "firstleg" | "secondleg" | "thirdleg" #LegEffect: string #PassEffect: "hypo" | "damage" | "starve" #LegIndex: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" // the template for a leg gets this #Leg: { name: string level: #LegLevel effect: #LegEffect spaces: [#LegIndex]: #PassEffect } legs: [string]: #Leg assets: { for legname, leg in legs { "legs/\(legname)[1]": { size: "750x1050" print: "-set option:distort:viewport 825x1125-37-37 -virtual-pixel Edge -distort SRT 0 +repage" kind: "template" template: "leg.tex" data: leg } } } _legdecks: { for legname, leg in legs let legdeck = leg.level {"\(legdeck)": {"\(legname)": 1}} } pseudoassets: { for deckname, legs in _legdecks { "\(deckname)": { kind: "cat" contents: [ for legname, one in legs {"legs/\(legname)[1]"}, ] } } }