Hey @Sebastian,
That’s a cool idea! I’ll pass it along 
There’s a partial workaround with Canvas. It won’t give you a per-song column of absolute times, but it does cover the “when are we going to finish” part:
Projected end of set
Add a Label element and set its Label field to:
${new Date(now() + osc("/setlist/remainingTimeInSet") * 1000).toLocaleTimeString()}
This takes the current time, adds the remaining setlist time, and displays the resulting clock time. It updates live as you move through the set, so if you’re running long you’ll see the projected end time drift accordingly.
Countdown to a fixed end time
If you have a hard end time — say 22:00 — you can store it in a Shared Variable with a Script button:
const date = new Date();
date.setHours(22, 0, 0, 0); // 22:00:00.000 today
setShared("timerEnd", date.getTime());
Then a Label to display the countdown:
${formatDuration((shared("timerEnd") - now()) / 1000)}
And if you want it to warn you visually, enable the Dynamic toggle on that Label’s Background Color and use:
${shared("timerEnd") - now() < 5 * 60 * 1000 ? "yellow" : "gray"}
Pressing the button begins the countdown.
So you end up with “we’re projected to finish at X” right next to “we have Y left until our slot ends”.
If your breaks aren’t part of the setlist, the projected end time will be too optimistic. You can add them as non-song entries — for example a locator named:
Set Break [nosong] [20:00]
The [nosong] attribute keeps it out of the song count and numbering, but the duration override still counts toward the total setlist time, so the remaining time and the projected end stay realistic.
Would that work for your use case in the meantime?