CoolFace
Apppublic

ai3111/smartgrid-lidar

sourceHugging Facemitupdated 15d agoView on Hugging Face
0likes
explore.html186 linesDownload Raw Back to root
1<!DOCTYPE html>2<html lang="en">3<head>4<meta charset="utf-8">5<meta name="viewport" content="width=device-width, initial-scale=1">6<title>Explore — SmartGrid-LiDAR</title>7<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none'%3E%3Ccircle cx='13' cy='13' r='11.5' stroke='%234b5068'/%3E%3Ccircle cx='13' cy='13' r='8' stroke='%238b7cf6' stroke-width='1.2'/%3E%3Ccircle cx='13' cy='13' r='4.8' stroke='%234a9ee0' stroke-width='1.5'/%3E%3Ccircle cx='13' cy='13' r='2' fill='%237ee8fa'/%3E%3C/svg%3E">8<link rel="stylesheet" href="assets/site.css">9<style>10  .head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 26px 0 16px; flex-wrap: wrap; }11  .head p { color: var(--dim); margin: 6px 0 0; max-width: 640px; }12  .tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }13  .tabs .btn { flex-direction: column; align-items: flex-start; gap: 0; padding: 8px 16px; min-height: 54px; }14  .tabs .btn .t { font-weight: 600; }15  .tabs .btn .s { font-size: 11px; color: var(--dim); font-weight: 400; }16  .tabs .btn[aria-pressed="true"] .s { color: var(--accent-2); }17 18  .layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }19  .stage { aspect-ratio: 16 / 10; }20  .transport { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }21  .transport input[type=range] { flex: 1; min-width: 160px; }22  .transport .counter { font: 12px var(--font-mono); color: var(--dim); min-width: 110px; }23  .controls { display: flex; align-items: center; gap: 14px 18px; flex-wrap: wrap; margin-top: 12px; }24  .controls .label { font: 600 11px var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--mute); margin-right: 2px; }25  .legend { margin-top: 12px; }26  .side .card + .card { margin-top: 14px; }27  .ds-title { font-size: 18px; font-weight: 600; }28  .ds-meta { color: var(--dim); font-size: 13px; margin: 4px 0 10px; }29  .ds-story { font-size: 14px; color: var(--dim); }30  .caveat { font-size: 13px; color: var(--dynamic); margin-top: 10px; border-top: 1px solid var(--line); padding-top: 10px; }31  .kbd { font: 11px var(--font-mono); color: var(--mute); margin-top: 10px; }32  .kbd code { background: var(--bg-3); border: 1px solid var(--line-2); border-radius: 4px; padding: 1px 5px; color: var(--dim); }33  @media (max-width: 900px) { .layout { grid-template-columns: 1fr; } }34</style>35</head>36<body>37 38<nav class="nav">39  <a class="brand" href="index.html" aria-label="SmartGrid-LiDAR home">40    <svg viewBox="0 0 26 26" fill="none" aria-hidden="true">41      <circle cx="13" cy="13" r="11.5" stroke="#4b5068" stroke-width="1"/>42      <circle cx="13" cy="13" r="8" stroke="#8b7cf6" stroke-width="1.2"/>43      <circle cx="13" cy="13" r="4.8" stroke="#4a9ee0" stroke-width="1.5"/>44      <circle cx="13" cy="13" r="2" fill="#7ee8fa"/>45    </svg>46    SmartGrid-LiDAR47  </a>48  <span class="tag">SIH 2026 · PS 26053 · DRDO</span>49  <div class="links">50    <a href="index.html">Overview</a>51    <a href="explore.html" class="active">Explore</a>52    <a href="lab.html">Grid Lab</a>53    <a href="report.html">Scan report</a>54  </div>55</nav>56 57<main class="wrap">58 59  <div class="head">60    <div>61      <div class="eyebrow">Multi-dataset viewer</div>62      <h2 style="margin:6px 0 0">Four drives, one pipeline</h2>63      <p>The map is fixed in the world and the vehicle drives through it. Switch datasets, recolour, and click any cell — it is data, not pixels.</p>64    </div>65  </div>66 67  <div id="tabs" class="tabs" role="tablist" aria-label="Datasets"></div>68 69  <div class="layout">70    <div>71      <div id="stage" class="stage">72        <canvas id="map" aria-label="Top-down 2.5D map"></canvas>73        <div class="hud" id="hud">74          <div class="hud-title">ADAPTIVE 2.5D LIDAR MAP</div>75          <div class="hud-row"><span>Sensor</span><b id="h-beams">–</b></div>76          <div class="hud-row"><span>Points / scan</span><b id="h-pts">–</b></div>77          <div class="hud-row"><span>Cells</span><b id="h-cells">–</b></div>78          <div class="hud-row"><span>Map memory</span><b id="h-mem">–</b></div>79          <div class="hud-row"><span>vs uniform 5 cm</span><b id="h-red">–</b></div>80          <div class="hud-row"><span>Grid build</span><b id="h-ms">–</b></div>81          <div class="hud-row" id="h-acc-row"><span>Accuracy</span><b id="h-acc">–</b></div>82          <div class="hud-sep"></div>83          <div class="hud-row"><span>Frame</span><b id="h-frame">–</b></div>84          <div class="hud-row"><span>Moving</span><b id="h-moving">–</b></div>85          <div class="hud-row"><span>Parked</span><b id="h-parked">–</b></div>86          <div class="hud-row"><span>Median speed</span><b id="h-speed">–</b></div>87          <div class="hud-row" id="h-ego-row" hidden><span>Ego speed</span><b id="h-ego">–</b></div>88          <div class="hud-row" id="h-rings-row" hidden><span>Fine ring</span><b id="h-rings">–</b></div>89          <div class="hud-row"><span>Travelled</span><b id="h-dist">–</b></div>90        </div>91        <div class="cursor" id="cursor"></div>92        <div class="loading" id="loading">Loading dataset…</div>93      </div>94 95      <div class="transport">96        <button class="btn small" id="play" aria-pressed="true">Pause</button>97        <button class="btn small icon" id="prev" aria-label="Previous frame">98          <svg viewBox="0 0 16 16" fill="currentColor"><path d="M11 3v10L4 8z"/></svg>99        </button>100        <button class="btn small icon" id="next" aria-label="Next frame">101          <svg viewBox="0 0 16 16" fill="currentColor"><path d="M5 3v10l7-5z"/></svg>102        </button>103        <button class="btn small" id="restart">Restart</button>104        <input type="range" id="scrub" min="0" max="0" value="0" aria-label="Frame">105        <span class="counter" id="counter">frame – / –</span>106        <button class="btn small" id="fit">Fit</button>107      </div>108 109      <div class="controls">110        <span class="label">Colour</span>111        <div class="seg" data-group="mode" role="group" aria-label="Colour mode">112          <button data-mode="category" aria-pressed="true">Category</button>113          <button data-mode="height" aria-pressed="false">Height</button>114          <button data-mode="ring" aria-pressed="false">Resolution ring</button>115        </div>116        <span class="label">Camera</span>117        <label class="check"><input type="checkbox" id="follow" checked> follow vehicle</label>118        <span class="label">Show</span>119        <label class="check"><input type="checkbox" id="ov-path" checked> path</label>120        <label class="check"><input type="checkbox" id="ov-tracks" checked> tracked objects</label>121        <label class="check"><input type="checkbox" id="ov-rings" checked> resolution rings</label>122      </div>123 124      <div class="legend" id="legend">125        <span><span class="swatch" style="background:#35d07f"></span>drivable</span>126        <span><span class="swatch" style="background:#e05a4a"></span>static obstacle</span>127        <span><span class="swatch" style="background:#f0c419"></span>dynamic object</span>128        <span><span class="swatch" style="background:#5a6376"></span>unknown</span>129        <span><span class="swatch" style="border:2px solid #ff4040;background:none"></span>confirmed moving</span>130        <span><span class="swatch" style="border:2px solid #4a9ee0;background:none"></span>parked</span>131        <span><span class="swatch" style="background:#fff"></span>vehicle</span>132      </div>133    </div>134 135    <aside class="side">136      <div class="card">137        <h3>Dataset</h3>138        <div class="ds-title" id="ds-title">–</div>139        <div class="ds-meta" id="ds-meta">–</div>140        <div class="ds-story" id="ds-story"></div>141        <div class="caveat" id="ds-caveat" hidden></div>142      </div>143 144      <div class="card inspect" id="inspect">145        <h3>Cell inspector</h3>146        <div class="empty">Click any cell on the map to read what it stores.</div>147        <dl class="fields">148          <dt>x</dt><dd id="i-x"></dd>149          <dt>y</dt><dd id="i-y"></dd>150          <dt>cell size</dt><dd id="i-size"></dd>151          <dt>ring</dt><dd id="i-ring"></dd>152          <dt>z min</dt><dd id="i-zmin"></dd>153          <dt>z max</dt><dd id="i-zmax"></dd>154          <dt>height</dt><dd id="i-h"></dd>155          <dt>points</dt><dd id="i-n"></dd>156          <dt>category</dt><dd id="i-cat"></dd>157        </dl>158        <div class="kbd"><code>space</code> play/pause · <code>←</code> <code>→</code> step · wheel zoom · drag pan</div>159      </div>160 161      <div class="card">162        <h3>What you are seeing</h3>163        <p class="small dim" style="margin:0">Each square is one grid cell drawn at its real size: 5 cm near the vehicle, 50 cm at the edge. Cells are kept in world coordinates, so the map stays put while the vehicle moves. Circles are objects tracked across frames — red ones are moving, blue ones are parked.</p>164      </div>165    </aside>166  </div>167 168</main>169 170<footer>171  <div class="wrap">172    <span>Smart India Hackathon 2026</span>173    <span>Problem Statement 26053 · DRDO</span>174    <span><b>Team Time2Act</b></span>175    <a href="https://github.com/aryan-labs/sih26">Source on GitHub</a>176  </div>177</footer>178 179<script src="assets/codec.js"></script>180<script src="assets/palette.js"></script>181<script src="assets/data.js"></script>182<script src="assets/render.js"></script>183<script src="assets/explore.js"></script>184</body>185</html>186