From 4bea0d4aa21c7469aaa9c1896541ae8cdc574f79 Mon Sep 17 00:00:00 2001 From: Chris Nourse Date: Sun, 15 Mar 2026 18:45:56 -0700 Subject: [PATCH 1/4] arcraiderstats: add 2x resolution support - Add canvas-aware rendering with SCALE factor for all dimensions - Use 6x10 (header) and terminus-12 (events) fonts at 2x resolution - Add ArcRaidersTitle@2x.webp logo asset (128x16, nearest-neighbor upscale) - Add 2x preview image - Add supports2x: true to manifest - Add runtime exception for cold-cache HTTP fetch timing - Change timer text to camel case ("Ends In") Co-Authored-By: Claude Opus 4.6 --- .github/scripts/check-apps.sh | 1 + apps/arcraiderstats/ArcRaidersTitle@2x.webp | Bin 0 -> 882 bytes apps/arcraiderstats/arc_raiders_stats.star | 68 +++++++++--------- apps/arcraiderstats/arc_raiders_stats.webp | Bin 8278 -> 13252 bytes apps/arcraiderstats/arc_raiders_stats@2x.webp | Bin 0 -> 16206 bytes apps/arcraiderstats/manifest.yaml | 2 + 6 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 apps/arcraiderstats/ArcRaidersTitle@2x.webp create mode 100644 apps/arcraiderstats/arc_raiders_stats@2x.webp diff --git a/.github/scripts/check-apps.sh b/.github/scripts/check-apps.sh index a1e353d6c..bb758315c 100755 --- a/.github/scripts/check-apps.sh +++ b/.github/scripts/check-apps.sh @@ -21,6 +21,7 @@ runtime_exceptions["apps/nflstandings"]="5s" runtime_exceptions["apps/nhlstandings"]="5s" runtime_exceptions["apps/acfilmshowtimes"]="5s" runtime_exceptions["apps/perlinnoise"]="5s" +runtime_exceptions["apps/arcraiderstats"]="3s" if [ -z "${TARGETS}" ]; then diff --git a/apps/arcraiderstats/ArcRaidersTitle@2x.webp b/apps/arcraiderstats/ArcRaidersTitle@2x.webp new file mode 100644 index 0000000000000000000000000000000000000000..b12ef05fe698138d2bb92aae01e9632f8da18485 GIT binary patch literal 882 zcmV-&1C9JrNk&F$0{{S5MM6+kP&go70{{Tf7XY0BDu4hG06uLrmq?@{q9G&+Ab<^t zVllu!051SP03(2Z0R91}1^5RL2k;M20IE;C1D)sC1NH;<@7WJ91F~P{-+|p=UC8x2 z_CxxIxEJ6bfFH0MOFl{XefXpA-|!E>57giDJYYYWejk1m;a$Sp%P-^K$h&}ffc|s# z0q$k_Pvlqf5B&f8en5Py{a5k><^%aJ^l!GGlaWIMvd?nj8FAuhTQ^BHM!hWM9IxLf z|2K1J{Ah=~TE?ui#lcez&Hw=Z^E~!Vcb+N|DbY}--Zg7JUW;;n5%2gJ4ycH~naX$! zP=PK{%>((*bY|`E(((q%Tiq{}2prvA-OV=nxiA4Y>1m!@{ug7vXNuj+VxR&J4Li{( zlPQw$7sM~)=BuN3#mj)m)Rkhd#NgLh>+-5jL3GWV`*o+ zQld9x15-gWhYI>svMA{-Xzn#+j&W*GCVbnL#VdZ0#{Qph0Go->!)hj)uU7%K*#)D?FOss-Am-ErQHv+)Y^kU7O9c@yX zUsP^hdN+ZNYY3F7DbKBr5u{|iH?WYO(zmN6dODE!X`5&h|BZ%5b+fA5HXbg5?DxX2 ziepa-sem42&|uUmV=2fA2MxShgG>C+4odlF?0^5|tYZu>cX2Y0a>*twc^D3mEh#(? z0~d2~faZB;8Vog=XMf%IzxrHM&;rD-UmV@`cmJ)w|F3`lZ-4&X5B}J=fB$X^|Nf5N zo+aAG0_tD?=yU1jO6)msZ>Oot|NlpBPciMV%Y_#yFs(p{iXyXj!v?DhVH&{`yq;s* IVV3>C0K77`VgLXD literal 0 HcmV?d00001 diff --git a/apps/arcraiderstats/arc_raiders_stats.star b/apps/arcraiderstats/arc_raiders_stats.star index 99c679bad..44e886c8b 100644 --- a/apps/arcraiderstats/arc_raiders_stats.star +++ b/apps/arcraiderstats/arc_raiders_stats.star @@ -5,13 +5,14 @@ Description: Shows current Arc Raiders player count and active event timers with Author: Chris Nourse """ -load("ArcRaidersTitle.webp", ARC_RAIDERS_LOGO_ASSET = "file") +load("ArcRaidersTitle.webp", ARC_RAIDERS_LOGO_1X = "file") +load("ArcRaidersTitle@2x.webp", ARC_RAIDERS_LOGO_2X = "file") load("http.star", "http") -load("render.star", "render") +load("render.star", "canvas", "render") load("schema.star", "schema") load("time.star", "time") -ARC_RAIDERS_LOGO = ARC_RAIDERS_LOGO_ASSET.readall() +ARC_RAIDERS_LOGO = ARC_RAIDERS_LOGO_2X.readall() if canvas.is2x() else ARC_RAIDERS_LOGO_1X.readall() # API URLs STEAM_API_URL = "https://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1/?appid=1808500" @@ -29,16 +30,17 @@ COLOR_WHITE = "#FFFFFF" PLAYER_CACHE_TTL = 600 # 10 minutes (http.get cache) EVENTS_TABLE_CACHE_TTL = 43200 # 12 hours (cache full event table) -# Screen constants -SCREEN_WIDTH = 64 # Display width in pixels -SCREEN_HEIGHT = 32 # Display height in pixels -PLAYER_COUNT_HEIGHT = 6 # Height of player count display in pixels -EVENT_CONTENT_HEIGHT = 18 # Height of event content (3 lines of text) -CHAR_WIDTH = 4 # Character width in pixels for tom-thumb and CG-pixel-3x5-mono fonts +# Screen constants (resolution-aware) +SCALE = 2 if canvas.is2x() else 1 +SCREEN_WIDTH = canvas.width() +SCREEN_HEIGHT = canvas.height() +PLAYER_COUNT_HEIGHT = 6 * SCALE +EVENT_CONTENT_HEIGHT = 36 if canvas.is2x() else 18 +CHAR_WIDTH = 6 if canvas.is2x() else 4 # Width of FONT_EVENT characters -# Font names -FONT_TOM_THUMB = "tom-thumb" -FONT_CG_PIXEL_3X5 = "CG-pixel-3x5-mono" +# Fonts (resolution-aware) +FONT_HEADER = "6x10" if canvas.is2x() else "tom-thumb" +FONT_EVENT = "terminus-12" if canvas.is2x() else "CG-pixel-3x5-mono" # Animation constants - Percentage-based values PERCENT_PAUSE = 0.75 # % of each event's time spent paused @@ -347,13 +349,13 @@ def format_time_adaptive(remaining_seconds): Returns: Formatted string like: - - "ends in 02d 14h" for >= 100 hours - - "ends in 12h 34m" for >= 100 minutes - - "ends in 45m 23s" for < 100 minutes + - "Ends In 02d 14h" for >= 100 hours + - "Ends In 12h 34m" for >= 100 minutes + - "Ends In 45m 23s" for < 100 minutes - "ended" for <= 0 seconds """ if remaining_seconds <= 0: - return "ended" + return "Ended" total_minutes = remaining_seconds // 60 seconds = remaining_seconds % 60 @@ -366,15 +368,15 @@ def format_time_adaptive(remaining_seconds): if total_hours >= 100: # >= 100 hours, use days and hours d_str = ("0" + str(days)) if days < 10 else str(days) h_str = ("0" + str(hours)) if hours < 10 else str(hours) - return "ends in %sd %sh" % (d_str, h_str) + return "Ends In %sd %sh" % (d_str, h_str) elif total_minutes >= 100: # >= 100 minutes, use hours and minutes h_str = ("0" + str(total_hours)) if total_hours < 10 else str(total_hours) m_str = ("0" + str(minutes)) if minutes < 10 else str(minutes) - return "ends in %sh %sm" % (h_str, m_str) + return "Ends In %sh %sm" % (h_str, m_str) else: # < 100 minutes, use minutes and seconds m_str = ("0" + str(total_minutes)) if total_minutes < 10 else str(total_minutes) s_str = ("0" + str(seconds)) if seconds < 10 else str(seconds) - return "ends in %sm %ss" % (m_str, s_str) + return "Ends In %sm %ss" % (m_str, s_str) def get_event_row_text(event, row_index, frame, animation_start_time, scroll_in_start, horizontal_scroll_speed): """Generate text content for an event row at a specific frame. @@ -414,7 +416,7 @@ def get_event_row_text(event, row_index, frame, animation_start_time, scroll_in_ viewport_chars = SCREEN_WIDTH // CHAR_WIDTH # Check if text needs scrolling (accounting for padding) - usable_width = SCREEN_WIDTH - 4 # 2px padding on each side + usable_width = SCREEN_WIDTH - (4 * SCALE) # 2px padding on each side (scaled) text_width = len(base_text) * CHAR_WIDTH if text_width > usable_width: frames_since_event_start = frame - scroll_in_start @@ -488,7 +490,7 @@ def get_vertical_position(timeline_entry, frame, header_height): # Smoothly move from header_height to fully off-screen (negative Y) # Add extra pixels to ensure content is completely offscreen - distance_to_travel = header_height + EVENT_CONTENT_HEIGHT + 2 + distance_to_travel = header_height + EVENT_CONTENT_HEIGHT + (2 * SCALE) return int(header_height - (progress * distance_to_travel)) def get_current_event(timeline, frame): @@ -526,8 +528,8 @@ def render_event_content(event, frame, timeline_entry, animation_start_time, ver """ # Generate text for each row - row_height = 6 # Height for each text row - row_x = 2 # Left padding + row_height = 12 if canvas.is2x() else 6 # Height for each text row + row_x = 2 * SCALE # Left padding # Build content children with absolute positioning from base Y content_children = [] @@ -535,17 +537,17 @@ def render_event_content(event, frame, timeline_entry, animation_start_time, ver # Row 0: Map name (white, tom-thumb) map_text = get_event_row_text(event, 0, frame, animation_start_time, timeline_entry["scroll_in_start"], horizontal_scroll_speed) row_y = vertical_y + 0 - content_children.append(render_positioned_text(map_text, row_x, row_y, FONT_TOM_THUMB, COLOR_WHITE)) + content_children.append(render_positioned_text(map_text, row_x, row_y, FONT_EVENT, COLOR_WHITE)) # Row 1: Event name (yellow, CG-pixel-3x5) event_text = get_event_row_text(event, 1, frame, animation_start_time, timeline_entry["scroll_in_start"], horizontal_scroll_speed) row_y = vertical_y + row_height - content_children.append(render_positioned_text(event_text, row_x, row_y, FONT_CG_PIXEL_3X5, COLOR_YELLOW)) + content_children.append(render_positioned_text(event_text, row_x, row_y, FONT_EVENT, COLOR_YELLOW)) # Row 2: Countdown (red, CG-pixel-3x5) time_text = get_event_row_text(event, 2, frame, animation_start_time, timeline_entry["scroll_in_start"], horizontal_scroll_speed) row_y = vertical_y + (row_height * 2) - content_children.append(render_positioned_text(time_text, row_x, row_y, FONT_CG_PIXEL_3X5, COLOR_RED)) + content_children.append(render_positioned_text(time_text, row_x, row_y, FONT_EVENT, COLOR_RED)) # Return list of positioned children (no wrapping Box!) return content_children @@ -645,19 +647,19 @@ def build_header(player_count, show_player_count): width = SCREEN_WIDTH, height = PLAYER_COUNT_HEIGHT, child = render.Padding( - pad = (1, 0, 0, 0), + pad = (SCALE, 0, 0, 0), child = render.Row( main_align = "center", cross_align = "center", children = [ render.Text( content = "Players:", - font = FONT_TOM_THUMB, + font = FONT_HEADER, color = COLOR_CYAN, ), render.Text( content = player_text, - font = FONT_TOM_THUMB, + font = FONT_HEADER, color = COLOR_GREEN, ), ], @@ -684,7 +686,7 @@ def render_display(player_count, events, show_player_count, show_events, display """ # Calculate header height - header_height = 8 # Logo height + header_height = 8 * SCALE # Logo height if show_player_count: header_height += PLAYER_COUNT_HEIGHT @@ -693,7 +695,7 @@ def render_display(player_count, events, show_player_count, show_events, display # Calculate dynamic timing based on display time and number of events timing = calculate_animation_timing(display_time_seconds, len(events)) - delay = timing["frame_delay_ms"] + delay = timing["frame_delay_ms"] // 2 if canvas.is2x() else timing["frame_delay_ms"] # Create display based on events state if show_events: @@ -735,10 +737,10 @@ def render_display(player_count, events, show_player_count, show_events, display width = SCREEN_WIDTH, height = SCREEN_HEIGHT, child = render.Padding( - pad = (2, header_height + 2, 2, 0), + pad = (2 * SCALE, header_height + 2 * SCALE, 2 * SCALE, 0), child = render.WrappedText( content = message, - font = FONT_TOM_THUMB, + font = FONT_HEADER, color = message_color, ), ), diff --git a/apps/arcraiderstats/arc_raiders_stats.webp b/apps/arcraiderstats/arc_raiders_stats.webp index 2d1d62e553814aeb224225276ac7cb764318eb8e..0b4e78bef194a04d656dce51d82d60d05e3d1862 100644 GIT binary patch literal 13252 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%0Du4Dp@MR)o( zOo@I&v5XJ=Qb|L8dh;a&SoDjVFJ*@j@z=H<7MeYltNmeNGd?ro?-3?D%>vKsEPUL9 z>SqED@unU=OQ7(L3^JPTbmJ7ILm6aAh6NL^zc4M(5rH2dLw4)rckdRN0+0X9^QVEo z|NX`cn0Xp&f@eL^^IzuxJl#B`!M!@5UlVKh(&&KB^#c=%&CX3BhEzjir}0nA&pjj2 z6KQQG7UKyxjSp6`)h{Gz{#?==ki$FbP1_3FEW5WcyjNH=nd7ITHm;r18E+H1upXYp zCu4SNI>Cpa=KKc|p=c8?{3CcY@mNOVKg9X3n%P<3FK_ZzfVX+H%0#|*Jj^iqUHu6- zugqmY9J+b_-iBWQ?#F{OTu)U!Fo`+ya;x>}69@=nR|6MtJFi zVAe=wx&z)yFz-fUP07ukx5+AgUwvk{R6|85K~Eb0!jsCs^5nt-8nBE#3lMb)c3|@^ zqUd&I3Icx>-VpAnN~=&$+#%!Hw?H3sq?=ii_y$wtzt+jmIsnF^g_&01vPiydmnBw{ zPZeqvbsi9YRm@3u!_z;&x%lk6p{@BomZ6@(`N*B1aKGefmdjXl6uj3apbzYJI46uv z$ltvAB>vdG=Um6Chp?@K&t&R-;ayVP-!legP43oIZnAibFEWWt>Xe_%NGEP0pI7x@ z)Fj_b51HSZ!YZy9EQPXIVmo^~c9CGG48za-JzIC{3FP1YRu@er_M$f@i=#=U*mJ%a z#sM#lVHx=b&AFK`PR%`q2cyCh$dl!KpIx`g==!*pkuLS-g4Fm9fdi3b3J#-t3>ee@ zo~!|K^IT}Ymxg9mJe84sN^|%i zDD6LFD{y0$O;@rk+z_F(px2s2&bHAu_~lw4%cJb0@>{ZU zlsC!GP0(W)%U@aclRRpQGUuUVbQqfo^kzj9@&Q-!*sGMs(nrgWU8PYEu}zHQ<0}vp zT=S!TZh3FjTnrwG-imW0hacm(NA*9|;k0x_tH(oZZD7l=H~-ygcKr3S`(1vxHncCp zOWol<9r^A`+gv6)YtGXW0-vs^to-YY{K+K2beMn2DhM1&wdn6NR+eJ(rEhx7UdU9o znPRvSvaZeDj)s&@V1?;mCP~2e3OR|Hl)IAzbACAay9yDAw(Ci-9BHdF*tzLt@%`#} z{C0=Q!mS6^nTJ_V`Js%8uhgs@F+P4Hi%QDjGjjYJ#Fzqh&!VpD6H@k74V&lD@k?hg zUM9pMRxB!`{BcrRz*ff}qq6fvX`2=h#sE4|U#|q&TrXDeW$SVDV#mjtJBx)O#KB_T z!jZ9WV;OkvB(}!d9_HaOjHQ*o>Z18LIsks*8F?U2B~RrE8jt7|)2X&YECG=hTBoag zZ6T#N#RQURC+`G{#4KW_i%UbRMJ0$N1*TIq=iR7jd$%7Q72wn6(3cqukvN20&SXr=NF0u<#cQMNg^NL z7A*q*OQhIa{1$9%u>K(Z;g3gHfBZY^K^h51=rCT%w{6t3;Ijzid9s5(ZoNhp4-m@* zeV403vpQIrO!db(b^4l4rMiuuV7<8Q=1bf>$&%Vl$Vg{Qi9q>T#pfTYy7K1!Gm`4Z zYpX8vvE}y?AB_~URi7Nm-r;uKlDN~!*v%LncTY$wE9L?n>eJy5U@Yw?6qeP4-$#7=XX5F(-Qk^iLr_?ck`407koy;(Wy=!Gmr_X zoBwv)p!^Vb(M_lTac0_#46#h~acg(-C%u;U`z>b?{;L8^Lv=lGAH>fGRg@N9<^%kp z+_UD##5j28pe_!fF4c#omWwS>j0oJdP0fqKi?rxQLQr3az53$+@IU5%K1lCpMLeuKr_om`=rJ#&;zv#q zGTdV_)Nhq|N4FN5-Rsh*f(zR6cUFW0hDD43X#(=^KW<`jos(?6v{WGk_mNcxy3lUZ Ngr(oE;_5&l{|5>P5@7%U literal 8278 zcmd^@c{tSF|Nq}JX6(x#yBK2-k~M2F#4r((t+d!~`&L4v%#cC}(`t)bWQ`;g-8EWd z3CS(W$Z`vjCHp?V_srDY+;^YPrSJ9oA5({9O zEewbjFd;9kL7+XpqU?}t7d1BRj7uJ0P0@gq?}pHb?GZH!q@N=5GS|fJxL%c1UB714 z1a^5GAJhriy(S``2a5>e>c0A+z01`oXBD+lcF(`39(#3ig?shm>PUcCr;LT!K6c+- z{`F6MCX-7z!r;BD?;sTf(FWt{H$HLhcA4@mxd?TVkvY3zji@y-#8JkgzPJT@7q%}& z;jD9)l=QLCN2KQ=;fIrt8i^3Hm}c|v(uTLcyl(@vb@~TnvSBzEi+aV!OK>HljFj8K z#<%&d-^f_s)ARHdy$0H#R|o*`004^i3s?hyS_80PfHDdLAb3k|WE=(8#XT^KHVv5~2L@A8EL zP+Ar;>UjoJM%{>3_s8^jWsbS)U(StRV0ETHv&p58wv04M+e%a8s8sQoLD zAP7k$!ffV-m^T;PTTEp>@R1&rfR0}G&!Pa+%1m7;ev0jNy}es^tm&3~%IabUeW2Hx zf#M?LA`1@Z>K9f1%}}ou{gbPzCjm_lPZ>*Vrm6{*=n0iw$jq#cYP9sRK62At$44RS z$EmB3NLRx_Q^WQ{O*l;r2D+IV_u{5qVPP)^NPUXr*|u>wC}+#CWhC1EpIg^S%RBW0b;AkW+m%uBR!2NFhbepu|Xq)6jNv4kP$n3G0ZkEX~*PAy# z^V8~-LstfFBd|`OzVCAzPp{Kv%F6wV8=ovbL2C%`?{sx)XZ}c1=EUpwts_qfUHH|l z7cz_*40du%r?#kghhMz@;E)mvP3fO>rC{}R0RUV#-<3Y5D%Hg>A>@zK zaj*a}8N){$%9^$gY`w7^a?)yG0e@n?HC-j+@oc*(qBQm#I{BPsyIomnYjM9x7pAP} zQFcXz!+uleeD;K*qZm5@>iQU^dt;?}1NZ57Z*OScNWbcBVd7_R_PhMZ%9@&oDnEEV z_%J3>7xG%xE2nF& zbS|0BX%f*m-fQseus~pLNAy81!s^nMv?L>Aik!2cmR#3Gtw4{K2=&zYQeVfN#RYDY zhi+qcE1B*dFFdMv=VkFxi(}9buKk}NMVzI|+t)kHc_;^$26`r^^nGj614aXCYALmk zK5M-)SLQm^GCV`lU!4q0J3ifOu)*5$Xq!U8sW?w3O)Y%_PkM|}ql2^CZ~Gb~9C1jr z6CMr0ViC@;px>17;%U7f8vxYJUZ006&RH0Q-8lj@Cwd!{S^+iCsTge?gVw=JT?4c1A!}V?9RCFWPugxZI zlmbI%U86+WpIv8}9$1oFPtLxYoQ$4fX@24_lvI))zx#}jhStvfG_lZGw_weMA=O>N zfg=}p9_)BS=3I7-P}4flQ5_&N8=Fkz+hWucsp{%ADmLAT5iNg)%z2fkSjt*=Ly>qf zju&GLlYYm266LIdg6c}^7GApK-hwwOi8qVDIP{flO(9`U?)8Pn!%T3|xmV-hnFuk0 zHBKSnK)K@YP+A3_Fjj#fyYgsN0JDpF8lk!+JuS+e?`uW9<$Mv{C_JMzkxBu+kO95> z{vGeSYw8boRZ#+#^@k<9^bL*YqM+zt+%PKkQ`b~+*A6Yu>a6YLXNgV^dpGtl`v7G^ z3N<#uW$&$|jh9l}*izL+hF@E}|IJ44K<10)VT^z9OnPGe{kp&%C7QQ-E${6S2oiw! z;wvwnB#UD8rR!wFJ!NyGL@dXg_8ug*JJ4M`WOTuBR%Fp!kmzT{e{<2_R5c;1lOiOP zxyxaSy?e%YYF5%g+!)-iNZn5cMWZKmKdlL92iHo~>9x6R9NmuQxzq&s+S)-4G9^-T z$Hvnh=yQhEN;F#5RC*o>i#+n`#m>UA_%q}{CxW0a=90MZE1;a$hM&h4zW)m*g&=Gv zq@6E3!tCSkoT(NhNSlRkr!ajjf?4}LWof6dF0hGyBoS>QXlvf~X8mPorq!uwc@zWBr5@LQNtJyga`Bq(3ku^R{1arfEV$_ zDBVx7NWQ!y)-U1pemG6p3C7BT0Q+6pAzEeej61VF5v}vtq{8b_*I+m*aHcI84YFEC zNQlObu?e@{qQIW$?rnY8NLBF*{Uk2;2uCQ=V#~#H|JXy3e(l?Qd)CyQwg>z5Mzvj6 z-Adh`HjE=Pu$>NlPN{77Jrk-D(ekbDdMPQ37Mj>OgR`Q4e$exAdN_a^I!U?Av16?? z!~$oq_qo?rKAI(`9l z%TF8&X5YU#_9ck$E;41LrykKC9Y9IY9fnC~kFQ^xzkEzL`OkxNhu>=V6T^aM8dVh| z!(vm=^4wi&YY_r|(;rRd41C}csVT3XzoWR+lk}P2jG8CzXRlvCmEnhINqvg06r@+w zKj`%sUFjzDiY21u6NM(#$h`w&md2FlAp}TzQz^4;n5cCTdq_5vF9FM^@XByMhv`XG zM0?`ymPN`kCGytD!H!6OW?H?Y>EnZY92}p4SH0=ZHladOqPt>w&a)#Dr^C8=OVxST zdAi`tehRgs*1g`CLWMsG>}K0UaRuTmCQ9P%FEPeimo*GFrYKp;&G)_1%9J*sFQE7~ z&^vW~UZyJn`4m*bkU63BN^GK}8Z7($+(Wu|WWG)>SMm%ejYe&O-;;A|yuSOs_9Sm} zG`Rw}?CrnR{Fe04RVRP0cRs;WuU09ul%$c_5t5>&y27<_*KLn0IYL!$?hW~> zj;K;js4Hs~>~AH`*WXHoxJzzvRGt3~wva+HM0fuy{Ak!WF zM4-=Uj(&+i!F!s#T`v%k3scl*O6UmJgXmDJ{2!ZOmpx9cd0GYTw&;X41IRVG8F?`oDPdMq-~b^FC=0Va^3sSLRR@GENu*g#aU`uQE$*j8bUode zUp&0^z+?HM);|hek9``}az5^MyM0W0OK@@UWGGxLX9UZA!720@XN|O{FlUv;31&?- zsYY=&bSkF#I_n$0AU8q7&=zmaJc#_w4v!O6>YlRk1t^Uz2mu)Vo~;IY1344SJSgqo zKRFZ6nC}Ekg4@mhxQz?+4EQ(oeQyc&_HXJ#`S)})vsg*CQ>N*}_-#}$8NpFOV!ZyX z(sV}s2Qfzb^&~e}8RSq54X8Vd3XA`V7e{Dw^b5SmbgrRlTytbhADG$+eFGz?q59E- zR!s)%)Qg^9PNmSasqggQ%F{!q??-8-J#<17VR^QwBNw|J$I1u!745f|E{?X}HhnX{ z-yz8t{D`vm^DA*APo$Km?9H{U&s;Zk@*@e7w_jr~yo%1NQQf_BzDhVP?(=SoI~SCC z&RR#z1~uN#hxB+v7~lz9SG>iT7m(L1aYnh_UjV;>{5LnX6(79*Veaso7`xy z#WU2Z4rbI0)!VBYwzP(Mgjy}C08|EeLrz$LM$Ux4>z0q4$h zNyw%kVR~{uV06Hc-03t2o6+Lls;#-zpC#7}PCG5GmvPiwh}*CtO$lY4HJrYv zdRC7`#5Z(<$*&LcQCN$Ar^l7@vz23B1N*Z^f-*E)W(yxx=7sYpXU&CAk{So*bu!*H zHW3MYMgUv2qc+fwa4Qe8xK_um3Rk@1qh`hj_jXlKOEz|qrJXug8MQNzVkAxbW~8W1 z^v_FMUHhZ+Q!NL#?~K(XFBNl1k0ugh6MOG?x8_);{W1UbX4|8Tt}2t5#IPyxm8qa~@G>}bCadQ}^<&D5Gb@X|_cE8Jx_#$&!7Vj_{KtOG&W5b%l~-Xn zFLSeN$wZ#Ta}TR?bx#)1?yTQ?HBlEQ|8LS_1igA7 zG0Fae7G0^;lO=6Vi|O25)$2Djs}?{$x+$xYy(iCsDMyD3X)7>@fg@}*3|X(aAmd^U zku2CCdU*CUUfma=y$?dc6232Rr(ZjQS z_h!NP6fq%P1_bL|FT``}-4o<^eHo5v^vmNDbcy@TL+Zp3N@vIN(wWuHj`nQ^G7Itp zC-+)<)))s3a++=!aA$1AoGzM=WvZj%O&u?<$}zMz}5A zpJX8KBpE}^$A*S*b&bgnT(u&v8%BqHk$zbkF@al^NWV4Kxbbk}RZjKS*qUX<Gi*WBVMF4DB4Kj;AS?zoA1^= zLfIx;lPl2|hmVh!kJg6r^CFDr@Rr83T|7kh^%Fxj(|r8`Lo&TEBj#c|JKRXy&`g5c z`(3y8&-Te{OYopp3?S0dBTCuFwQ_jdq0uR-hYmCG^2#Y81GetL*qZ&W$IHZogu4EJ zca3tSFalA@PGT|vI#sRsBa0IyRqK{0RhXoQSn+B0M;O0K@6xp5JG7T}YNq@rj?AW2U=xl6 z^oag;o#f~G55L6Lt_s=hu$oC4N6AxfsqP78g5d|n)(=zCuMFH<7<6nEZx&Db^w&lH z%=`TfpW)(5GhO}eoW~l_d({5u7FyM7UaUOU);Lw|qR%rla&GySE9>?f+~&J@9x|!p z54xf&L{9EWU`6mXst)XU{YReg0aXEM>T0{ksGlLnZ_xB_Mv-Pjbbg_U`rC#nWT54# z1%)u1X-Zg~G&N4jTKu~2Nop$B2MTIWNlvjXsV`>)vB?=)4f1=3Oud}El>jwA@=@cF ztSQ|B$}!K#%ePE zcxSYyRrBBPj5~eaeDQwiJMg6^eN7!5AGcvzJ0;sU9z?mCK{*o^nZKrYG*Z{9E?$N- zcV7oDmqH#n6sw@=;J&vKn^dsPwbY}xMua+tHjJbG&$+RZ%8k4JBRBs0jq%2}Tu`L@ m`N54k<+(6n$qeS`7;~VE6+Fuaq-V>g1BUMr+g{hBfd2=w00-;< diff --git a/apps/arcraiderstats/arc_raiders_stats@2x.webp b/apps/arcraiderstats/arc_raiders_stats@2x.webp new file mode 100644 index 0000000000000000000000000000000000000000..779db4a67884a5e9631a263bc066e7d431787ce2 GIT binary patch literal 16206 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 DdGL5c literal 0 HcmV?d00001 diff --git a/apps/arcraiderstats/manifest.yaml b/apps/arcraiderstats/manifest.yaml index 4d9680c90..d9cb93419 100644 --- a/apps/arcraiderstats/manifest.yaml +++ b/apps/arcraiderstats/manifest.yaml @@ -7,6 +7,7 @@ author: Chris Nourse fileName: arc_raiders_stats.star packageName: arcraiderstats recommendedInterval: 600 +supports2x: true category: gaming tags: - steam @@ -14,3 +15,4 @@ tags: - stats - real-time - event-tracker + - wide 2x support From 18a1545d33753e474317f69369aa557bd3ca3009 Mon Sep 17 00:00:00 2001 From: Chris Nourse Date: Sun, 15 Mar 2026 18:47:31 -0700 Subject: [PATCH 2/4] arcraiderstats: fix README refresh rate to match manifest Update recommended interval from 10 seconds to 10 minutes to match the manifest's recommendedInterval of 600 seconds. Co-Authored-By: Claude Opus 4.6 --- apps/arcraiderstats/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/arcraiderstats/README.md b/apps/arcraiderstats/README.md index 3c6c4f700..9e8f311d4 100644 --- a/apps/arcraiderstats/README.md +++ b/apps/arcraiderstats/README.md @@ -41,7 +41,7 @@ The app shows: ## Technical Details - **Language**: Starlark -- **Refresh Rate**: Recommended 10-second interval +- **Refresh Rate**: Recommended 10-minute interval - **Cache Strategy**: - Event data cached for 12 hours - Player count cached for 10 minutes From 9d9b8824218ed4c652e15d8506a72f3ac3eb0a2e Mon Sep 17 00:00:00 2001 From: Chris Nourse Date: Sun, 15 Mar 2026 19:04:08 -0700 Subject: [PATCH 3/4] arcraiderstats: remove hardcoded font names from row comments Font names are now resolution-dependent via FONT_EVENT constant, so inline font references in comments were stale and misleading. Co-Authored-By: Claude Opus 4.6 --- apps/arcraiderstats/arc_raiders_stats.star | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/arcraiderstats/arc_raiders_stats.star b/apps/arcraiderstats/arc_raiders_stats.star index 44e886c8b..39803d0c8 100644 --- a/apps/arcraiderstats/arc_raiders_stats.star +++ b/apps/arcraiderstats/arc_raiders_stats.star @@ -534,17 +534,17 @@ def render_event_content(event, frame, timeline_entry, animation_start_time, ver # Build content children with absolute positioning from base Y content_children = [] - # Row 0: Map name (white, tom-thumb) + # Row 0: Map name (white) map_text = get_event_row_text(event, 0, frame, animation_start_time, timeline_entry["scroll_in_start"], horizontal_scroll_speed) row_y = vertical_y + 0 content_children.append(render_positioned_text(map_text, row_x, row_y, FONT_EVENT, COLOR_WHITE)) - # Row 1: Event name (yellow, CG-pixel-3x5) + # Row 1: Event name (yellow) event_text = get_event_row_text(event, 1, frame, animation_start_time, timeline_entry["scroll_in_start"], horizontal_scroll_speed) row_y = vertical_y + row_height content_children.append(render_positioned_text(event_text, row_x, row_y, FONT_EVENT, COLOR_YELLOW)) - # Row 2: Countdown (red, CG-pixel-3x5) + # Row 2: Countdown (red) time_text = get_event_row_text(event, 2, frame, animation_start_time, timeline_entry["scroll_in_start"], horizontal_scroll_speed) row_y = vertical_y + (row_height * 2) content_children.append(render_positioned_text(time_text, row_x, row_y, FONT_EVENT, COLOR_RED)) From d48f063cdc17142c43987b364b29190eef4a3600 Mon Sep 17 00:00:00 2001 From: Chris Nourse Date: Sun, 15 Mar 2026 19:04:46 -0700 Subject: [PATCH 4/4] arcraiderstats: regenerate 1x and 2x preview images Co-Authored-By: Claude Opus 4.6 --- apps/arcraiderstats/arc_raiders_stats.webp | Bin 13252 -> 10530 bytes apps/arcraiderstats/arc_raiders_stats@2x.webp | Bin 16206 -> 15382 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/arcraiderstats/arc_raiders_stats.webp b/apps/arcraiderstats/arc_raiders_stats.webp index 0b4e78bef194a04d656dce51d82d60d05e3d1862..befc825fb94b322f452888d942ebfd37c2e2225e 100644 GIT binary patch literal 10530 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%0Du4Dp@MR)o( zOo@I&v5XJ=Qb|L8dh;a&SoDjVFJ*@j@z=H<7MeYltNmeNGd?ro?-3?D%>vKsEPUL9 z>SqED@unU=OQ7(L3^JPTbmJ7ILm6aAh6NL^zc4M(5rH2dLw4)rckdRN0+0X9^QVEo z|NX`cn0Xp&f@eL^^IzuxJl#B`!M!@5UlVKh(&&KB^#c=%&CX3BhEzjir}0nA&pjj2 z6KQQG7UKyxjSp6`)h{Gz{#?==ki$FbP1_3FEW5WcyjNH=nd7ITHm;r18E+H1upXYp zCu4SNI>Cpa=KKc|p=c8?{3CcY@mNOVKg9X3n%P<3FK_ZzfVX+H%0#|*Jj^iqUHu6- zugqmY9J+b_-iBWQ?#F{OTu)U!Fo`+ya;x>}69@=nR|6MtJFi zVAe=wx&z)yFz-fUP07ukx5+AgUwvk{R6|85K~Eb0!jsCs^5nt-8nBE#3lMb)c3|@^ zqUd&I3Icx>-VpAnN~=&$+#%!Hw?H3sq?=ii_y$wtzt+jmIsnF^g_&01vPiydmnBw{ zPZeqvbsi9YRm@3u!_z;&x%lk6p{@BomZ6@(`N*B1aKGefmdjXl6uj3apbzYJI46uv z$ltvAB>vdG=Um6Chp?@K&t&R-;ayVP-!legP43oIZnAibFEWWt>Xe_%NGEP0pI7x@ z)Fj_b51HSZ!YZy9EQPXIVmo^~c9CGG48za-JzIC{3FP1YRu@er_M$f@i=#=U*mJ%a z#sM#lVHx=b&AFK`PR%`q2cyCh$dl!KpIx`g==!*pkuLS-g4Fm9fdi3b3J#-t3>ee@ zo~!|K^IT}Ymxg9mJe84sN^|%i zDD6LFD{y0$O;@rk+z_F(px2s2&bHAu_~lw4%cJb0@>{ZU zlsC!GP0(W)%U@aclRRpQGUuUVbQqfo^kzj9@&Q-!*sGMs(nrgWU8PYEu}zHQ<0}vp zT=S!TZh3FjTnrwG-imW0hacm(NA*9|;k0x_tH(oZZD7l=H~-ygcKr3S`(1vxHncCp zOWol<9r^A`+gv6)YtGXW0-vs^to-YY{K+K2beMn2DhM1&wdn6NR+eJ(rEhx7UdU9o znPRvSvaZeDj)s&@V1?;mCP~2e3OR|Hl)IAzbACAay9yDAw(Ci-9BHdF*tzLt@%`#} z{C0=Q!mS6^nTJ_V`Js%8uhgs@F+P4Hi%QDjGjjYJ#Fzqh&!VpD6H@k74V&lD@k?hg zUM9pMRxB!`{BcrRz*ff}qq6fvX`2=h#sE4|U#|q&TrXDeW$SVDV#mjtJBx)O#KB_T z!jZ9WV;OkvB(}!d9_HaOjHQ*o>Z18LIsks*8F?U2B~RrE8jt7|)2X&YECG=hTBoag zZ6T#N#RQURC+`G{#4KW_i%UbRMJ0$N1*TIq=iR7jd$%7Q72wn6(3cqukvN20&SXr=NF0u<#cQMNg^NL z7A*q*OQhIa{1$9%u>K(Z;g3gHfBZY^K^h51=rCT%w{6t3;Ijzid9s5(ZoNhp4-m@* zeV403vpQIrO!db(b^4l4rMiuuV7<8Q=1bf>$&%Vl$Vg{Qi9q>T#pfTYy7K1!Gm`4Z zYpX8vvE}y?AB_~URi7Nm-r;uKlDN~!*v%LncTY$wE9L?n>eJy5U@Yw?6qeP4-$#7=XX5F(-Qk^iLr_?ck`407koy;(Wy=!Gmr_X zoBwv)p!^Vb(M_lTac0_#46#h~acg(-C%u;U`z>b?{;L8^Lv=lGAH>fGRg@N9<^%kp z+_UD##5j28pe_!fF4c#omWwS>j0oJdP0fqKi?rxQLQr3az53$+@IU5%K1lCpMLeuKr_om`=rJ#&;zv#q zGTdV_)Nhq|N4FN5-Rsh*f(zR6cUFW0hDD43X#(=^KW<`jos(?6v{WGk_mNcxy3lUZ Ngr(oE;_5&l{|5>P5@7%U diff --git a/apps/arcraiderstats/arc_raiders_stats@2x.webp b/apps/arcraiderstats/arc_raiders_stats@2x.webp index 779db4a67884a5e9631a263bc066e7d431787ce2..5788c6de5bb777d8cb0d91592daa7fec6b31134d 100644 GIT binary patch literal 15382 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 DzUGS? literal 16206 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 DdGL5c