Ok, I played a few hours, looked at the new resource object in tabular mode and came to the following solution.
Note that I removed the 'display' attribute, to make sure DayPilot looks at the columns[] definition, like in Legacy mode.
rowHeaderColumns : [
{ name: 'Column1' , width: 150, sort: 'column1'} ,
{ name: 'Column2' , width: 75 , sort: 'column2'},
{ name: 'Column3' , width: 75 , sort: 'column3'}
];
resources : [{
id: 1,
columns: [
{ text: 'abc' } // This would appear as the first rowHeaderColumn (only in Tabular mode)
{ text: 'def', cssClass: 'dark' }, // This would appear in the second rowHeaderColumn
{ text: 'ghi', cssClass: 'light' } // This would appear in the third rowHeaderColumn
],
tags: { column1: 'abc', // These are added to use built-in sorting
column2: 'def', // These are added to use built-in sorting
column3: 'ghi' } // These are added to use built-in sorting
}];
So it is a slightly different interpretation.
What I don't know is whether this is a correct solution, or that I found a non-supported way by mixing the two modes and could possibly break in future release.