export const flags = ['color', 'commands', 'showall', 'showaux'] as const export type FlagType = (typeof flags)[number] export type ConfigType = Partial> export type AppletDescription html: string params: Record id: string width: number height: number export type AdapParams codebase?: string loader?: string config?: ConfigType joyceApplets: AppletDescription[] export function params(kids: HTMLCollection): Record return.value: Record := {} for each kid of kids unless kid.tagName is 'PARAM' then continue name := kid.getAttribute 'name' value := kid.getAttribute 'value' unless name and value then continue return.value[name] = value prim3d := /polyhedron|sphere|plane|face/ export function contains3d(params: Record): boolean for value of Object.values(params) if prim3d.test(value) then return true return false