load("render.star", "render") load("animation.star", "animation") load("qrcode.star", "qrcode") load("cache.star", "cache") load("images/logo.png", LOGO_ASSET = "file") load("images/name.png", NAME_ASSET = "file") load("images/printer_clip/frame_00.png", PRINTER_00 = "file") load("images/printer_clip/frame_01.png", PRINTER_01 = "file") load("images/printer_clip/frame_02.png", PRINTER_02 = "file") load("images/printer_clip/frame_03.png", PRINTER_03 = "file") load("images/printer_clip/frame_04.png", PRINTER_04 = "file") load("images/printer_clip/frame_05.png", PRINTER_05 = "file") load("images/printer_clip/frame_06.png", PRINTER_06 = "file") load("images/printer_clip/frame_07.png", PRINTER_07 = "file") load("images/printer_clip/frame_08.png", PRINTER_08 = "file") load("images/printer_clip/frame_09.png", PRINTER_09 = "file") load("images/printer_clip/frame_10.png", PRINTER_10 = "file") load("images/printer_clip/frame_11.png", PRINTER_11 = "file") load("images/printer_clip/frame_12.png", PRINTER_12 = "file") load("images/printer_clip/frame_13.png", PRINTER_13 = "file") load("images/printer_clip/frame_14.png", PRINTER_14 = "file") load("images/printer_clip/frame_15.png", PRINTER_15 = "file") load("images/printer_clip/frame_16.png", PRINTER_16 = "file") load("images/printer_clip/frame_17.png", PRINTER_17 = "file") load("images/printer_clip/frame_18.png", PRINTER_18 = "file") load("images/printer_clip/frame_19.png", PRINTER_19 = "file") load("images/printer_clip/frame_20.png", PRINTER_20 = "file") load("images/printer_clip/frame_21.png", PRINTER_21 = "file") load("images/printer_clip/frame_22.png", PRINTER_22 = "file") load("images/printer_clip/frame_23.png", PRINTER_23 = "file") load("images/printer_clip/frame_24.png", PRINTER_24 = "file") load("images/printer_clip/frame_25.png", PRINTER_25 = "file") load("images/printer_clip/frame_26.png", PRINTER_26 = "file") load("images/printer_clip/frame_27.png", PRINTER_27 = "file") load("images/printer_clip/frame_28.png", PRINTER_28 = "file") load("images/printer_clip/frame_29.png", PRINTER_29 = "file") load("images/printer_clip/frame_30.png", PRINTER_30 = "file") load("images/printer_clip/frame_31.png", PRINTER_31 = "file") load("images/printer_clip/frame_32.png", PRINTER_32 = "file") load("images/printer_clip/frame_33.png", PRINTER_33 = "file") load("images/printer_clip/frame_34.png", PRINTER_34 = "file") load("images/printer_clip/frame_35.png", PRINTER_35 = "file") load("images/printer_clip/frame_36.png", PRINTER_36 = "file") load("images/printer_clip/frame_37.png", PRINTER_37 = "file") load("images/printer_clip/frame_38.png", PRINTER_38 = "file") load("images/printer_clip/frame_39.png", PRINTER_39 = "file") load("images/printer_clip/frame_40.png", PRINTER_40 = "file") load("images/printer_clip/frame_41.png", PRINTER_41 = "file") load("images/printer_clip/frame_42.png", PRINTER_42 = "file") load("images/printer_clip/frame_43.png", PRINTER_43 = "file") load("images/printer_clip/frame_44.png", PRINTER_44 = "file") load("images/printer_clip/frame_45.png", PRINTER_45 = "file") load("images/printer_clip/frame_46.png", PRINTER_46 = "file") load("images/printer_clip/frame_47.png", PRINTER_47 = "file") load("images/printer_clip/frame_48.png", PRINTER_48 = "file") load("images/printer_clip/frame_49.png", PRINTER_49 = "file") load("images/printer_clip/frame_50.png", PRINTER_50 = "file") load("images/printer_clip/frame_51.png", PRINTER_51 = "file") load("images/printer_clip/frame_52.png", PRINTER_52 = "file") load("images/printer_clip/frame_53.png", PRINTER_53 = "file") load("images/printer_clip/frame_54.png", PRINTER_54 = "file") load("images/printer_clip/frame_55.png", PRINTER_55 = "file") load("images/printer_clip/frame_56.png", PRINTER_56 = "file") load("images/printer_clip/frame_57.png", PRINTER_57 = "file") load("images/printer_clip/frame_58.png", PRINTER_58 = "file") load("images/printer_clip/frame_59.png", PRINTER_59 = "file") load("images/wood_clip/frame_00.png", WOOD_00 = "file") load("images/wood_clip/frame_01.png", WOOD_01 = "file") load("images/wood_clip/frame_02.png", WOOD_02 = "file") load("images/wood_clip/frame_03.png", WOOD_03 = "file") load("images/wood_clip/frame_04.png", WOOD_04 = "file") load("images/wood_clip/frame_05.png", WOOD_05 = "file") load("images/wood_clip/frame_06.png", WOOD_06 = "file") load("images/wood_clip/frame_07.png", WOOD_07 = "file") load("images/wood_clip/frame_08.png", WOOD_08 = "file") load("images/wood_clip/frame_09.png", WOOD_09 = "file") load("images/wood_clip/frame_10.png", WOOD_10 = "file") load("images/wood_clip/frame_11.png", WOOD_11 = "file") load("images/wood_clip/frame_12.png", WOOD_12 = "file") load("images/wood_clip/frame_13.png", WOOD_13 = "file") load("images/wood_clip/frame_14.png", WOOD_14 = "file") load("images/wood_clip/frame_15.png", WOOD_15 = "file") load("images/wood_clip/frame_16.png", WOOD_16 = "file") load("images/wood_clip/frame_17.png", WOOD_17 = "file") load("images/wood_clip/frame_18.png", WOOD_18 = "file") load("images/wood_clip/frame_19.png", WOOD_19 = "file") load("images/wood_clip/frame_20.png", WOOD_20 = "file") load("images/wood_clip/frame_21.png", WOOD_21 = "file") load("images/wood_clip/frame_22.png", WOOD_22 = "file") load("images/wood_clip/frame_23.png", WOOD_23 = "file") load("images/wood_clip/frame_24.png", WOOD_24 = "file") load("images/wood_clip/frame_25.png", WOOD_25 = "file") load("images/wood_clip/frame_26.png", WOOD_26 = "file") load("images/wood_clip/frame_27.png", WOOD_27 = "file") load("images/wood_clip/frame_28.png", WOOD_28 = "file") load("images/wood_clip/frame_29.png", WOOD_29 = "file") load("images/wood_clip/frame_30.png", WOOD_30 = "file") load("images/wood_clip/frame_31.png", WOOD_31 = "file") load("images/wood_clip/frame_32.png", WOOD_32 = "file") load("images/wood_clip/frame_33.png", WOOD_33 = "file") load("images/wood_clip/frame_34.png", WOOD_34 = "file") load("images/wood_clip/frame_35.png", WOOD_35 = "file") load("images/wood_clip/frame_36.png", WOOD_36 = "file") load("images/wood_clip/frame_37.png", WOOD_37 = "file") load("images/wood_clip/frame_38.png", WOOD_38 = "file") load("images/wood_clip/frame_39.png", WOOD_39 = "file") load("images/wood_clip/frame_40.png", WOOD_40 = "file") load("images/wood_clip/frame_41.png", WOOD_41 = "file") load("images/wood_clip/frame_42.png", WOOD_42 = "file") load("images/wood_clip/frame_43.png", WOOD_43 = "file") load("images/wood_clip/frame_44.png", WOOD_44 = "file") load("images/wood_clip/frame_45.png", WOOD_45 = "file") load("images/wood_clip/frame_46.png", WOOD_46 = "file") load("images/wood_clip/frame_47.png", WOOD_47 = "file") load("images/wood_clip/frame_48.png", WOOD_48 = "file") load("images/wood_clip/frame_49.png", WOOD_49 = "file") load("images/wood_clip/frame_50.png", WOOD_50 = "file") load("images/wood_clip/frame_51.png", WOOD_51 = "file") load("images/wood_clip/frame_52.png", WOOD_52 = "file") load("images/wood_clip/frame_53.png", WOOD_53 = "file") load("images/wood_clip/frame_54.png", WOOD_54 = "file") load("images/wood_clip/frame_55.png", WOOD_55 = "file") load("images/wood_clip/frame_56.png", WOOD_56 = "file") load("images/wood_clip/frame_57.png", WOOD_57 = "file") load("images/wood_clip/frame_58.png", WOOD_58 = "file") load("images/wood_clip/frame_59.png", WOOD_59 = "file") load("images/sew_clip/frame_00.png", SEW_00 = "file") load("images/sew_clip/frame_01.png", SEW_01 = "file") load("images/sew_clip/frame_02.png", SEW_02 = "file") load("images/sew_clip/frame_03.png", SEW_03 = "file") load("images/sew_clip/frame_04.png", SEW_04 = "file") load("images/sew_clip/frame_05.png", SEW_05 = "file") load("images/sew_clip/frame_06.png", SEW_06 = "file") load("images/sew_clip/frame_07.png", SEW_07 = "file") load("images/sew_clip/frame_08.png", SEW_08 = "file") load("images/sew_clip/frame_09.png", SEW_09 = "file") load("images/sew_clip/frame_10.png", SEW_10 = "file") load("images/sew_clip/frame_11.png", SEW_11 = "file") load("images/sew_clip/frame_12.png", SEW_12 = "file") load("images/sew_clip/frame_13.png", SEW_13 = "file") load("images/sew_clip/frame_14.png", SEW_14 = "file") load("images/sew_clip/frame_15.png", SEW_15 = "file") load("images/sew_clip/frame_16.png", SEW_16 = "file") load("images/sew_clip/frame_17.png", SEW_17 = "file") load("images/sew_clip/frame_18.png", SEW_18 = "file") load("images/sew_clip/frame_19.png", SEW_19 = "file") load("images/sew_clip/frame_20.png", SEW_20 = "file") load("images/sew_clip/frame_21.png", SEW_21 = "file") load("images/sew_clip/frame_22.png", SEW_22 = "file") load("images/sew_clip/frame_23.png", SEW_23 = "file") load("images/sew_clip/frame_24.png", SEW_24 = "file") load("images/sew_clip/frame_25.png", SEW_25 = "file") load("images/sew_clip/frame_26.png", SEW_26 = "file") load("images/sew_clip/frame_27.png", SEW_27 = "file") load("images/sew_clip/frame_28.png", SEW_28 = "file") load("images/sew_clip/frame_29.png", SEW_29 = "file") load("images/sew_clip/frame_30.png", SEW_30 = "file") load("images/sew_clip/frame_31.png", SEW_31 = "file") load("images/sew_clip/frame_32.png", SEW_32 = "file") load("images/sew_clip/frame_33.png", SEW_33 = "file") load("images/sew_clip/frame_34.png", SEW_34 = "file") load("images/sew_clip/frame_35.png", SEW_35 = "file") load("images/sew_clip/frame_36.png", SEW_36 = "file") load("images/sew_clip/frame_37.png", SEW_37 = "file") load("images/sew_clip/frame_38.png", SEW_38 = "file") load("images/sew_clip/frame_39.png", SEW_39 = "file") load("images/sew_clip/frame_40.png", SEW_40 = "file") load("images/sew_clip/frame_41.png", SEW_41 = "file") load("images/sew_clip/frame_42.png", SEW_42 = "file") load("images/sew_clip/frame_43.png", SEW_43 = "file") load("images/sew_clip/frame_44.png", SEW_44 = "file") load("images/sew_clip/frame_45.png", SEW_45 = "file") load("images/sew_clip/frame_46.png", SEW_46 = "file") load("images/sew_clip/frame_47.png", SEW_47 = "file") load("images/sew_clip/frame_48.png", SEW_48 = "file") load("images/sew_clip/frame_49.png", SEW_49 = "file") load("images/sew_clip/frame_50.png", SEW_50 = "file") load("images/sew_clip/frame_51.png", SEW_51 = "file") load("images/sew_clip/frame_52.png", SEW_52 = "file") load("images/sew_clip/frame_53.png", SEW_53 = "file") load("images/sew_clip/frame_54.png", SEW_54 = "file") load("images/sew_clip/frame_55.png", SEW_55 = "file") load("images/sew_clip/frame_56.png", SEW_56 = "file") load("images/sew_clip/frame_57.png", SEW_57 = "file") load("images/sew_clip/frame_58.png", SEW_58 = "file") load("images/sew_clip/frame_59.png", SEW_59 = "file") load("images/homelab_clip/frame_00.png", HOMELAB_00 = "file") load("images/homelab_clip/frame_01.png", HOMELAB_01 = "file") load("images/homelab_clip/frame_02.png", HOMELAB_02 = "file") load("images/homelab_clip/frame_03.png", HOMELAB_03 = "file") load("images/homelab_clip/frame_04.png", HOMELAB_04 = "file") load("images/homelab_clip/frame_05.png", HOMELAB_05 = "file") load("images/homelab_clip/frame_06.png", HOMELAB_06 = "file") load("images/homelab_clip/frame_07.png", HOMELAB_07 = "file") load("images/homelab_clip/frame_08.png", HOMELAB_08 = "file") load("images/homelab_clip/frame_09.png", HOMELAB_09 = "file") load("images/homelab_clip/frame_10.png", HOMELAB_10 = "file") load("images/homelab_clip/frame_11.png", HOMELAB_11 = "file") load("images/homelab_clip/frame_12.png", HOMELAB_12 = "file") load("images/homelab_clip/frame_13.png", HOMELAB_13 = "file") load("images/homelab_clip/frame_14.png", HOMELAB_14 = "file") load("images/homelab_clip/frame_15.png", HOMELAB_15 = "file") load("images/homelab_clip/frame_16.png", HOMELAB_16 = "file") load("images/homelab_clip/frame_17.png", HOMELAB_17 = "file") load("images/homelab_clip/frame_18.png", HOMELAB_18 = "file") load("images/homelab_clip/frame_19.png", HOMELAB_19 = "file") load("images/homelab_clip/frame_20.png", HOMELAB_20 = "file") load("images/homelab_clip/frame_21.png", HOMELAB_21 = "file") load("images/homelab_clip/frame_22.png", HOMELAB_22 = "file") load("images/homelab_clip/frame_23.png", HOMELAB_23 = "file") load("images/homelab_clip/frame_24.png", HOMELAB_24 = "file") load("images/homelab_clip/frame_25.png", HOMELAB_25 = "file") load("images/homelab_clip/frame_26.png", HOMELAB_26 = "file") load("images/homelab_clip/frame_27.png", HOMELAB_27 = "file") load("images/homelab_clip/frame_28.png", HOMELAB_28 = "file") load("images/homelab_clip/frame_29.png", HOMELAB_29 = "file") load("images/homelab_clip/frame_30.png", HOMELAB_30 = "file") load("images/homelab_clip/frame_31.png", HOMELAB_31 = "file") load("images/homelab_clip/frame_32.png", HOMELAB_32 = "file") load("images/homelab_clip/frame_33.png", HOMELAB_33 = "file") load("images/homelab_clip/frame_34.png", HOMELAB_34 = "file") load("images/homelab_clip/frame_35.png", HOMELAB_35 = "file") load("images/homelab_clip/frame_36.png", HOMELAB_36 = "file") load("images/homelab_clip/frame_37.png", HOMELAB_37 = "file") load("images/homelab_clip/frame_38.png", HOMELAB_38 = "file") load("images/homelab_clip/frame_39.png", HOMELAB_39 = "file") load("images/homelab_clip/frame_40.png", HOMELAB_40 = "file") load("images/homelab_clip/frame_41.png", HOMELAB_41 = "file") load("images/homelab_clip/frame_42.png", HOMELAB_42 = "file") load("images/homelab_clip/frame_43.png", HOMELAB_43 = "file") load("images/homelab_clip/frame_44.png", HOMELAB_44 = "file") load("images/homelab_clip/frame_45.png", HOMELAB_45 = "file") load("images/homelab_clip/frame_46.png", HOMELAB_46 = "file") load("images/homelab_clip/frame_47.png", HOMELAB_47 = "file") load("images/homelab_clip/frame_48.png", HOMELAB_48 = "file") load("images/homelab_clip/frame_49.png", HOMELAB_49 = "file") load("images/homelab_clip/frame_50.png", HOMELAB_50 = "file") load("images/homelab_clip/frame_51.png", HOMELAB_51 = "file") load("images/homelab_clip/frame_52.png", HOMELAB_52 = "file") load("images/homelab_clip/frame_53.png", HOMELAB_53 = "file") load("images/homelab_clip/frame_54.png", HOMELAB_54 = "file") load("images/homelab_clip/frame_55.png", HOMELAB_55 = "file") load("images/homelab_clip/frame_56.png", HOMELAB_56 = "file") load("images/homelab_clip/frame_57.png", HOMELAB_57 = "file") load("images/homelab_clip/frame_58.png", HOMELAB_58 = "file") load("images/homelab_clip/frame_59.png", HOMELAB_59 = "file") load("images/solder_clip/frame_00.png", SOLDER_00 = "file") load("images/solder_clip/frame_01.png", SOLDER_01 = "file") load("images/solder_clip/frame_02.png", SOLDER_02 = "file") load("images/solder_clip/frame_03.png", SOLDER_03 = "file") load("images/solder_clip/frame_04.png", SOLDER_04 = "file") load("images/solder_clip/frame_05.png", SOLDER_05 = "file") load("images/solder_clip/frame_06.png", SOLDER_06 = "file") load("images/solder_clip/frame_07.png", SOLDER_07 = "file") load("images/solder_clip/frame_08.png", SOLDER_08 = "file") load("images/solder_clip/frame_09.png", SOLDER_09 = "file") load("images/solder_clip/frame_10.png", SOLDER_10 = "file") load("images/solder_clip/frame_11.png", SOLDER_11 = "file") load("images/solder_clip/frame_12.png", SOLDER_12 = "file") load("images/solder_clip/frame_13.png", SOLDER_13 = "file") load("images/solder_clip/frame_14.png", SOLDER_14 = "file") load("images/solder_clip/frame_15.png", SOLDER_15 = "file") load("images/solder_clip/frame_16.png", SOLDER_16 = "file") load("images/solder_clip/frame_17.png", SOLDER_17 = "file") load("images/solder_clip/frame_18.png", SOLDER_18 = "file") load("images/solder_clip/frame_19.png", SOLDER_19 = "file") load("images/solder_clip/frame_20.png", SOLDER_20 = "file") load("images/solder_clip/frame_21.png", SOLDER_21 = "file") load("images/solder_clip/frame_22.png", SOLDER_22 = "file") load("images/solder_clip/frame_23.png", SOLDER_23 = "file") load("images/solder_clip/frame_24.png", SOLDER_24 = "file") load("images/solder_clip/frame_25.png", SOLDER_25 = "file") load("images/solder_clip/frame_26.png", SOLDER_26 = "file") load("images/solder_clip/frame_27.png", SOLDER_27 = "file") load("images/solder_clip/frame_28.png", SOLDER_28 = "file") load("images/solder_clip/frame_29.png", SOLDER_29 = "file") load("images/solder_clip/frame_30.png", SOLDER_30 = "file") load("images/solder_clip/frame_31.png", SOLDER_31 = "file") load("images/solder_clip/frame_32.png", SOLDER_32 = "file") load("images/solder_clip/frame_33.png", SOLDER_33 = "file") load("images/solder_clip/frame_34.png", SOLDER_34 = "file") load("images/solder_clip/frame_35.png", SOLDER_35 = "file") load("images/solder_clip/frame_36.png", SOLDER_36 = "file") load("images/solder_clip/frame_37.png", SOLDER_37 = "file") load("images/solder_clip/frame_38.png", SOLDER_38 = "file") load("images/solder_clip/frame_39.png", SOLDER_39 = "file") load("images/solder_clip/frame_40.png", SOLDER_40 = "file") load("images/solder_clip/frame_41.png", SOLDER_41 = "file") load("images/solder_clip/frame_42.png", SOLDER_42 = "file") load("images/solder_clip/frame_43.png", SOLDER_43 = "file") load("images/solder_clip/frame_44.png", SOLDER_44 = "file") load("images/solder_clip/frame_45.png", SOLDER_45 = "file") load("images/solder_clip/frame_46.png", SOLDER_46 = "file") load("images/solder_clip/frame_47.png", SOLDER_47 = "file") load("images/solder_clip/frame_48.png", SOLDER_48 = "file") load("images/solder_clip/frame_49.png", SOLDER_49 = "file") load("images/solder_clip/frame_50.png", SOLDER_50 = "file") load("images/solder_clip/frame_51.png", SOLDER_51 = "file") load("images/solder_clip/frame_52.png", SOLDER_52 = "file") load("images/solder_clip/frame_53.png", SOLDER_53 = "file") load("images/solder_clip/frame_54.png", SOLDER_54 = "file") load("images/solder_clip/frame_55.png", SOLDER_55 = "file") load("images/solder_clip/frame_56.png", SOLDER_56 = "file") load("images/solder_clip/frame_57.png", SOLDER_57 = "file") load("images/solder_clip/frame_58.png", SOLDER_58 = "file") load("images/solder_clip/frame_59.png", SOLDER_59 = "file") load("images/lora_clip/frame_00.png", LORA_00 = "file") load("images/lora_clip/frame_01.png", LORA_01 = "file") load("images/lora_clip/frame_02.png", LORA_02 = "file") load("images/lora_clip/frame_03.png", LORA_03 = "file") load("images/lora_clip/frame_04.png", LORA_04 = "file") load("images/lora_clip/frame_05.png", LORA_05 = "file") load("images/lora_clip/frame_06.png", LORA_06 = "file") load("images/lora_clip/frame_07.png", LORA_07 = "file") load("images/lora_clip/frame_08.png", LORA_08 = "file") load("images/lora_clip/frame_09.png", LORA_09 = "file") load("images/lora_clip/frame_10.png", LORA_10 = "file") load("images/lora_clip/frame_11.png", LORA_11 = "file") load("images/lora_clip/frame_12.png", LORA_12 = "file") load("images/lora_clip/frame_13.png", LORA_13 = "file") load("images/lora_clip/frame_14.png", LORA_14 = "file") load("images/lora_clip/frame_15.png", LORA_15 = "file") load("images/lora_clip/frame_16.png", LORA_16 = "file") load("images/lora_clip/frame_17.png", LORA_17 = "file") load("images/lora_clip/frame_18.png", LORA_18 = "file") load("images/lora_clip/frame_19.png", LORA_19 = "file") load("images/lora_clip/frame_20.png", LORA_20 = "file") load("images/lora_clip/frame_21.png", LORA_21 = "file") load("images/lora_clip/frame_22.png", LORA_22 = "file") load("images/lora_clip/frame_23.png", LORA_23 = "file") load("images/lora_clip/frame_24.png", LORA_24 = "file") load("images/lora_clip/frame_25.png", LORA_25 = "file") load("images/lora_clip/frame_26.png", LORA_26 = "file") load("images/lora_clip/frame_27.png", LORA_27 = "file") load("images/lora_clip/frame_28.png", LORA_28 = "file") load("images/lora_clip/frame_29.png", LORA_29 = "file") load("images/lora_clip/frame_30.png", LORA_30 = "file") load("images/lora_clip/frame_31.png", LORA_31 = "file") load("images/lora_clip/frame_32.png", LORA_32 = "file") load("images/lora_clip/frame_33.png", LORA_33 = "file") load("images/lora_clip/frame_34.png", LORA_34 = "file") load("images/lora_clip/frame_35.png", LORA_35 = "file") load("images/lora_clip/frame_36.png", LORA_36 = "file") load("images/lora_clip/frame_37.png", LORA_37 = "file") load("images/lora_clip/frame_38.png", LORA_38 = "file") load("images/lora_clip/frame_39.png", LORA_39 = "file") load("images/lora_clip/frame_40.png", LORA_40 = "file") load("images/lora_clip/frame_41.png", LORA_41 = "file") load("images/lora_clip/frame_42.png", LORA_42 = "file") load("images/lora_clip/frame_43.png", LORA_43 = "file") load("images/lora_clip/frame_44.png", LORA_44 = "file") load("images/lora_clip/frame_45.png", LORA_45 = "file") load("images/lora_clip/frame_46.png", LORA_46 = "file") load("images/lora_clip/frame_47.png", LORA_47 = "file") load("images/lora_clip/frame_48.png", LORA_48 = "file") load("images/lora_clip/frame_49.png", LORA_49 = "file") load("images/lora_clip/frame_50.png", LORA_50 = "file") load("images/lora_clip/frame_51.png", LORA_51 = "file") load("images/lora_clip/frame_52.png", LORA_52 = "file") load("images/lora_clip/frame_53.png", LORA_53 = "file") load("images/lora_clip/frame_54.png", LORA_54 = "file") load("images/lora_clip/frame_55.png", LORA_55 = "file") load("images/lora_clip/frame_56.png", LORA_56 = "file") load("images/lora_clip/frame_57.png", LORA_57 = "file") load("images/lora_clip/frame_58.png", LORA_58 = "file") load("images/lora_clip/frame_59.png", LORA_59 = "file") load("images/battlebot_clip/frame_00.png", BATTLEBOT_00 = "file") load("images/battlebot_clip/frame_01.png", BATTLEBOT_01 = "file") load("images/battlebot_clip/frame_02.png", BATTLEBOT_02 = "file") load("images/battlebot_clip/frame_03.png", BATTLEBOT_03 = "file") load("images/battlebot_clip/frame_04.png", BATTLEBOT_04 = "file") load("images/battlebot_clip/frame_05.png", BATTLEBOT_05 = "file") load("images/battlebot_clip/frame_06.png", BATTLEBOT_06 = "file") load("images/battlebot_clip/frame_07.png", BATTLEBOT_07 = "file") load("images/battlebot_clip/frame_08.png", BATTLEBOT_08 = "file") load("images/battlebot_clip/frame_09.png", BATTLEBOT_09 = "file") load("images/battlebot_clip/frame_10.png", BATTLEBOT_10 = "file") load("images/battlebot_clip/frame_11.png", BATTLEBOT_11 = "file") load("images/battlebot_clip/frame_12.png", BATTLEBOT_12 = "file") load("images/battlebot_clip/frame_13.png", BATTLEBOT_13 = "file") load("images/battlebot_clip/frame_14.png", BATTLEBOT_14 = "file") load("images/battlebot_clip/frame_15.png", BATTLEBOT_15 = "file") load("images/battlebot_clip/frame_16.png", BATTLEBOT_16 = "file") load("images/battlebot_clip/frame_17.png", BATTLEBOT_17 = "file") load("images/battlebot_clip/frame_18.png", BATTLEBOT_18 = "file") load("images/battlebot_clip/frame_19.png", BATTLEBOT_19 = "file") load("images/battlebot_clip/frame_20.png", BATTLEBOT_20 = "file") load("images/battlebot_clip/frame_21.png", BATTLEBOT_21 = "file") load("images/battlebot_clip/frame_22.png", BATTLEBOT_22 = "file") load("images/battlebot_clip/frame_23.png", BATTLEBOT_23 = "file") load("images/battlebot_clip/frame_24.png", BATTLEBOT_24 = "file") load("images/battlebot_clip/frame_25.png", BATTLEBOT_25 = "file") load("images/battlebot_clip/frame_26.png", BATTLEBOT_26 = "file") load("images/battlebot_clip/frame_27.png", BATTLEBOT_27 = "file") load("images/battlebot_clip/frame_28.png", BATTLEBOT_28 = "file") load("images/battlebot_clip/frame_29.png", BATTLEBOT_29 = "file") load("images/battlebot_clip/frame_30.png", BATTLEBOT_30 = "file") load("images/battlebot_clip/frame_31.png", BATTLEBOT_31 = "file") load("images/battlebot_clip/frame_32.png", BATTLEBOT_32 = "file") load("images/battlebot_clip/frame_33.png", BATTLEBOT_33 = "file") load("images/battlebot_clip/frame_34.png", BATTLEBOT_34 = "file") load("images/battlebot_clip/frame_35.png", BATTLEBOT_35 = "file") load("images/battlebot_clip/frame_36.png", BATTLEBOT_36 = "file") load("images/battlebot_clip/frame_37.png", BATTLEBOT_37 = "file") load("images/battlebot_clip/frame_38.png", BATTLEBOT_38 = "file") load("images/battlebot_clip/frame_39.png", BATTLEBOT_39 = "file") load("images/battlebot_clip/frame_40.png", BATTLEBOT_40 = "file") load("images/battlebot_clip/frame_41.png", BATTLEBOT_41 = "file") load("images/battlebot_clip/frame_42.png", BATTLEBOT_42 = "file") load("images/battlebot_clip/frame_43.png", BATTLEBOT_43 = "file") load("images/battlebot_clip/frame_44.png", BATTLEBOT_44 = "file") load("images/battlebot_clip/frame_45.png", BATTLEBOT_45 = "file") load("images/battlebot_clip/frame_46.png", BATTLEBOT_46 = "file") load("images/battlebot_clip/frame_47.png", BATTLEBOT_47 = "file") load("images/battlebot_clip/frame_48.png", BATTLEBOT_48 = "file") load("images/battlebot_clip/frame_49.png", BATTLEBOT_49 = "file") load("images/battlebot_clip/frame_50.png", BATTLEBOT_50 = "file") load("images/battlebot_clip/frame_51.png", BATTLEBOT_51 = "file") load("images/battlebot_clip/frame_52.png", BATTLEBOT_52 = "file") load("images/battlebot_clip/frame_53.png", BATTLEBOT_53 = "file") load("images/battlebot_clip/frame_54.png", BATTLEBOT_54 = "file") load("images/battlebot_clip/frame_55.png", BATTLEBOT_55 = "file") load("images/battlebot_clip/frame_56.png", BATTLEBOT_56 = "file") load("images/battlebot_clip/frame_57.png", BATTLEBOT_57 = "file") load("images/battlebot_clip/frame_58.png", BATTLEBOT_58 = "file") load("images/battlebot_clip/frame_59.png", BATTLEBOT_59 = "file") load("images/battlebot_clip/frame_60.png", BATTLEBOT_60 = "file") load("images/battlebot_clip/frame_61.png", BATTLEBOT_61 = "file") load("images/battlebot_clip/frame_62.png", BATTLEBOT_62 = "file") load("images/battlebot_clip/frame_63.png", BATTLEBOT_63 = "file") load("images/battlebot_clip/frame_64.png", BATTLEBOT_64 = "file") load("images/battlebot_clip/frame_65.png", BATTLEBOT_65 = "file") load("images/battlebot_clip/frame_66.png", BATTLEBOT_66 = "file") load("images/battlebot_clip/frame_67.png", BATTLEBOT_67 = "file") load("images/battlebot_clip/frame_68.png", BATTLEBOT_68 = "file") load("images/battlebot_clip/frame_69.png", BATTLEBOT_69 = "file") load("images/battlebot_clip/frame_70.png", BATTLEBOT_70 = "file") load("images/battlebot_clip/frame_71.png", BATTLEBOT_71 = "file") load("images/battlebot_clip/frame_72.png", BATTLEBOT_72 = "file") load("images/battlebot_clip/frame_73.png", BATTLEBOT_73 = "file") load("images/battlebot_clip/frame_74.png", BATTLEBOT_74 = "file") load("images/battlebot_clip/frame_75.png", BATTLEBOT_75 = "file") load("images/laser_clip/frame_00.png", LASER_00 = "file") load("images/laser_clip/frame_01.png", LASER_01 = "file") load("images/laser_clip/frame_02.png", LASER_02 = "file") load("images/laser_clip/frame_03.png", LASER_03 = "file") load("images/laser_clip/frame_04.png", LASER_04 = "file") load("images/laser_clip/frame_05.png", LASER_05 = "file") load("images/laser_clip/frame_06.png", LASER_06 = "file") load("images/laser_clip/frame_07.png", LASER_07 = "file") load("images/laser_clip/frame_08.png", LASER_08 = "file") load("images/laser_clip/frame_09.png", LASER_09 = "file") load("images/laser_clip/frame_10.png", LASER_10 = "file") load("images/laser_clip/frame_11.png", LASER_11 = "file") load("images/laser_clip/frame_12.png", LASER_12 = "file") load("images/laser_clip/frame_13.png", LASER_13 = "file") load("images/laser_clip/frame_14.png", LASER_14 = "file") load("images/laser_clip/frame_15.png", LASER_15 = "file") load("images/laser_clip/frame_16.png", LASER_16 = "file") load("images/laser_clip/frame_17.png", LASER_17 = "file") load("images/laser_clip/frame_18.png", LASER_18 = "file") load("images/laser_clip/frame_19.png", LASER_19 = "file") load("images/laser_clip/frame_20.png", LASER_20 = "file") load("images/laser_clip/frame_21.png", LASER_21 = "file") load("images/laser_clip/frame_22.png", LASER_22 = "file") load("images/laser_clip/frame_23.png", LASER_23 = "file") load("images/laser_clip/frame_24.png", LASER_24 = "file") load("images/laser_clip/frame_25.png", LASER_25 = "file") load("images/laser_clip/frame_26.png", LASER_26 = "file") load("images/laser_clip/frame_27.png", LASER_27 = "file") load("images/laser_clip/frame_28.png", LASER_28 = "file") load("images/laser_clip/frame_29.png", LASER_29 = "file") load("images/laser_clip/frame_30.png", LASER_30 = "file") load("images/laser_clip/frame_31.png", LASER_31 = "file") load("images/laser_clip/frame_32.png", LASER_32 = "file") load("images/laser_clip/frame_33.png", LASER_33 = "file") load("images/laser_clip/frame_34.png", LASER_34 = "file") load("images/laser_clip/frame_35.png", LASER_35 = "file") load("images/laser_clip/frame_36.png", LASER_36 = "file") load("images/laser_clip/frame_37.png", LASER_37 = "file") load("images/laser_clip/frame_38.png", LASER_38 = "file") load("images/laser_clip/frame_39.png", LASER_39 = "file") load("images/laser_clip/frame_40.png", LASER_40 = "file") load("images/laser_clip/frame_41.png", LASER_41 = "file") load("images/laser_clip/frame_42.png", LASER_42 = "file") load("images/laser_clip/frame_43.png", LASER_43 = "file") load("images/laser_clip/frame_44.png", LASER_44 = "file") load("images/laser_clip/frame_45.png", LASER_45 = "file") load("images/laser_clip/frame_46.png", LASER_46 = "file") load("images/laser_clip/frame_47.png", LASER_47 = "file") load("images/laser_clip/frame_48.png", LASER_48 = "file") load("images/laser_clip/frame_49.png", LASER_49 = "file") load("images/laser_clip/frame_50.png", LASER_50 = "file") load("images/laser_clip/frame_51.png", LASER_51 = "file") load("images/laser_clip/frame_52.png", LASER_52 = "file") load("images/laser_clip/frame_53.png", LASER_53 = "file") load("images/laser_clip/frame_54.png", LASER_54 = "file") load("images/laser_clip/frame_55.png", LASER_55 = "file") load("images/laser_clip/frame_56.png", LASER_56 = "file") load("images/laser_clip/frame_57.png", LASER_57 = "file") load("images/laser_clip/frame_58.png", LASER_58 = "file") load("images/laser_clip/frame_59.png", LASER_59 = "file") load("images/fade_clip/frame_00.png", FADE_00 = "file") load("images/fade_clip/frame_01.png", FADE_01 = "file") load("images/fade_clip/frame_02.png", FADE_02 = "file") load("images/fade_clip/frame_03.png", FADE_03 = "file") load("images/fade_clip/frame_04.png", FADE_04 = "file") load("images/fade_clip/frame_05.png", FADE_05 = "file") load("images/fade_clip/frame_06.png", FADE_06 = "file") load("images/fade_clip/frame_07.png", FADE_07 = "file") ORG_URL = "https://ormakers.org/" CRAFT_INDEX_KEY = "ormakers_craft_index" PRINTER_ASSETS = [ PRINTER_00, PRINTER_01, PRINTER_02, PRINTER_03, PRINTER_04, PRINTER_05, PRINTER_06, PRINTER_07, PRINTER_08, PRINTER_09, PRINTER_10, PRINTER_11, PRINTER_12, PRINTER_13, PRINTER_14, PRINTER_15, PRINTER_16, PRINTER_17, PRINTER_18, PRINTER_19, PRINTER_20, PRINTER_21, PRINTER_22, PRINTER_23, PRINTER_24, PRINTER_25, PRINTER_26, PRINTER_27, PRINTER_28, PRINTER_29, PRINTER_30, PRINTER_31, PRINTER_32, PRINTER_33, PRINTER_34, PRINTER_35, PRINTER_36, PRINTER_37, PRINTER_38, PRINTER_39, PRINTER_40, PRINTER_41, PRINTER_42, PRINTER_43, PRINTER_44, PRINTER_45, PRINTER_46, PRINTER_47, PRINTER_48, PRINTER_49, PRINTER_50, PRINTER_51, PRINTER_52, PRINTER_53, PRINTER_54, PRINTER_55, PRINTER_56, PRINTER_57, PRINTER_58, PRINTER_59, ] WOOD_ASSETS = [ WOOD_00, WOOD_01, WOOD_02, WOOD_03, WOOD_04, WOOD_05, WOOD_06, WOOD_07, WOOD_08, WOOD_09, WOOD_10, WOOD_11, WOOD_12, WOOD_13, WOOD_14, WOOD_15, WOOD_16, WOOD_17, WOOD_18, WOOD_19, WOOD_20, WOOD_21, WOOD_22, WOOD_23, WOOD_24, WOOD_25, WOOD_26, WOOD_27, WOOD_28, WOOD_29, WOOD_30, WOOD_31, WOOD_32, WOOD_33, WOOD_34, WOOD_35, WOOD_36, WOOD_37, WOOD_38, WOOD_39, WOOD_40, WOOD_41, WOOD_42, WOOD_43, WOOD_44, WOOD_45, WOOD_46, WOOD_47, WOOD_48, WOOD_49, WOOD_50, WOOD_51, WOOD_52, WOOD_53, WOOD_54, WOOD_55, WOOD_56, WOOD_57, WOOD_58, WOOD_59, ] SEW_ASSETS = [ SEW_00, SEW_01, SEW_02, SEW_03, SEW_04, SEW_05, SEW_06, SEW_07, SEW_08, SEW_09, SEW_10, SEW_11, SEW_12, SEW_13, SEW_14, SEW_15, SEW_16, SEW_17, SEW_18, SEW_19, SEW_20, SEW_21, SEW_22, SEW_23, SEW_24, SEW_25, SEW_26, SEW_27, SEW_28, SEW_29, SEW_30, SEW_31, SEW_32, SEW_33, SEW_34, SEW_35, SEW_36, SEW_37, SEW_38, SEW_39, SEW_40, SEW_41, SEW_42, SEW_43, SEW_44, SEW_45, SEW_46, SEW_47, SEW_48, SEW_49, SEW_50, SEW_51, SEW_52, SEW_53, SEW_54, SEW_55, SEW_56, SEW_57, SEW_58, SEW_59, ] HOMELAB_ASSETS = [ HOMELAB_00, HOMELAB_01, HOMELAB_02, HOMELAB_03, HOMELAB_04, HOMELAB_05, HOMELAB_06, HOMELAB_07, HOMELAB_08, HOMELAB_09, HOMELAB_10, HOMELAB_11, HOMELAB_12, HOMELAB_13, HOMELAB_14, HOMELAB_15, HOMELAB_16, HOMELAB_17, HOMELAB_18, HOMELAB_19, HOMELAB_20, HOMELAB_21, HOMELAB_22, HOMELAB_23, HOMELAB_24, HOMELAB_25, HOMELAB_26, HOMELAB_27, HOMELAB_28, HOMELAB_29, HOMELAB_30, HOMELAB_31, HOMELAB_32, HOMELAB_33, HOMELAB_34, HOMELAB_35, HOMELAB_36, HOMELAB_37, HOMELAB_38, HOMELAB_39, HOMELAB_40, HOMELAB_41, HOMELAB_42, HOMELAB_43, HOMELAB_44, HOMELAB_45, HOMELAB_46, HOMELAB_47, HOMELAB_48, HOMELAB_49, HOMELAB_50, HOMELAB_51, HOMELAB_52, HOMELAB_53, HOMELAB_54, HOMELAB_55, HOMELAB_56, HOMELAB_57, HOMELAB_58, HOMELAB_59, ] SOLDER_ASSETS = [ SOLDER_00, SOLDER_01, SOLDER_02, SOLDER_03, SOLDER_04, SOLDER_05, SOLDER_06, SOLDER_07, SOLDER_08, SOLDER_09, SOLDER_10, SOLDER_11, SOLDER_12, SOLDER_13, SOLDER_14, SOLDER_15, SOLDER_16, SOLDER_17, SOLDER_18, SOLDER_19, SOLDER_20, SOLDER_21, SOLDER_22, SOLDER_23, SOLDER_24, SOLDER_25, SOLDER_26, SOLDER_27, SOLDER_28, SOLDER_29, SOLDER_30, SOLDER_31, SOLDER_32, SOLDER_33, SOLDER_34, SOLDER_35, SOLDER_36, SOLDER_37, SOLDER_38, SOLDER_39, SOLDER_40, SOLDER_41, SOLDER_42, SOLDER_43, SOLDER_44, SOLDER_45, SOLDER_46, SOLDER_47, SOLDER_48, SOLDER_49, SOLDER_50, SOLDER_51, SOLDER_52, SOLDER_53, SOLDER_54, SOLDER_55, SOLDER_56, SOLDER_57, SOLDER_58, SOLDER_59, ] LORA_ASSETS = [ LORA_00, LORA_01, LORA_02, LORA_03, LORA_04, LORA_05, LORA_06, LORA_07, LORA_08, LORA_09, LORA_10, LORA_11, LORA_12, LORA_13, LORA_14, LORA_15, LORA_16, LORA_17, LORA_18, LORA_19, LORA_20, LORA_21, LORA_22, LORA_23, LORA_24, LORA_25, LORA_26, LORA_27, LORA_28, LORA_29, LORA_30, LORA_31, LORA_32, LORA_33, LORA_34, LORA_35, LORA_36, LORA_37, LORA_38, LORA_39, LORA_40, LORA_41, LORA_42, LORA_43, LORA_44, LORA_45, LORA_46, LORA_47, LORA_48, LORA_49, LORA_50, LORA_51, LORA_52, LORA_53, LORA_54, LORA_55, LORA_56, LORA_57, LORA_58, LORA_59, ] BATTLEBOT_ASSETS = [ BATTLEBOT_00, BATTLEBOT_01, BATTLEBOT_02, BATTLEBOT_03, BATTLEBOT_04, BATTLEBOT_05, BATTLEBOT_06, BATTLEBOT_07, BATTLEBOT_08, BATTLEBOT_09, BATTLEBOT_10, BATTLEBOT_11, BATTLEBOT_12, BATTLEBOT_13, BATTLEBOT_14, BATTLEBOT_15, BATTLEBOT_16, BATTLEBOT_17, BATTLEBOT_18, BATTLEBOT_19, BATTLEBOT_20, BATTLEBOT_21, BATTLEBOT_22, BATTLEBOT_23, BATTLEBOT_24, BATTLEBOT_25, BATTLEBOT_26, BATTLEBOT_27, BATTLEBOT_28, BATTLEBOT_29, BATTLEBOT_30, BATTLEBOT_31, BATTLEBOT_32, BATTLEBOT_33, BATTLEBOT_34, BATTLEBOT_35, BATTLEBOT_36, BATTLEBOT_37, BATTLEBOT_38, BATTLEBOT_39, BATTLEBOT_40, BATTLEBOT_41, BATTLEBOT_42, BATTLEBOT_43, BATTLEBOT_44, BATTLEBOT_45, BATTLEBOT_46, BATTLEBOT_47, BATTLEBOT_48, BATTLEBOT_49, BATTLEBOT_50, BATTLEBOT_51, BATTLEBOT_52, BATTLEBOT_53, BATTLEBOT_54, BATTLEBOT_55, BATTLEBOT_56, BATTLEBOT_57, BATTLEBOT_58, BATTLEBOT_59, BATTLEBOT_60, BATTLEBOT_61, BATTLEBOT_62, BATTLEBOT_63, BATTLEBOT_64, BATTLEBOT_65, BATTLEBOT_66, BATTLEBOT_67, BATTLEBOT_68, BATTLEBOT_69, BATTLEBOT_70, BATTLEBOT_71, BATTLEBOT_72, BATTLEBOT_73, BATTLEBOT_74, BATTLEBOT_75, ] LASER_ASSETS = [ LASER_00, LASER_01, LASER_02, LASER_03, LASER_04, LASER_05, LASER_06, LASER_07, LASER_08, LASER_09, LASER_10, LASER_11, LASER_12, LASER_13, LASER_14, LASER_15, LASER_16, LASER_17, LASER_18, LASER_19, LASER_20, LASER_21, LASER_22, LASER_23, LASER_24, LASER_25, LASER_26, LASER_27, LASER_28, LASER_29, LASER_30, LASER_31, LASER_32, LASER_33, LASER_34, LASER_35, LASER_36, LASER_37, LASER_38, LASER_39, LASER_40, LASER_41, LASER_42, LASER_43, LASER_44, LASER_45, LASER_46, LASER_47, LASER_48, LASER_49, LASER_50, LASER_51, LASER_52, LASER_53, LASER_54, LASER_55, LASER_56, LASER_57, LASER_58, LASER_59, ] FADE_ASSETS = [FADE_00, FADE_01, FADE_02, FADE_03, FADE_04, FADE_05, FADE_06, FADE_07] def _center(child, bg = "#000000"): return render.Box( width = 64, height = 32, color = bg, child = render.Column( main_align = "center", cross_align = "center", expanded = True, children = [child], ), ) def _cycle(frames, hold_ticks, total_ticks): one_cycle = [] for f in frames: one_cycle.extend([f] * hold_ticks) out = [] while len(out) < total_ticks: out.extend(one_cycle) return out[:total_ticks] def _video_label(text): return render.Box( width = 64, height = 7, color = "#000000aa", child = render.Row( expanded = True, main_align = "center", cross_align = "center", children = [render.Text(content = text, font = "tom-thumb", color = "#ffffff")], ), ) def _video_scene(assets, label, hold_ticks = 2): label_widget = _video_label(label) frames = [ render.Stack(children = [render.Image(src = a.readall(), width = 64, height = 32), label_widget]) for a in assets ] total_ticks = len(assets) * hold_ticks return render.Animation(children = _cycle(frames, hold_ticks = hold_ticks, total_ticks = total_ticks)) def _zoom_logo(): centered_logo = _center(render.Image(src = LOGO_ASSET.readall(), width = 32, height = 32), bg = "#fefff0") return animation.Transformation( child = centered_logo, duration = 60, origin = animation.Origin(0.5, 0.5), fill_mode = "forwards", wait_for_child = True, keyframes = [ animation.Keyframe(percentage = 0.0, transforms = [animation.Scale(0.2, 0.2)]), animation.Keyframe(percentage = 0.5, transforms = [animation.Scale(1.0, 1.0)], curve = "ease_out"), animation.Keyframe(percentage = 1.0, transforms = [animation.Scale(1.0, 1.0)]), ], ) def _logo_to_name_fade(): frames = [render.Image(src = a.readall(), width = 64, height = 32) for a in FADE_ASSETS] return render.Animation(children = _cycle(frames, hold_ticks = 2, total_ticks = 16)) # 0.8s def _name_scene(): name_img = _center(render.Image(src = NAME_ASSET.readall(), width = 58, height = 32), bg = "#fefff0") return render.Animation(children = [name_img] * 80) # 80 * 50ms = 4.0s def _qr_scene(): qr_png = qrcode.generate(url = ORG_URL, size = "large", color = "#000000", background = "#ffffff") qr_img = _center(render.Image(src = qr_png, width = 29, height = 29)) return render.Animation(children = [qr_img] * 80) # 80 * 50ms = 4.0s def _next_craft_scene(): printer_scene = _video_scene(PRINTER_ASSETS, "3D Printing") woodwork_scene = _video_scene(WOOD_ASSETS, "Woodworking") fiber_scene = _video_scene(SEW_ASSETS, "Fiber Craft") solder_scene = _video_scene(SOLDER_ASSETS, "Electronics") homelab_scene = _video_scene(HOMELAB_ASSETS, "Homelab") lora_scene = _video_scene(LORA_ASSETS, "LoRa Radio") battlebot_scene = _video_scene(BATTLEBOT_ASSETS, "Battle Bots") laser_scene = _video_scene(LASER_ASSETS, "Laser Engraving") scenes = [ printer_scene, woodwork_scene, fiber_scene, solder_scene, homelab_scene, lora_scene, battlebot_scene, laser_scene, ] raw = cache.get(CRAFT_INDEX_KEY) idx = int(raw) if raw != None else 0 cache.set(CRAFT_INDEX_KEY, str((idx + 1) % len(scenes)), ttl_seconds = 86400) return scenes[idx] def main(): return render.Root( delay = 50, show_full_animation = True, child = render.Sequence( children = [ _zoom_logo(), _logo_to_name_fade(), _name_scene(), _qr_scene(), _next_craft_scene(), ], ), )