1142 lines
41 KiB
Python
1142 lines
41 KiB
Python
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(),
|
|
],
|
|
),
|
|
)
|