diff --git a/Neon Vision Editor.xcodeproj/project.pbxproj b/Neon Vision Editor.xcodeproj/project.pbxproj index b48c019..ccb7e85 100644 --- a/Neon Vision Editor.xcodeproj/project.pbxproj +++ b/Neon Vision Editor.xcodeproj/project.pbxproj @@ -361,7 +361,7 @@ CODE_SIGNING_ALLOWED = YES; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 496; + CURRENT_PROJECT_VERSION = 497; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = CS727NF72U; ENABLE_APP_SANDBOX = YES; @@ -444,7 +444,7 @@ CODE_SIGNING_ALLOWED = YES; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 496; + CURRENT_PROJECT_VERSION = 497; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = CS727NF72U; ENABLE_APP_SANDBOX = YES; diff --git a/README.md b/README.md index 54a6c24..deac524 100644 --- a/README.md +++ b/README.md @@ -151,12 +151,12 @@

Styled line chart shows per-release totals with 14-day traffic counters for clones and views.

- Git clones (14d) - GitHub views (14d) + Git clones (14d) + GitHub views (14d)

- Clone snapshot (UTC) - View snapshot (UTC) + Clone snapshot (UTC) + View snapshot (UTC)

## Project Docs diff --git a/docs/images/release-download-trend.svg b/docs/images/release-download-trend.svg index 42a701b..9a0cadf 100644 --- a/docs/images/release-download-trend.svg +++ b/docs/images/release-download-trend.svg @@ -1,8 +1,8 @@ - + GitHub Release Downloads and Traffic Trend Line chart of release downloads with 14-day traffic bars for clones and views. - + @@ -28,25 +28,25 @@ - - + + GitHub Release Downloads Snapshot: 2026-03-11 - - - - + + + + - 0 - 7 - 14 - 21 + 0 + 7 + 14 + 21 28 - - - - - - - - - v0.4.31 - v0.4.32 - v0.4.33 - v0.4.34 - v0.5.0 - v0.5.1 - v0.5.2 - v0.5.3 - 19 - 25 - 15 - 17 - 17 - 16 - 20 - 19 + + + + + + + + + v0.4.31 + v0.4.32 + v0.4.33 + v0.4.34 + v0.5.0 + v0.5.1 + v0.5.2 + v0.5.3 + 19 + 25 + 15 + 17 + 17 + 16 + 20 + 19 Release trend line with highlighted points - - Repository Traffic (last 14 days) - Clones: 2624 - - - Views: 865 - - - - - - 0 - 1400 - 2800 - Shared scale: 0 to 2800 events in the last 14 days. + + Repository Traffic (last 14 days) + Clones: 2624 + + + Views: 865 + + + + + + 0 + 1400 + 2800 + Shared scale: 0 to 2800 events in the last 14 days. diff --git a/scripts/update_download_metrics.py b/scripts/update_download_metrics.py index a20a93e..b0ec114 100755 --- a/scripts/update_download_metrics.py +++ b/scripts/update_download_metrics.py @@ -219,11 +219,11 @@ def y_top(max_value: int, ticks: int = 4) -> int: def generate_svg(points: list[ReleasePoint], clone_total: int, view_total: int, snapshot_date: str) -> str: width = 1200 - height = 560 + height = 620 left = 130 right = 1070 top = 120 - bottom = 330 + bottom = 320 max_downloads = max(p.downloads for p in points) top_value = y_top(max_downloads, ticks=4) @@ -266,7 +266,7 @@ def generate_svg(points: list[ReleasePoint], clone_total: int, view_total: int, f' ' ) x_labels.append( - f' ' f"{point.tag}" ) @@ -280,15 +280,15 @@ def generate_svg(points: list[ReleasePoint], clone_total: int, view_total: int, polyline_points = " ".join(f"{x:.1f},{y:.1f}" for x, y in coords) clone_panel: list[str] = [ - ' ', - f' Repository Traffic (last {CLONES_WINDOW_DAYS} days)', + ' ', + f' Repository Traffic (last {CLONES_WINDOW_DAYS} days)', ] panel_left = 86 panel_right = 1110 - clone_bar_top = 442 - clone_bar_bottom = 460 - view_bar_top = 474 - view_bar_bottom = 492 + clone_bar_top = 450 + clone_bar_bottom = 476 + view_bar_top = 510 + view_bar_bottom = 536 track_width = panel_right - panel_left traffic_scale_max = max(100, y_top(max(1, clone_total, view_total), ticks=4)) clone_fill_ratio = min(1.0, clone_total / traffic_scale_max) @@ -299,27 +299,27 @@ def generate_svg(points: list[ReleasePoint], clone_total: int, view_total: int, mid_x = panel_left + (track_width * 0.5) clone_panel.extend( [ - f' Clones: {clone_total}', - f' ', - f' ', - f' Views: {view_total}', - f' ', - f' ', - f' ', - f' ', - f' ', - f' 0', - f' {mid_value}', - f' {traffic_scale_max}', - f' Shared scale: 0 to {traffic_scale_max} events in the last {CLONES_WINDOW_DAYS} days.', + f' Clones: {clone_total}', + f' ', + f' ', + f' Views: {view_total}', + f' ', + f' ', + f' ', + f' ', + f' ', + f' 0', + f' {mid_value}', + f' {traffic_scale_max}', + f' Shared scale: 0 to {traffic_scale_max} events in the last {CLONES_WINDOW_DAYS} days.', ] ) - return """ + return """ GitHub Release Downloads and Traffic Trend Line chart of release downloads with 14-day traffic bars for clones and views. - + @@ -345,8 +345,8 @@ def generate_svg(points: list[ReleasePoint], clone_total: int, view_total: int, - - + + GitHub Release Downloads Snapshot: SNAPSHOT_DATE @@ -425,11 +425,15 @@ def parse_existing_view_snapshot(content: str) -> str | None: def shields_badge(label: str, message: str, color: str, style: str = "for-the-badge") -> str: - encoded_label = urllib.parse.quote(label, safe="") - encoded_message = urllib.parse.quote(message, safe="") - return ( - f"https://img.shields.io/badge/{encoded_label}-{encoded_message}-{color}?style={style}" + query = urllib.parse.urlencode( + { + "label": label, + "message": message, + "color": color, + "style": style, + } ) + return f"https://img.shields.io/static/v1?{query}" def update_readme(