From eebdac21a25e9b57d51bbe92e4197f5fe17e4a1c Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 21:25:19 -0700 Subject: [PATCH 01/10] Prevent modification of data schema --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 4d78862..28bc7ff 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,7 +32,7 @@ bundle exec jekyll serve --livereload ## Architecture -**Data-driven content:** Platform specs live in YAML files, not code. Most updates are data edits. +**Data-driven content:** Platform specs live in YAML files, not code. Most updates are data edits. Do NOT change the schema without explicit direction or approval since this data is also relied upon by 3rd parties. ``` _data/ From 3740d5fba0665df675741367353e206f9b2bd5ce Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 21:25:52 -0700 Subject: [PATCH 02/10] Update ordering of components --- _data/components.yml | 46 ++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/_data/components.yml b/_data/components.yml index 8cde205..dd96c6b 100644 --- a/_data/components.yml +++ b/_data/components.yml @@ -30,42 +30,42 @@ categories: name: Common Components color: gray items: + - id: cpp_standard + name: "C++ API/SDK" - id: python name: Python subtitle: "(built with ucs4 pre-3.x)" - - id: qt - name: Qt - id: pyqt name: PyQt - id: pyside name: "Qt for Python (PySide)" - - id: numpy - name: NumPy + - id: qt + name: Qt + - id: aces + name: ACES + - id: alembic + name: Alembic + - id: boost + name: Boost + - id: fbx + name: FBX - id: imath name: Imath first_year: 2021 + - id: numpy + name: NumPy + - id: onemkl + name: "oneMKL/MKL" + - id: onetbb + name: "oneTBB/TBB" + min_max: true + - id: opencolorio + name: OpenColorIO - id: openexr name: OpenEXR - - id: ptex - name: Ptex - id: opensubdiv name: OpenSubdiv - id: openvdb name: OpenVDB - - id: alembic - name: Alembic - - id: fbx - name: FBX - - id: opencolorio - name: OpenColorIO - - id: aces - name: ACES - - id: boost - name: Boost - - id: onetbb - name: "oneTBB/TBB" - min_max: true - - id: onemkl - name: "oneMKL/MKL" - - id: cpp_standard - name: "C++ API/SDK" + - id: ptex + name: Ptex From 9a655093847c9796ea81ece07e7e96d7ee81edd6 Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 21:40:43 -0700 Subject: [PATCH 03/10] Add card/table view toggle to platform history page --- assets/css/main.css | 13 +++++++++++++ assets/js/history-view-toggle.js | 27 +++++++++++++++++++++++++++ platform_history.html | 32 ++++++++++++++++++++++++++------ 3 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 assets/js/history-view-toggle.js diff --git a/assets/css/main.css b/assets/css/main.css index 944b249..904fe27 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -282,6 +282,19 @@ @apply bg-blue-50 dark:bg-blue-900/20 border border-blue-100 dark:border-blue-800/30 rounded-lg p-5; } + /* View toggle buttons */ + .view-toggle-btn { + @apply text-gray-500 dark:text-gray-400 bg-transparent cursor-pointer; + } + + .view-toggle-btn:hover { + @apply bg-gray-100 dark:bg-gray-700; + } + + .view-toggle-btn.active { + @apply bg-blue-600 dark:bg-blue-700 text-white; + } + /* Accordion styles */ .accordion-item { @apply border border-gray-200 dark:border-gray-700 rounded-lg mb-2; diff --git a/assets/js/history-view-toggle.js b/assets/js/history-view-toggle.js new file mode 100644 index 0000000..98b4c29 --- /dev/null +++ b/assets/js/history-view-toggle.js @@ -0,0 +1,27 @@ +// History page view toggle (Table / Cards) with localStorage persistence +(function() { + var STORAGE_KEY = 'historyView'; + var tableView = document.getElementById('table-view'); + var cardView = document.getElementById('card-view'); + var btnTable = document.getElementById('view-table'); + var btnCards = document.getElementById('view-cards'); + + if (!tableView || !cardView || !btnTable || !btnCards) return; + + function setView(view) { + var isTable = view === 'table'; + tableView.classList.toggle('hidden', !isTable); + cardView.classList.toggle('hidden', isTable); + btnTable.classList.toggle('active', isTable); + btnCards.classList.toggle('active', !isTable); + try { localStorage.setItem(STORAGE_KEY, view); } catch (e) {} + } + + btnTable.addEventListener('click', function() { setView('table'); }); + btnCards.addEventListener('click', function() { setView('cards'); }); + + // Initialize from saved preference (default: table) + var saved = 'table'; + try { saved = localStorage.getItem(STORAGE_KEY) || 'table'; } catch (e) {} + setView(saved); +})(); diff --git a/platform_history.html b/platform_history.html index 635a770..502a6d4 100644 --- a/platform_history.html +++ b/platform_history.html @@ -64,14 +64,32 @@

-
-

All Platforms

+
+ +

All Platforms

+ +
+ + +
+
+ +
+ {% include platform-table.html years=all_years %}
-
- {% for year in all_years %} - {% include year-card.html year=year %} - {% endfor %} +
@@ -85,3 +103,5 @@

Previous Status Updates

{% include note-popover-content.html %} + + From 9e1795052db8ffdb3265dc1b0b32146f9f86dd19 Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 21:59:19 -0700 Subject: [PATCH 04/10] Move table scrollbar to top on history page --- _includes/platform-table.html | 2 +- assets/css/main.css | 9 +++++++++ platform_history.html | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/_includes/platform-table.html b/_includes/platform-table.html index 0a1b845..57f2049 100644 --- a/_includes/platform-table.html +++ b/_includes/platform-table.html @@ -5,7 +5,7 @@ {% assign col_count = include.years | size | plus: 1 %} -
+
diff --git a/assets/css/main.css b/assets/css/main.css index 904fe27..e81e152 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -96,6 +96,15 @@ @apply border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden; } + /* Scrollbar at top variant (used on history page) */ + .platform-table-scrollbar-top .overflow-x-auto { + transform: rotateX(180deg); + } + + .platform-table-scrollbar-top .overflow-x-auto > table { + transform: rotateX(180deg); + } + /* Draft badge for non-final platform years */ .draft-badge { @apply ml-1 text-xs font-medium px-1.5 py-0.5 rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-300 align-middle; diff --git a/platform_history.html b/platform_history.html index 502a6d4..c293a39 100644 --- a/platform_history.html +++ b/platform_history.html @@ -81,7 +81,7 @@

All Platforms

- {% include platform-table.html years=all_years %} + {% include platform-table.html years=all_years scrollbar_top=true %}
diff --git a/assets/css/main.css b/assets/css/main.css index e81e152..38234f5 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -105,6 +105,44 @@ transform: rotateX(180deg); } + /* Compact table variant (used on history page) */ + .platform-table-compact .platform-table th { + @apply px-2 py-2 text-sm; + } + + .platform-table-compact .platform-table td { + @apply px-2 py-2 text-xs; + } + + .platform-table-compact .platform-table .category-header td { + @apply text-xs py-1.5; + } + + /* Sticky first column for compact table */ + .platform-table-compact .platform-table th:first-child, + .platform-table-compact .platform-table td:first-child { + position: sticky; + left: 0; + z-index: 1; + } + + .platform-table-compact .platform-table th:first-child { + @apply bg-blue-600 dark:bg-blue-800; + z-index: 2; + } + + .platform-table-compact .platform-table td:first-child { + @apply bg-white dark:bg-gray-900; + } + + .platform-table-compact .platform-table tr.row-alt td:first-child { + @apply bg-gray-50 dark:bg-gray-800; + } + + .platform-table-compact .platform-table .category-header td:first-child { + @apply bg-gray-200 dark:bg-gray-700; + } + /* Draft badge for non-final platform years */ .draft-badge { @apply ml-1 text-xs font-medium px-1.5 py-0.5 rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-300 align-middle; diff --git a/platform_history.html b/platform_history.html index c293a39..da367ac 100644 --- a/platform_history.html +++ b/platform_history.html @@ -81,7 +81,7 @@

All Platforms

- {% include platform-table.html years=all_years scrollbar_top=true %} + {% include platform-table.html years=all_years scrollbar_top=true compact=true %}
- + {% if include.compact %} + + {% for year in include.years %}{% endfor %} + {% else %} + + {% endif %} {% for item in category.items %} diff --git a/assets/css/main.css b/assets/css/main.css index 958936e..38234f5 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -139,10 +139,8 @@ @apply bg-gray-50 dark:bg-gray-800; } - .platform-table-compact .platform-table .category-header td { - position: sticky; - left: 0; - z-index: 1; + .platform-table-compact .platform-table .category-header td:first-child { + @apply bg-gray-200 dark:bg-gray-700; } /* Draft badge for non-final platform years */ From 1962852bf237594401290421dc60fc9be62ddcde Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 22:20:42 -0700 Subject: [PATCH 08/10] Fix cell coloring --- assets/css/main.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/main.css b/assets/css/main.css index 38234f5..2622cad 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -141,6 +141,7 @@ .platform-table-compact .platform-table .category-header td:first-child { @apply bg-gray-200 dark:bg-gray-700; + z-index: 2; } /* Draft badge for non-final platform years */ From 5f0a58e8a87de5c428a153d48106c250f55bd96c Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 22:23:18 -0700 Subject: [PATCH 09/10] Fix scrollbar styling in dark mode --- assets/css/main.css | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/assets/css/main.css b/assets/css/main.css index 2622cad..596dff4 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -8,6 +8,10 @@ line-height: 1.6; font-feature-settings: 'cv01', 'cv02'; } + + :is(.dark) { + color-scheme: dark; + } } @layer components { @@ -139,8 +143,11 @@ @apply bg-gray-50 dark:bg-gray-800; } - .platform-table-compact .platform-table .category-header td:first-child { + .platform-table-compact .platform-table .category-header td { @apply bg-gray-200 dark:bg-gray-700; + } + + .platform-table-compact .platform-table .category-header td:first-child { z-index: 2; } From 239dcf20e1b3b0acd26a2dbbdeb580a49bbf145c Mon Sep 17 00:00:00 2001 From: nickcannon Date: Sun, 8 Mar 2026 22:30:00 -0700 Subject: [PATCH 10/10] Removed old link and updated Useful Links layout on desktop --- _data/useful_links.yml | 7 +------ assets/css/main.css | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/_data/useful_links.yml b/_data/useful_links.yml index b0ca923..b48659b 100644 --- a/_data/useful_links.yml +++ b/_data/useful_links.yml @@ -13,12 +13,7 @@ description: "Ready-to-build containers implementing VFX Reference Platform compliant build environments." icon: "container" -- title: "DCC Tool Version Compatibility" - url: "https://docs.google.com/spreadsheets/d/1-8VdfspUBpkYJzfKKovI-H2bZeb5Wn3cuNPsq_Ho3S8/edit?usp=sharing" - description: "Track major digital content creation tool version compatibility with each platform year." - icon: "grid" - - title: "VFX Industry Build Matrix" - url: "https://docs.google.com/spreadsheets/d/1EwRlz5ZYObEOdBfIk8iTX5thlpTyEAfp3bxOgAfFOiU/edit?usp=sharing" + url: "http://vfxindustrybuildmatrix.aswf.io/" description: "Cross-reference of build configurations used across the VFX industry." icon: "matrix" diff --git a/assets/css/main.css b/assets/css/main.css index 596dff4..abada43 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -328,7 +328,7 @@ @media (min-width: 1024px) { .useful-links-grid > * { - width: calc(33.333% - 0.6667rem); + width: calc(50% - 0.5rem); } }
- - {{ category.name }} - + + {{ category.name }} + + + {{ category.name }} +