Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion src/combined.html
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ <h1>Indexing For Near-Sorted Data in Action</h1>
<select id="cmp-select-index-1" class="f-i" style="width:250px; text-align: left;">
<option value="Tail">Tail leaf optimization</option>
<option value="lil">Last-Insertion-Leaf</option>
<option value="BPlusTree">B+ Tree</option>
<option value="QuIT">QuIT</option>
<option value="SWARE" selected>SWARE</option>
</select>
Expand All @@ -107,6 +108,7 @@ <h1>Indexing For Near-Sorted Data in Action</h1>
<select id="cmp-select-index-2" class="f-i" style="width:250px; text-align: left;">
<option value="Tail">Tail leaf optimization</option>
<option value="lil">Last-Insertion-Leaf</option>
<option value="BPlusTree">B+ Tree</option>
<option value="QuIT" selected>QuIT</option>
<option value="SWARE">SWARE</option>
</select>
Expand Down Expand Up @@ -248,6 +250,17 @@ <h1>Indexing For Near-Sorted Data in Action</h1>
</div>
</div>
</div>
<div id="structure-panel-bplus" class="panel structure-panel animation-column">
<div class="panel-h">
<span class="panel-t">B+ Tree</span>
<span class="tag a">Tree-based</span>
</div>
<div id="bplus-box" class="tree-container quit-bplus-tree panel-box">
<div class="quit-tree-grid" id="bplus-tree-grid">
<svg class="quit-tree-links" id="bplus-tree-links"></svg>
</div>
</div>
</div>
</div>
</div>

Expand Down Expand Up @@ -623,6 +636,7 @@ <h3><a target="_blank" href="https://cs-people.bu.edu/mathan/">
<script type="text/javascript" src="js/algorithms/quit.js"></script>
<script type="text/javascript" src="js/algorithms/lil.js"></script>
<script type="text/javascript" src="js/algorithms/tail.js"></script>
<script type="text/javascript" src="js/algorithms/b_plus_tree.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
if (typeof google !== 'undefined' && google.charts && typeof google.charts.load === 'function') {
Expand Down Expand Up @@ -693,4 +707,4 @@ <h3><a target="_blank" href="https://cs-people.bu.edu/mathan/">
<script src="js/packages/script.js"></script>
</body>

</html>
</html>
84 changes: 42 additions & 42 deletions src/css/redesign.css
Original file line number Diff line number Diff line change
Expand Up @@ -723,48 +723,48 @@
box-shadow: 0 0 0 1px rgba(31, 95, 191, 0.12);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) {
gap: 16px;
min-height: 100%;
padding: 8px 2px 12px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-link-path {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-link-path {
stroke: var(--border-s);
stroke-width: 1;
opacity: 1;
filter: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-link-path.quit-tree-link-fast {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-link-path.quit-tree-link-fast {
stroke: var(--grn);
stroke-width: 1.8;
filter: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-link-path.quit-tree-link-path-active {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-link-path.quit-tree-link-path-active {
stroke: var(--red);
stroke-width: 1.8;
filter: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-row {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-row {
gap: 9px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-slot {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-slot {
width: 82px;
min-height: 70px;
max-width: 82px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-row.quit-row-layer-ellipsis .quit-node-slot {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-row.quit-row-layer-ellipsis .quit-node-slot {
width: calc((5 * 82px) + (4 * 9px));
max-width: calc((5 * 82px) + (4 * 9px));
min-height: 74px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-ellipsis {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-ellipsis {
border: 1px dashed var(--border);
border-radius: 4px;
background: var(--white);
Expand All @@ -774,22 +774,22 @@
font-size: 0.72rem;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-ellipsis.quit-ellipsis-path-active {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-ellipsis.quit-ellipsis-path-active {
border-color: var(--red);
background: var(--red-l);
color: var(--red);
box-shadow: 0 0 0 1px rgba(201, 42, 42, 0.14);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-layer-ellipsis {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-layer-ellipsis {
min-height: calc(56px + (var(--quit-layer-span, 1) * 8px));
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-layer-dot-line {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-layer-dot-line {
letter-spacing: 0.16em;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card {
height: 100%;
display: flex;
flex-direction: column;
Expand All @@ -802,62 +802,62 @@
text-align: center;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.internal,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.leaf {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.internal,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.leaf {
border-color: var(--border);
background: var(--white);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.root {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.root {
border-color: var(--grn);
border-width: 2px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node {
border-color: var(--amb);
background: var(--amb-l);
box-shadow: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.sware-tail-node {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.sware-tail-node {
border-color: #7ea3bf;
background: #f7fbff;
box-shadow: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-path-active {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-path-active {
border-color: var(--red);
box-shadow: 0 0 0 2px rgba(201, 42, 42, 0.12);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-fast-active {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-fast-active {
border-color: var(--grn);
background: var(--grn-p);
box-shadow: 0 0 0 2px rgba(21, 101, 58, 0.12);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active {
border-color: var(--grn);
background: #eef8f2;
box-shadow: 0 0 0 2px rgba(21, 101, 58, 0.16);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-node-header,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-node-range,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-key-cell,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-leaf-pointer {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-node-header,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-node-range,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-key-cell,
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-leaf-pointer {
color: var(--grn);
font-weight: 500;
text-shadow: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-key-empty {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node.quit-fast-active .quit-key-empty {
border-color: var(--grn-br);
background: rgba(255, 255, 255, 0.8);
color: var(--t3);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-header {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-header {
font-family: var(--mono);
font-size: 0.5rem;
font-weight: 600;
Expand All @@ -868,23 +868,23 @@
border-bottom: none;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-pole-node .quit-node-header {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-pole-node .quit-node-header {
color: var(--amb);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.sware-tail-node .quit-node-header {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.sware-tail-node .quit-node-header {
color: #547c9a;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-fast-active .quit-node-header {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-fast-active .quit-node-header {
color: var(--grn);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-path-active .quit-node-header {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-path-active .quit-node-header {
color: var(--red);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-range {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-range {
font-family: var(--mono);
font-size: 0.62rem;
font-weight: 500;
Expand All @@ -893,7 +893,7 @@
padding: 0;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-keys {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-keys {
display: flex;
flex-wrap: wrap;
justify-content: center;
Expand All @@ -902,7 +902,7 @@
min-height: 0;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-key-cell {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-key-cell {
width: auto;
min-width: 0;
height: auto;
Expand All @@ -918,21 +918,21 @@
overflow: visible;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-key-empty {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-key-empty {
background: var(--white);
border-style: dashed;
color: var(--t3);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-fast-active .quit-key-cell {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-fast-active .quit-key-cell {
border-color: var(--grn-br);
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-card.quit-path-active .quit-key-cell {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-card.quit-path-active .quit-key-cell {
border-color: #f0b6b6;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-leaf-pointer {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-leaf-pointer {
margin-top: 3px;
padding: 0;
border-top: none;
Expand All @@ -942,15 +942,15 @@
text-transform: uppercase;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .sware-tail-dots-card {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .sware-tail-dots-card {
border-color: var(--border);
background: var(--white);
color: var(--t3);
font-size: 0.72rem;
letter-spacing: 0.12em;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .sware-tail-dots-card.sware-tail-dots-fast {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .sware-tail-dots-card.sware-tail-dots-fast {
border-color: var(--grn-br);
background: var(--grn-p);
color: var(--grn);
Expand Down Expand Up @@ -1111,17 +1111,17 @@
margin-left: 0;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-row {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-row {
gap: 6px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-node-slot {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-node-slot {
width: 74px;
min-height: 66px;
max-width: 74px;
}

.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid) .quit-tree-row.quit-row-layer-ellipsis .quit-node-slot {
.redesign :is(#quit-tree-grid, #sware-tree-grid, #tail-tree-grid, #lil-tree-grid, #bplus-tree-grid) .quit-tree-row.quit-row-layer-ellipsis .quit-node-slot {
width: calc((5 * 74px) + (4 * 6px));
max-width: calc((5 * 74px) + (4 * 6px));
min-height: 70px;
Expand Down
Loading