teSize()
  updateStateFromURL()

  // Window events
  d3.select(window)
    .on('popstate', event => {
      updateStateFromURL()
      parseURLdatabse()
      reloadDatabase().then(restartSimulation)
    })
    .on('resize', () => {
      updateSize()
      svg.attr('viewBox', [-width / 2, -height / 2, width, height])
      svg.selectAll('.chronology-axis').call(chronologyAxis)
    })

  // Toolbar events

  d3.select('#title')
    .on('click', event => {
      title = window.prompt('Enter title', title) |