tl1 = {
a.reset();
a.time = 0;
Object.assign(camera, rect.pad(tableBounds_.rect, -2));
a.time = 5;
randomTable_.opacity = 1;
Object.assign(camera, rect.pad(tableTargetCell_.rect, -1.5));
tableTargetCellNeighbours_.forEach((cell, no) => {
a.time = 0;
cell.opacity = 0;
a.time = 5 + no;
cell.opacity = 0;
a.time = 5 + no + 1;
cell.opacity = 1;
});
[...tableTargetCellNeighbours_, tableTargetCell_].forEach(cell => {
a.time = 9;
cell.stroke = 'red';
cell.lineWidth = 0.15;
a.time = 10;
cell.stroke = 'lightgray';
cell.lineWidth = 0.1;
cell.opacity = 1;
a.time = 15;
cell.stroke = 'lightgray';
cell.lineWidth = 0.1;
cell.opacity = 1;
a.time = 16;
cell.opacity = 0;
cell.stroke = 'lightgray';
cell.lineWidth = 0.1;
a.time = 18;
cell.opacity = 0;
cell.stroke = 'lightgray';
cell.lineWidth = 0.1;
});
a.time = 12;
randomTable_.opacity = 0;
arrow_.opacity = 0;
arrow_.target = rect.relPoint(tableTargetCell_.rect, 3, 0.5);
Object.assign(camera, rect.pad(tableTargetCell_.rect, -1.5));
nextCell_.opacity = 0;
nextCell_.rect = rect.compose(tableTargetCell_.rect, [4, 0]);
a.time = 15;
arrow_.opacity = 1;
nextCell_.opacity = 1;
arrow_.target = rect.relPoint(tableTargetCell_.rect, 5, 0.5);
Object.assign(camera, rect.pt(rect.relPoint(tableTargetCell_.rect, 3, 0.5), 3));
nextCell_.rect = rect.compose(tableTargetCell_.rect, [6, 0]);
a.time = 18;
nextCell_.rect = tableTargetCell_.rect;
nextCell_.opacity = 1;
Object.assign(camera, rect.pt(rect.relPoint(tableTargetCell_.rect, 3, 0.5), 3));
randomTable_.opacity = 0;
return a.timelines;
}