Restructure student tracks by cross-reference chains, add project rules
Student tracks restructured based on document cross-reference analysis: - Track 1 "Gemalen & CRC Keten": Grace→Kevin→Robin→Adriaan (chain) - Track 2 "Condition Monitoring": Kevin→Yamai (fork from Track 1) - Track 3 "Zuivering & Beluchting": Noa‖Elise (parallel, same problem) - Track 4 "EVOLV Reactor Model": Pieter (standalone, no student cross-refs) - Track 5 "IoT & ICT Infra": Bart→Fontys ICT→Fontys TOGAF (chain) Inter-student dependencies added (7 new): - Grace→Kevin, Kevin→Robin, Robin→Adriaan (Track 1 chain) - Kevin→Yamai (Track 2 fork) - Bart→Fontys ICT→Fontys TOGAF (Track 5 chain) CLAUDE.md: Added "Metro Map Data Rules" section documenting: - Thema=line, Project=station, speerpunt=track grouping - Student work rules: cross-references determine track sharing - Identified chains with evidence (reference counts from source docs) - Grid alignment requirements MetroCanvas: Truncate long station labels to prevent overlap (max ~20 chars based on grid spacing, with ellipsis) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -816,15 +816,19 @@ const renderDimension = (dimData, opacity, parentGroup) => {
|
||||
.attr('opacity', 0.5)
|
||||
.text('[○]')
|
||||
|
||||
// Station label
|
||||
// Station label (truncated to prevent overlap, max ~20 chars)
|
||||
nodeGroups.append('text')
|
||||
.attr('x', 0)
|
||||
.attr('y', 28)
|
||||
.attr('text-anchor', 'middle')
|
||||
.attr('fill', '#e8e8e8')
|
||||
.attr('font-family', "'VT323', monospace")
|
||||
.attr('font-size', '14px')
|
||||
.text(d => d.name)
|
||||
.attr('font-size', '13px')
|
||||
.text(d => {
|
||||
const name = d.name ?? ''
|
||||
const maxLen = Math.max(12, Math.floor(GRID_STEP_X / 10))
|
||||
return name.length > maxLen ? name.slice(0, maxLen - 1) + '…' : name
|
||||
})
|
||||
|
||||
// Status badge
|
||||
nodeGroups.filter(d => d.badge)
|
||||
|
||||
Reference in New Issue
Block a user