Skip to content
Merged
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,8 @@ npm-debug.log*
*.tmp
*.bak

# Ignore Claude
.claude

# Archived reference
v1-reference/
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ url: "https://vfxplatform.com"
baseurl: ""

# Platform year configuration
current_year: 2026
current_year: 2027
supported_years_count: 4

# Build settings
Expand Down
61 changes: 61 additions & 0 deletions _data/platforms/CY2027.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
year: 2027
status: draft
last_updated: "2026-04-08"

linux:
gcc:
version: "14.2"
min_max: true
glibc:
version: "2.34"
min_max: true

macos:
deployment_target:
version: "15.0"
note: footnote-macos

windows:
visual_studio:
version: "Visual Studio 2022 v17.14 or later"
sdk:
version: "10.0.22621 or later"

components:
python:
version: "3.13.x"
qt:
version: "6.8.x"
pyqt:
version: "6.8.x"
pyside:
version: "6.8.x"
numpy:
version: "2.4.x"
imath:
version: "3.2.x"
openexr:
version: "3.5.x"
ptex:
version: "2.5.x"
opensubdiv:
version: "3.8.x"
openvdb:
version: "14.x"
alembic:
version: "1.8.x"
fbx:
version: "2020.2 - 2020.latest"
opencolorio:
version: "2.6.x"
aces:
version: "2.0"
boost:
version: "1.91"
onetbb:
version: "2022.x"
min_max: true
onemkl:
version: "2025"
cpp_standard:
version: "C++20"
5 changes: 5 additions & 0 deletions _data/status_updates.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
updates:
- date: "2026-04-12"
display_date: "12th April 2026"
content: |
CY2027 Draft published, with a number of significant changes to XXXXXXXXXXX. We are currently soliciting feedback on this Draft so please either send to [feedback@vfxplatform.com](mailto:feedback@vfxplatform.com) or share on [vfx-platform-discuss](https://groups.google.com/g/vfx-platform-discuss).

- date: "2025-11-05"
display_date: "5th November 2025"
content: |
Expand Down
4 changes: 4 additions & 0 deletions assets/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@
@apply bg-gray-50 dark:bg-gray-800/30;
}

.platform-table tr.row-alt td.version-changed {
@apply bg-amber-100 dark:bg-amber-900/40;
}

.platform-table .category-header td {
@apply font-bold text-left text-sm tracking-wider bg-gray-200 dark:bg-gray-700/70 py-2;
color: rgb(var(--color-text-heading));
Expand Down
9 changes: 5 additions & 4 deletions assets/js/year-comparison.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@
// Populate select dropdowns
function populateSelects() {
years.forEach(function(year, index) {
const option1 = new Option(year, year, index === 0, index === 0);
const option2 = new Option(year, year, index === 1, index === 1);
const label = platformData[year] && platformData[year].status !== 'final' ? year + ' (Draft)' : year;
const option1 = new Option(label, year, index === 0, index === 0);
const option2 = new Option(label, year, index === 1, index === 1);
year1Select.add(option1);
year2Select.add(option2);
});
Expand Down Expand Up @@ -99,8 +100,8 @@
let html = '<div class="platform-table-wrapper"><div class="overflow-x-auto"><table class="platform-table"><thead><tr>';
html += '<th class="text-left">Category</th>';
html += '<th class="text-left">Component</th>';
html += '<th>' + year1 + '</th>';
html += '<th>' + year2 + '</th>';
html += '<th>' + year1 + (platformData[year1] && platformData[year1].status !== 'final' ? ' <span class="draft-badge">DRAFT</span>' : '') + '</th>';
html += '<th>' + year2 + (platformData[year2] && platformData[year2].status !== 'final' ? ' <span class="draft-badge">DRAFT</span>' : '') + '</th>';
html += '</tr></thead><tbody>';

if (filtered.length === 0) {
Expand Down
12 changes: 10 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
---

{% assign current_year = site.current_year %}
{% assign latest_final_year = 0 %}
{% for platform in site.data.platforms %}
{% assign year_num = platform[0] | remove: "CY" | plus: 0 %}
{% assign year_data = platform[1] %}
{% if year_data.status == 'final' and year_num > latest_final_year %}
{% assign latest_final_year = year_num %}
{% endif %}
{% endfor %}
{% assign supported_years = "" | split: "" %}
{% assign final_count = 0 %}
{% assign max_finals = site.supported_years_count %}
Expand Down Expand Up @@ -62,7 +70,7 @@ <h2>Current Status</h2>
</div>

<p class="mb-6 text-gray-600 dark:text-gray-300">
The Calendar Year {{ current_year }} (CY{{ current_year }}) Reference Platform is the target for all major software releases in {{ current_year }}.
The Calendar Year {{ latest_final_year }} (CY{{ latest_final_year }}) Reference Platform is the target for all major software releases in {{ latest_final_year }}.
</p>

{% include status-updates.html limit=4 style="cards" %}
Expand Down Expand Up @@ -130,7 +138,7 @@ <h2>Support Guidance</h2>
<h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100">Support Window</h3>
</div>
<p class="text-sm text-gray-600 dark:text-gray-300 leading-relaxed">
Providers of software libraries focused on VFX and animation content creation should aim to support their releases for the current calendar year and the three preceding years with compatible updates. Studios and end users should have no expectation of support for older libraries.
Providers of open source software libraries focused on VFX and animation content creation should aim to support their releases for the current calendar year and the three preceding years with compatible updates. Studios and end users should have no expectation of support for older libraries.
</p>
</div>

Expand Down
Loading