Yes, sadly difficult.
I know you talk for example about first and second hour on day Mardi.
I know it is easy to see as a human, that L1.G111 and L1.G112 can get a span in the L1.G11 table.
But it is very difficult to detect that, because there are at least 3 problems i need to check:
- it is only working if both have got the same duration. (in this case yes. easy to check)
- it is only working if no other activity of the same group/year already started earlier or will start later (very difficult to detect)
- it is only working if the same starting time activities have got the same duration. (i guess easy to check)
For example have a look at group L1.S1 at day Mardi first and second hour. As you can see group L1.G12 has only duration 1, but the other have got duration 2. So it is impossible to span them.
This problem is easy to check, (since it is checkable with "rule 1").
But it will be very difficult to detect this problem, if the L1.G12 activity starts in the second hour. (It will be also difficult if it starts earlier, for example in hour "0" with duration 2. Than a span will be also impossible.)
I need to check for those impossible span problem if i want to do spans in timetables. But it is difficult to code that.