Mouseover any of the nodes in this network to see the incoming links (dependants) in green and the outgoing links (dependencies) in red.
Compare to the static version.
forked from mbostock's block: Hierarchical Edge Bundling
license: | |
height: 1800 | |
border: no | |
scrolling: no |
Mouseover any of the nodes in this network to see the incoming links (dependants) in green and the outgoing links (dependencies) in red.
Compare to the static version.
forked from mbostock's block: Hierarchical Edge Bundling
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.someText { | |
font: 300 13px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
fill: #fff; | |
} | |
.node { | |
font: 300 11px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
fill: #bbb; | |
} | |
.node:hover { | |
fill: #000; | |
} | |
.link { | |
stroke: steelblue; | |
stroke-opacity: 0.4; | |
fill: none; | |
pointer-events: none; | |
} | |
.node:hover, | |
.node--source, | |
.node--target { | |
font-weight: 700; | |
} | |
.node--source { | |
fill: #2ca02c; | |
} | |
.node--target { | |
fill: #d62728; | |
} | |
.link--source, | |
.link--target { | |
stroke-opacity: 1; | |
stroke-width: 2px; | |
} | |
.link--source { | |
stroke: #d62728; | |
} | |
.link--target { | |
stroke: #2ca02c; | |
} | |
</style> | |
<body> | |
<script src="https://d3js.org/d3.v4.min.js"></script> | |
<script> | |
var diameter = 1200, | |
radius = diameter / 2, | |
innerRadius = radius - 380; | |
var cluster = d3.cluster() | |
.size([360, innerRadius]); | |
var line = d3.radialLine() | |
.curve(d3.curveBundle.beta(0.85)) | |
.radius(function(d) { | |
return d.y; | |
}) | |
.angle(function(d) { | |
return d.x / 180 * Math.PI; | |
}); | |
var svg = d3.select("body").append("svg") | |
.attr("width", diameter) | |
.attr("height", diameter) | |
.append("g") | |
.attr("transform", "translate(" + radius + "," + radius + ")"); | |
var link = svg.append("g").selectAll(".link"), | |
node = svg.append("g").selectAll(".node"); | |
d3.json("https://pdmsdemo.co.uk/?venueCode=EAT", function(error, recordset) { | |
// console.log(data); | |
classes = JSON.parse(recordset[0]["JSON_F52E2B61-18A1-11d1-B105-00805F49916B"]) | |
// grab the data and parse as JSON object | |
// d3.json("milestones", function(error, classes) { | |
if (error) throw error; | |
var root = packageHierarchy(classes) | |
.sum(function(d) { | |
return d.size; | |
}); | |
var nodes = cluster(root); | |
link = link | |
.data(packageImports(root.leaves())) | |
.enter().append("path") | |
.each(function(d) { | |
d.source = d[0], d.target = d[d.length - 1]; | |
}) | |
.attr("class", "link") | |
.attr("d", line); | |
var groupData = svg.selectAll("g.group") | |
.data(root.descendants().filter(function(d) { | |
return d.depth == 1; | |
})) | |
.enter().append("group") | |
.attr("class", "group"); | |
// swap the start and end angles here on the arc for anything between 90 and 180 | |
var groupArc = d3.arc() | |
.innerRadius(innerRadius + 15) | |
.outerRadius(innerRadius + 30) | |
.startAngle( | |
function(d) { | |
return (findStartAngle(d.__data__.descendants()) - 2) * Math.PI / 180; | |
} | |
) | |
.endAngle( | |
function(d) { | |
return (findEndAngle(d.__data__.descendants()) + 2) * Math.PI / 180; | |
}); | |
var arc_group = svg.selectAll("g.arc") | |
.data(groupData._groups[0]) | |
.enter().append("svg:path") | |
.attr("d", groupArc) | |
.attr("class", "groupArc") | |
.style("fill", "#1f77b4") | |
.style("fill-opacity", 0.5) | |
.each(function(d, i) { | |
//Search pattern for everything between the start and the first capital L | |
var firstArcSection = /(^.+?)L/; | |
//Grab everything up to the first Line statement | |
var newArc = firstArcSection.exec(d3.select(this).attr("d"))[1]; | |
//Replace all the commas so that IE can handle it | |
newArc = newArc.replace(/,/g, " "); | |
//If the start angle lies between 90 and 270 | |
//flip the end and start position | |
var ea = groupArc.startAngle()(d) * 180 / Math.PI; | |
if (ea > 90 && ea < 270) { | |
// if(true){ | |
var startLoc = /M(.*?)A/, //Everything between the first capital M and first capital A | |
middleLoc = /A(.*?)0 0 1/, //Everything between the first capital A and 0 0 1 | |
endLoc = /0 0 1 (.*?)$/; //Everything between the first 0 0 1 and the end of the string (denoted by $); | |
//Flip the direction of the arc by switching the start en end point (and sweep flag) | |
//of those elements that are below the horizontal line | |
var newStart = endLoc.exec(newArc)[1]; | |
var newEnd = startLoc.exec(newArc)[1]; | |
var middleSec = middleLoc.exec(newArc)[1]; | |
//Build up the new arc notation, set the sweep-flag to 0 | |
newArc = "M" + newStart + "A" + middleSec + "0 0 0 " + newEnd; | |
} //if | |
//Create a new invisible arc that the text can flow along | |
svg.append("path") | |
.attr("class", "hiddenDonutArcs") | |
.attr("id", d.__data__.data.name) | |
.attr("d", newArc) | |
.style("fill", "none"); | |
}); | |
//Append the label names on the outside | |
svg.selectAll(".someText") | |
.data(groupData._groups[0]) | |
.enter().append("text") | |
.attr("class", "someText") | |
.attr("dy", function(d, i) { | |
var ea = groupArc.startAngle()(d) * 180 / Math.PI; | |
if (ea > 90 && ea < 270) return -4 | |
else return 12; | |
}) | |
.append("textPath") | |
.attr("startOffset", "50%") | |
.style("text-anchor", "middle") | |
.attr("xlink:href", function(d, i) { | |
return "#" + d.__data__.data.name; | |
}) | |
.text(function(d) { | |
return d.__data__.data.children[0]['heading']; | |
}); | |
node = node.data(root.leaves()) | |
.enter() | |
.append("g") | |
.attr("class", "node"); | |
node | |
.append("text") | |
.attr("id", function(d) { | |
return "node-" + d.data.name; | |
}) | |
.attr("dy", "0.31em") | |
.attr("transform", function(d) { | |
return "rotate(" + (d.x - 90) + ")translate(" + (d.y + 35) + ",0)" + (d.x < 180 ? "" : "rotate(180)"); | |
}) | |
.attr("text-anchor", function(d) { | |
return d.x < 180 ? "start" : "end"; | |
}) | |
.text(function(d) { | |
return d.data.description; | |
}) | |
.on("mouseover", mouseovered) | |
.on("mouseout", mouseouted) | |
node.append("circle") | |
.attr("cx", 0) | |
.attr("cy", 0) | |
.attr("r", 5) | |
.attr("transform", function(d) { | |
return "rotate(" + (d.x - 90) + ")translate(" + (d.y + 8) + ",0)" + (d.x < 180 ? "" : "rotate(180)"); | |
}) | |
.style("fill", function(d) { | |
return d.data.rag | |
}); | |
}); | |
function mouseovered(d) { | |
node | |
.each(function(n) { | |
n.target = n.source = false; | |
}); | |
link | |
.classed("link--target", function(l) { | |
if (l.target === d) return l.source.source = true; | |
}) | |
.classed("link--source", function(l) { | |
if (l.source === d) return l.target.target = true; | |
}) | |
.filter(function(l) { | |
return l.target === d || l.source === d; | |
}) | |
.raise(); | |
node | |
.classed("node--target", function(n) { | |
return n.target; | |
}) | |
.classed("node--source", function(n) { | |
return n.source; | |
}); | |
} | |
function mouseouted(d) { | |
link | |
.classed("link--target", false) | |
.classed("link--source", false); | |
node | |
.classed("node--target", false) | |
.classed("node--source", false); | |
} | |
function packageHierarchy(classes) { | |
var map = {}; | |
function find(name, data) { | |
var node = map[name], | |
i; | |
if (!node) { | |
node = map[name] = data || { | |
name: name, | |
heading: '', | |
children: [] | |
}; | |
if (name.length) { | |
node.parent = find(name.substring(0, i = name.lastIndexOf("."))); | |
node.parent.children.push(node); | |
if (!node.parent.heading.length) { | |
node.parent.heading = node.heading | |
}; | |
// propagate the heading up the hierarchy if there isn't one. | |
node.key = name.substring(i + 1); | |
} | |
} | |
return node; | |
} | |
classes.forEach(function(d) { | |
find(d.name, d); | |
}); | |
return d3.hierarchy(map[""]); | |
} | |
// Return a list of imports for the given array of nodes. | |
function packageImports(nodes) { | |
var map = {}, | |
imports = []; | |
// Compute a map from name to node. | |
nodes.forEach(function(d) { | |
map[d.data.name] = d; | |
}); | |
// For each import, construct a link from the source to target node. | |
nodes.forEach(function(d) { | |
if (d.data.imports) d.data.imports.forEach(function(i) { | |
imports.push(map[d.data.name].path(map[i])); | |
}); | |
}); | |
return imports; | |
} | |
function findStartAngle(children) { | |
var min = children[0].x; | |
children.forEach(function(d) { | |
if (d.x < min) | |
min = d.x; | |
}); | |
return min; | |
} | |
function findEndAngle(children) { | |
var max = children[0].x; | |
children.forEach(function(d) { | |
if (d.x > max) | |
max = d.x; | |
}); | |
return max; | |
} | |
</script> |
[{"name":"01.00.01","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Orange","description":"01.00.01-Permanent Construction Award"}, | |
{"name":"01.00.02","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Blue","description":"01.00.02-Permanent Construction Design Complete","imports": ["01.00.01"]}, | |
{"name":"01.00.03","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Green","description":"01.00.03-Venue Use Agreements Signed","imports": ["01.00.02"]}, | |
{"name":"01.00.04","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Orange","description":"01.00.04-Overlay Book 3 Complete","imports": ["01.00.02"]}, | |
{"name":"01.00.05","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Blue","description":"01.00.05-Overlay Procurement Complete","imports": ["01.00.04"]}, | |
{"name":"01.00.06","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Green","description":"01.00.06-Overlay Book 4 Complete","imports": ["01.00.04"]}, | |
{"name":"01.00.07","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Orange","description":"01.00.07-Permanent Costruction Finish","imports": ["01.00.02"]}, | |
{"name":"01.00.08","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Blue","description":"01.00.08-Non Exclusive Use Period - Start","imports": ["01.00.05","01.00.03"]}, | |
{"name":"01.00.09","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Green","description":"01.00.09-Handover: Venue Owner to Lima2019","imports": ["01.00.05","01.00.03"]}, | |
{"name":"01.00.10","heading":"Venue Construction","sub-heading":"Venue Pre Installation","rag":"Orange","description":"01.00.10-Exclusive Use Period - Start","imports": ["01.00.07","01.00.05","01.00.03"]}, | |
{"name":"01.01.01","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Blue","description":"01.01.01-Overlay Fit Out - Start","imports": ["01.00.05","01.00.03","01.00.08","01.00.09"]}, | |
{"name":"01.01.02","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Green","description":"01.01.02-All Civil Works Complete (Temp prep for overlay)","imports": ["01.00.05","01.00.03","01.00.08","01.00.09"]}, | |
{"name":"01.01.03","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Orange","description":"01.01.03-Overlay Fit Out - Finish","imports": ["01.01.01"]}, | |
{"name":"01.01.04","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Blue","description":"01.01.04-Overlay Dismantling - Start","imports": ["05.01.14"]}, | |
{"name":"01.01.05","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Green","description":"01.01.05-Overlay Dismantling - Finish","imports": ["05.01.17"]}, | |
{"name":"01.01.06","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Orange","description":"01.01.06-Reinstatement - Start","imports": ["05.01.14"]}, | |
{"name":"01.01.07","heading":"Venue Construction","sub-heading":"Overlay Installation","rag":"Blue","description":"01.01.07-Reinstatement - Finish","imports": ["05.01.19"]}, | |
{"name":"01.02.01","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Green","description":"01.02.01-Videoboard structure completed and available for rigging installation","imports": ["01.01.01"]}, | |
{"name":"01.02.02","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Orange","description":"01.02.02-Public scoreboard structure completed and available for rigging installation","imports": ["01.01.01"]}, | |
{"name":"01.02.03","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Blue","description":"01.02.03-FOP Space Handover to Technology for Timing and Scoring Installation","imports": ["01.01.02","01.02.01","01.02.02"]}, | |
{"name":"01.02.04","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Green","description":"01.02.04-FOP rigging complete","imports": ["01.02.01","01.02.02","01.02.03"]}, | |
{"name":"01.02.05","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Orange","description":"01.02.05-Games Critical CCF Spaces Fitout complete and handed over to TEC","imports": ["01.01.01"]}, | |
{"name":"01.02.06","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Blue","description":"01.02.06-Technology Backbone and associated power pathways to Games Critical CCF complete","imports": ["01.01.01"]}, | |
{"name":"01.02.07","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Green","description":"01.02.07-All Remaining CCF Spaces Fitout complete and handed over to TEC","imports": ["01.01.01","01.02.11"]}, | |
{"name":"01.02.08","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Orange","description":"01.02.08-All Remaining Technology Backbone and associated power cable pathways complete","imports": ["01.01.01","01.02.11"]}, | |
{"name":"01.02.09","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Blue","description":"01.02.09-All TEC remaining horizontal cable pathways complete","imports": ["01.01.01"]}, | |
{"name":"01.02.10","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Green","description":"01.02.10-COW Spaces Available","imports": ["01.01.01"]}, | |
{"name":"01.02.11","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Orange","description":"01.02.11-Public Address structure installed","imports": ["01.01.01"]}, | |
{"name":"01.02.12","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Blue","description":"01.02.12-Venue Media Centre Space Handover to Technology","imports": ["01.01.01"]}, | |
{"name":"01.02.13","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Green","description":"01.02.13-TER Handover to Technology / Telecom Provider for Installation","imports": ["01.01.01"]}, | |
{"name":"01.02.14","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Orange","description":"01.02.14-Press Tribunes Handover to Technology","imports": ["01.01.01"]}, | |
{"name":"01.02.15","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Blue","description":"01.02.15-All Broadcast Commentary Positions Handover to Technology","imports": ["01.01.01"]}, | |
{"name":"01.02.16","heading":"Venue Construction","sub-heading":"Overlay facilities available to Technology for fit out","rag":"Green","description":"01.02.16-Broadcast Compound Overlay Installation Complete and Space Available for Handover to Technology","imports": ["01.01.01"]}, | |
{"name":"01.03.01","heading":"Venue Construction","sub-heading":"Cable Pathways","rag":"Orange","description":"01.03.01-TEC underground conduits & secure cable pathways to TER available for fibre ingress","imports": ["01.01.01"]}, | |
{"name":"01.03.02","heading":"Venue Construction","sub-heading":"Cable Pathways","rag":"Blue","description":"01.03.02-All Power cable pathways complete","imports": ["01.01.01"]}, | |
{"name":"01.04.01","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Green","description":"01.04.01-Primary Utility power supply available to Venue (13,8kV/380V)","imports": ["01.01.01"]}, | |
{"name":"01.04.02","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Orange","description":"01.04.02-Secondary Utility power supply available to Venue (13,8kV/380V)","imports": ["01.01.01"]}, | |
{"name":"01.04.03","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Blue","description":"01.04.03-Temporary Generation as 'Primary Supply' available","imports": ["01.01.01"]}, | |
{"name":"01.04.04","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Green","description":"01.04.04-All permanent and temporary LV power at Games Operational Level","imports": ["01.03.02"]}, | |
{"name":"01.04.05","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Orange","description":"01.04.05-Pre Games Power for TER","imports": ["01.04.01","01.04.03"]}, | |
{"name":"01.04.06","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Blue","description":"01.04.06-TEC temporary power installed and operational (excluding Standby Supply)","imports": ["01.04.03"]}, | |
{"name":"01.04.07","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Green","description":"01.04.07-Pre Games Power for Games Critical CCF","imports": ["01.04.01","01.04.03"]}, | |
{"name":"01.04.08","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Orange","description":"01.04.08-Pre Games Power for Remaining TEC Spaces","imports": ["01.04.01","01.04.03"]}, | |
{"name":"01.04.09","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Blue","description":"01.04.09-Non Broadcast Venue Power (fail-over) Tests Complete","imports": ["01.04.01","01.04.02","01.04.03","01.04.04"]}, | |
{"name":"01.04.10","heading":"Venue Construction","sub-heading":"Power available to Technology for fit out","rag":"Green","description":"01.04.10-Broadcast Power (fail-over) tests and comissioning","imports": ["03.01.12"]}, | |
{"name":"02.01.01","heading":"Technology","sub-heading":"Technology","rag":"Orange","description":"02.01.01-All Backbone cabling installed (TER to CCF)","imports": ["01.02.12","01.02.14","01.02.13"]}, | |
{"name":"02.01.02","heading":"Technology","sub-heading":"Technology","rag":"Blue","description":"02.01.02-Handover of VLAN to Press Operations (for cabling)","imports": ["02.01.01"]}, | |
{"name":"02.01.03","heading":"Technology","sub-heading":"Technology","rag":"Green","description":"02.01.03-Horizontal Cabling installed","imports": ["02.01.01"]}, | |
{"name":"02.01.04","heading":"Technology","sub-heading":"Technology","rag":"Orange","description":"02.01.04-OVR End user equipment installed/ OVR Handover","imports": ["02.01.01"]}, | |
{"name":"02.01.05","heading":"Technology","sub-heading":"Technology","rag":"Blue","description":"02.01.05-Press tribune End user equipment installed (incl. CIS and INFO)","imports": ["02.01.01","01.02.14"]}, | |
{"name":"02.01.06","heading":"Technology","sub-heading":"Technology","rag":"Green","description":"02.01.06-All Other Broadcast Spaces End User Equipment installed","imports": ["02.01.01"]}, | |
{"name":"02.01.07","heading":"Technology","sub-heading":"Technology","rag":"Orange","description":"02.01.07-TER Operational","imports": ["02.01.16"]}, | |
{"name":"02.01.08","heading":"Technology","sub-heading":"Technology","rag":"Blue","description":"02.01.08-All other spaces Operational (Games & Admin)","imports": ["02.01.03","02.01.07"]}, | |
{"name":"02.01.09","heading":"Technology","sub-heading":"Technology","rag":"Green","description":"02.01.09-All Mobile Services Operational","imports": ["02.01.03","01.02.16"]}, | |
{"name":"02.01.10","heading":"Technology","sub-heading":"Technology","rag":"Orange","description":"02.01.10-All Technology operational (incl. reprographics)","imports": ["02.01.03","02.01.07"]}, | |
{"name":"02.01.11","heading":"Technology","sub-heading":"Technology","rag":"Blue","description":"02.01.11-All Results Installation and Operational Team on-site","imports": ["02.01.04"]}, | |
{"name":"02.01.12","heading":"Technology","sub-heading":"Technology","rag":"Green","description":"02.01.12-Broadcast Compound Timing and Scoring structured cabling installed","imports": ["01.02.03"]}, | |
{"name":"02.01.13","heading":"Technology","sub-heading":"Technology","rag":"Orange","description":"02.01.13-Timing and Scoring Operational","imports": ["02.01.13","02.01.07"]}, | |
{"name":"02.01.14","heading":"Technology","sub-heading":"Technology","rag":"Blue","description":"02.01.14-Audio Systems operational (including Arena, BoH, FOH, TVs and Projectors)","imports": ["02.01.07"]}, | |
{"name":"02.01.15","heading":"Technology","sub-heading":"Technology","rag":"Green","description":"02.01.15-Video Systems operational (including Arena, BoH, FOH, TVs and Projectors)","imports": ["02.01.07"]}, | |
{"name":"02.01.16","heading":"Technology","sub-heading":"Technology","rag":"Orange","description":"02.01.16-TER Testing and Technical Power On","imports": ["01.02.13","01.04.05"]}, | |
{"name":"03.01.01","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.01-All Broadcast cable paths containment and support devices installed","imports": ["01.01.01"]}, | |
{"name":"03.01.02","heading":"Broadcast","sub-heading":"Broadcast","rag":"Green","description":"03.01.02-Broadcast commentary positions built and ready for BRD cabling","imports": ["01.01.01","01.02.16"]}, | |
{"name":"03.01.03","heading":"Broadcast","sub-heading":"Broadcast","rag":"Orange","description":"03.01.03-Broadcast Commentary Positions handover commissioning completed","imports": ["03.01.03","03.01.15"]}, | |
{"name":"03.01.04","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.04-Camera platforms powered and available to BRD","imports": ["01.01.01"]}, | |
{"name":"03.01.05","heading":"Broadcast","sub-heading":"Broadcast","rag":"Green","description":"03.01.05-Compound handover (hardstand, fencing and lighting available and operational ready for BRD installation","imports": ["02.01.06","03.01.02"]}, | |
{"name":"03.01.06","heading":"Broadcast","sub-heading":"Broadcast","rag":"Orange","description":"03.01.06-TOC temporary building available with power and furniture","imports": ["01.01.01","01.04.04","01.04.06","04.01.01"]}, | |
{"name":"03.01.07","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.07-All remaining Compound temporary structures (including RHBs) installed and keys available to HB","imports": ["01.01.01","01.04.04","01.04.06","04.01.01"]}, | |
{"name":"03.01.08","heading":"Broadcast","sub-heading":"Broadcast","rag":"Green","description":"03.01.08-Latest Date for Furniture Deliveries (excluding RHB) at compound (Trailers, Dining tent), CCR & BIO","imports": ["04.01.01"]}, | |
{"name":"03.01.09","heading":"Broadcast","sub-heading":"Broadcast","rag":"Orange","description":"03.01.09-Power to TOC & CCR available","imports": ["01.04.01","01.04.03"]}, | |
{"name":"03.01.10","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.10-Broadcast technical power, UPS and remote monitoring all distributed and available","imports": ["01.04.01","01.04.02","01.04.03","01.04.04"]}, | |
{"name":"03.01.11","heading":"Broadcast","sub-heading":"Broadcast","rag":"Green","description":"03.01.11-TV Graphics Room to GT OVR Network installed and ready for tests/ cables to HB Production Area","imports": ["02.01.04"]}, | |
{"name":"03.01.12","heading":"Broadcast","sub-heading":"Broadcast","rag":"Orange","description":"03.01.12-Broadcast Commentary Positions End user equipment installed (incl. CIS and INFO)","imports": ["03.01.03"]}, | |
{"name":"03.01.13","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.13-Timing and Scoring TV graphics hardware installed in Broadcast Compound","imports": ["02.01.14"]}, | |
{"name":"03.01.14","heading":"Broadcast","sub-heading":"Broadcast","rag":"Green","description":"03.01.14-All Broadcast Compound Cabins Technology Services installed and fully operational","imports": ["02.01.06"]}, | |
{"name":"03.01.15","heading":"Broadcast","sub-heading":"Broadcast","rag":"Orange","description":"03.01.15-TEC services to Broadcast Information Office (BIO) available and operational","imports": ["03.01.13"]}, | |
{"name":"03.01.16","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.16-Commentary Control Room (CCR) ready for HB Installations","imports": ["01.01.01","03.01.11"]}, | |
{"name":"03.01.17","heading":"Broadcast","sub-heading":"Broadcast","rag":"Green","description":"03.01.17-Mixed Zone complete and lighting operational","imports": ["01.01.01","03.01.13"]}, | |
{"name":"03.01.18","heading":"Broadcast","sub-heading":"Broadcast","rag":"Orange","description":"03.01.18-FOP & Medal Ceremonies lighting installed and operational","imports": ["01.01.01","03.01.13"]}, | |
{"name":"03.01.19","heading":"Broadcast","sub-heading":"Broadcast","rag":"Blue","description":"03.01.19-BRD OB Van Park&Power available","imports": ["03.01.13"]}, | |
{"name":"04.01.01","heading":"Logistics","sub-heading":"Logistics","rag":"Green","description":"04.01.01-Bump-in Start","imports": ["01.01.01"]}, | |
{"name":"04.01.02","heading":"Logistics","sub-heading":"Logistics","rag":"Orange","description":"04.01.02-Bump-in Finish","imports": ["04.01.01"]}, | |
{"name":"04.01.03","heading":"Logistics","sub-heading":"Logistics","rag":"Blue","description":"04.01.03-Bump Out - Start","imports": ["05.01.08","05.01.11"]}, | |
{"name":"04.01.04","heading":"Logistics","sub-heading":"Logistics","rag":"Green","description":"04.01.04-Bump Out - Finish","imports": ["04.01.04"]}, | |
{"name":"05.01.01","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.01-All Technical Equipments within FOP operational","imports": ["03.01.18","02.01.14","01.02.04"]}, | |
{"name":"05.01.02","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Blue","description":"05.01.02-Handover OVL to VMG","imports": ["01.01.03"]}, | |
{"name":"05.01.03","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Green","description":"05.01.03-Defensive Search / Security Sweep","imports": ["05.01.02"]}, | |
{"name":"05.01.04","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.04-Lockdown Period - Start","imports": ["05.01.02"]}, | |
{"name":"05.01.05","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Blue","description":"05.01.05-Venue Team Move In - Start","imports": ["05.01.02"]}, | |
{"name":"05.01.06","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Green","description":"05.01.06-Official Athelete Training (On Venue) - Start","imports": ["05.01.04"]}, | |
{"name":"05.01.07","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.07-Panamerican Competition Starts","imports": ["05.01.04","05.01.06"]}, | |
{"name":"05.01.08","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Blue","description":"05.01.08-Panamerican Competition Finish","imports": ["05.01.07"]}, | |
{"name":"05.01.09","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Green","description":"05.01.09-Transition Period - Start","imports": ["05.01.08"]}, | |
{"name":"05.01.10","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.10-Transition Period - Finish","imports": ["05.01.09"]}, | |
{"name":"05.01.11","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Blue","description":"05.01.11-Parapanamerican Competition Starts","imports": ["05.01.10"]}, | |
{"name":"05.01.12","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Green","description":"05.01.12-Parapanamerican Competition Finish","imports": ["05.01.11"]}, | |
{"name":"05.01.13","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.13-Lockdown Period - Finish","imports": ["05.01.14"]}, | |
{"name":"05.01.14","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Blue","description":"05.01.14-Venue Team Move Out - Start","imports": ["05.01.08","05.01.11"]}, | |
{"name":"05.01.15","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Green","description":"05.01.15-Venue Team Move Out - Finish","imports": ["05.01.15"]}, | |
{"name":"05.01.16","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.16-Handback: VMG to OVL","imports": ["05.01.14"]}, | |
{"name":"05.01.17","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Blue","description":"05.01.17-Exclusive Use Period - Finish"}, | |
{"name":"05.01.18","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Green","description":"05.01.18-Post Games Non-Exclusive Use Period Finishes"}, | |
{"name":"05.01.19","heading":"Venue Events Operations","sub-heading":"VEO","rag":"Orange","description":"05.01.19-Handback: Lima 2019 to Venue Owner"}, | |
{"name":"05.02.01","heading":"Ceremonies","sub-heading":"VEO (Stadium)","rag":"Blue","description":"05.02.01-CER fit-out Works Start"}, | |
{"name":"05.02.02","heading":"Ceremonies","sub-heading":"VEO (Stadium)","rag":"Green","description":"05.02.02-Ceremonies Rehearsals Start","imports": ["05.02.01"]}, | |
{"name":"05.02.03","heading":"Ceremonies","sub-heading":"VEO (Stadium)","rag":"Orange","description":"05.02.03-Ceremonies Rehearsals Finish","imports": ["05.02.02"]}, | |
{"name":"05.02.04","heading":"Ceremonies","sub-heading":"VEO (Stadium)","rag":"Blue","description":"05.02.04-Opening Ceremony","imports": ["05.02.03"]} | |
] |