Monorepo for Aesthetic.Computer aesthetic.computer

ac-native: wait up to 10s for GPU device (Gemini Lake is slow)

Gemini Lake (Yoga 11e) i915 probe takes longer than 1s.
Also check card1 in addition to card0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+165 -14
+56 -10
ants/mail-mcp/server.mjs
··· 3 3 import { z } from "zod"; 4 4 import { execFile as execFileCb, spawn as spawnCb } from "node:child_process"; 5 5 import { promisify } from "node:util"; 6 - import { access, readFile } from "node:fs/promises"; 6 + import { access, readFile, stat } from "node:fs/promises"; 7 + import { basename } from "node:path"; 7 8 8 9 const execFile = promisify(execFileCb); 9 10 ··· 267 268 // --- mail_send --- 268 269 server.tool( 269 270 "mail_send", 270 - "Send an email via msmtp. Defaults to mail@aesthetic.computer; use from_account to switch. For replies, set in_reply_to and references for proper threading.", 271 + "Send an email via msmtp. Defaults to mail@aesthetic.computer; use from_account to switch. For replies, set in_reply_to and references for proper threading. Supports file attachments via the attachments parameter (array of absolute paths).", 271 272 { 272 273 to: z.string().describe("Recipient email address"), 273 274 cc: z.string().optional().describe("CC email address(es), comma-separated"), ··· 295 296 .optional() 296 297 .default("ac-mail") 297 298 .describe("Which msmtp account to send from (ac-mail or jas-mail)"), 299 + attachments: z 300 + .array(z.string()) 301 + .optional() 302 + .describe("Array of absolute file paths to attach (e.g. [\"/path/to/file.pdf\"])"), 298 303 }, 299 - async ({ to, cc, subject, body, in_reply_to, references, preserve_case, signature, from_account }) => { 304 + async ({ to, cc, subject, body, in_reply_to, references, preserve_case, signature, from_account, attachments }) => { 300 305 try { 301 306 const style = await loadEmailStyle(); 302 307 const styled = applyEmailStyle({ ··· 325 330 .join(" "); 326 331 headers.push(`References: ${refs}`); 327 332 } 328 - headers.push( 329 - `Subject: ${styled.subject}`, 330 - "MIME-Version: 1.0", 331 - "Content-Type: text/plain; charset=UTF-8", 332 - "Content-Transfer-Encoding: 8bit", 333 - ); 334 - const message = [...headers, "", styled.body].join("\r\n"); 333 + headers.push(`Subject: ${styled.subject}`, "MIME-Version: 1.0"); 334 + 335 + let message; 336 + if (attachments && attachments.length > 0) { 337 + // MIME multipart with attachments 338 + const boundary = `----=_Part_${Date.now()}_${Math.random().toString(36).slice(2)}`; 339 + headers.push( 340 + `Content-Type: multipart/mixed; boundary="${boundary}"`, 341 + ); 342 + const parts = [ 343 + ...headers, 344 + "", 345 + `--${boundary}`, 346 + "Content-Type: text/plain; charset=UTF-8", 347 + "Content-Transfer-Encoding: 8bit", 348 + "", 349 + styled.body, 350 + ]; 351 + for (const filePath of attachments) { 352 + await stat(filePath); // throws if missing 353 + const fileData = await readFile(filePath); 354 + const name = basename(filePath); 355 + const ext = name.split(".").pop()?.toLowerCase(); 356 + const mime = ext === "pdf" ? "application/pdf" 357 + : ext === "png" ? "image/png" 358 + : ext === "jpg" || ext === "jpeg" ? "image/jpeg" 359 + : ext === "html" ? "text/html" 360 + : ext === "xlsx" ? "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 361 + : "application/octet-stream"; 362 + parts.push( 363 + `--${boundary}`, 364 + `Content-Type: ${mime}; name="${name}"`, 365 + "Content-Transfer-Encoding: base64", 366 + `Content-Disposition: attachment; filename="${name}"`, 367 + "", 368 + fileData.toString("base64").replace(/(.{76})/g, "$1\r\n"), 369 + ); 370 + } 371 + parts.push(`--${boundary}--`); 372 + message = parts.join("\r\n"); 373 + } else { 374 + // Plain text (no attachments) 375 + headers.push( 376 + "Content-Type: text/plain; charset=UTF-8", 377 + "Content-Transfer-Encoding: 8bit", 378 + ); 379 + message = [...headers, "", styled.body].join("\r\n"); 380 + } 335 381 336 382 const { stdout, stderr } = await run(MSMTP, ["-a", account, "-t"], { input: message }); 337 383 return {
+3 -2
fedac/native/src/ac-native.c
··· 244 244 // Bring up loopback interface (needed for Claude OAuth callback server) 245 245 system("/bin/ip link set lo up 2>/dev/null || /usr/sbin/ip link set lo up 2>/dev/null || ifconfig lo up 2>/dev/null"); 246 246 247 - // Wait for display device (up to 1s) 248 - for (int i = 0; i < 100; i++) { 247 + // Wait for display device (up to 10s — Gemini Lake GPUs can be slow) 248 + for (int i = 0; i < 1000; i++) { 249 249 if (access("/dev/dri/card0", F_OK) == 0 || 250 + access("/dev/dri/card1", F_OK) == 0 || 250 251 access("/dev/fb0", F_OK) == 0) break; 251 252 usleep(10000); 252 253 }
microvision/blind-valuation-comparison.pdf

This is a binary file and will not be displayed.

+104
microvision/blind-valuation-comparison.tex
··· 200 200 \item Grok specifically modeled the ``short killer'' dividend scenario; Claude focused on sum-of-parts 201 201 \end{itemize} 202 202 203 + \section{Deep Dive: Supporting Market Data} 204 + 205 + The following data was gathered from current analyst reports, industry sources, and public filings to ground both AI valuations in real numbers. 206 + 207 + \subsection{Automotive LiDAR --- Verified Numbers} 208 + 209 + \begin{itemize} 210 + \item The global automotive LiDAR market reached \textbf{\$1.19B in 2024} and is projected to reach \textbf{\$9.59B by 2030} at a \textbf{41.6\% CAGR} (MarketsandMarkets) 211 + \item Alternative estimates: \$1.23B (2025) $\rightarrow$ \$5.31B (2030) at 34\% CAGR (Mordor Intelligence) 212 + \item Solid-state LiDAR at \textasciitilde\$200--250/unit is the inflection point where ADAS integration becomes cost-viable for mid-range vehicles, not just luxury (IEEE Spectrum, Feb 2026) 213 + \item Hesai announced at CES 2026 it will \textbf{double production capacity} from 2M to 4M+ units/year. ATX orders exceed 4M units. 24 automotive OEM design wins. 214 + \item ADAS applications now represent 38\% of total LiDAR demand, expected to surpass 60\% by 2030 215 + \end{itemize} 216 + 217 + \subsection{Current LiDAR Comparable Valuations (March 2026)} 218 + 219 + \begin{center} 220 + \begin{tabular}{@{}llr@{}} 221 + \toprule 222 + \textbf{Company} & \textbf{Focus} & \textbf{Market Cap} \\ 223 + \midrule 224 + Hesai Group (HSAI) & Auto/Industrial LiDAR & \$3.59B \\ 225 + Valeo & Auto LiDAR + ADAS & \$2.75B \\ 226 + Ouster (OUST) & Multi-sector LiDAR & \$1.25B \\ 227 + Aeva Technologies & Automotive FMCW LiDAR & \$0.84B \\ 228 + indie Semiconductor & Auto sensing chips & \$0.53B \\ 229 + Innoviz (INVZ) & Automotive LiDAR & \$0.14B \\ 230 + AEye & Adaptive LiDAR & \$0.10B \\ 231 + \midrule 232 + \textbf{Total LiDAR sector} & & \textbf{\$9.98B} \\ 233 + \bottomrule 234 + \end{tabular} 235 + \end{center} 236 + 237 + {\small\textit{Source: companiesmarketcap.com, retrieved March 2026.} 238 + 239 + Key observation: A company with proven mass-production at \$250/unit \textit{plus} NED/AR capabilities would be the only LiDAR company spanning both sensing and display markets. Hesai at \$3.59B does LiDAR only. Adding NED IP and the AR glasses opportunity on top of a comparable LiDAR product line implies a valuation well above Hesai.} 240 + 241 + \subsection{Industrial: Forklift Safety \& Automation} 242 + 243 + \begin{itemize} 244 + \item \textbf{Autonomous forklift market:} \$7.84B (2025) $\rightarrow$ \$13.79B by 2030 at 12\% CAGR (GlobeNewsWire, Mar 2026) 245 + \item Alternative: \$5.75B (2025) $\rightarrow$ \$10.24B by 2030 at 12.25\% CAGR (Grand View Research) 246 + \item Overall forklift market: \$91.19B (2025) $\rightarrow$ \$141.32B by 2032 at 6.5\% CAGR 247 + \item \textbf{OSHA data:} 85 forklift fatalities, 34,900 serious injuries, 61,800 non-serious incidents per year in the US alone 248 + \item Forklift accidents cost an estimated \textbf{\$3.7 billion/year} in the US --- bolt-on LiDAR safety directly reduces this liability 249 + \item LiDAR-based SLAM systems reduce pick-and-place errors by \textbf{up to 70\%} and increase pallet productivity by \textbf{25\%} 250 + \item Crown, Hyster, and Yale all now offer LiDAR-based proximity systems --- proving market demand 251 + \item A bolt-on retrofit that integrates with existing drive systems avoids the \$30K--100K cost of replacing an entire forklift 252 + \end{itemize} 253 + 254 + \subsection{Heavy Equipment \& Defense Automation} 255 + 256 + \begin{itemize} 257 + \item \textbf{Autonomous construction equipment:} \$4.56B (2024) $\rightarrow$ \$9.74B by 2030 at 13.5\% CAGR (MarketsandMarkets) 258 + \item Remote Operation Centers allow operators to \textbf{control multiple fleets across continents} --- LiDAR is the critical sensing layer 259 + \item By 2026, \textbf{over 30\% of global mining operations} are projected to use fully autonomous haulage systems 260 + \item By 2026, autonomous mining fleets expected to operate at \textbf{up to 85\% full automation} 261 + \item Caterpillar, Komatsu, John Deere, Oshkosh all showcased autonomous equipment at CES 2025 262 + \item Applications radiating into agriculture, forestry, infrastructure, and defense 263 + \end{itemize} 264 + 265 + \subsection{Near-Eye Display \& Military AR} 266 + 267 + \begin{itemize} 268 + \item \textbf{NED market revenue:} \$1.2B in 2026 (first time surpassing \$1B), over \textbf{200\% YoY growth} 269 + \item Projected to reach \$2.8B by 2028 and \textbf{\$6.65B--9.55B by 2030} (25\% CAGR) 270 + \item NED shipments: 20.2M units (2026) $\rightarrow$ \textbf{92.9M units by 2030} 271 + \item AI glasses shipments forecast to exceed \textbf{10M units by 2026} 272 + \item Meta, Apple, Huawei, Pico all launching new MR products in 2026--27 273 + \item The broader AR hardware market crossed \textbf{\$80B in 2024}, with 37.9\% CAGR forecasts to \$1.7T by 2032 274 + 275 + \item \textbf{Military:} The US Army's IVAS program is a \textbf{\$21.88 billion} contract for 120,000+ AR headsets. Originally Microsoft; contract novated to \textbf{Anduril} in April 2025. MEMS laser beam scanning is a core enabling technology for the display. 276 + \item DARPA awarded \$4.7M specifically to transform AR glasses technology 277 + \item Syntec Optics received defense orders for AR display components readable in day/night combat 278 + 279 + \item \textbf{NED IP deal comps:} 280 + \begin{itemize} 281 + \item Microsoft / Osterhout Group AR patents: \textasciitilde\$150M (2014) 282 + \item Google / HTC XR IP license: \$250M (2025) 283 + \item Infinite Reality / Touchcast AR/AI: \$500M (2025) 284 + \item Meta / CTRL-Labs neural interface: \$1B (2019) 285 + \item Apple acquired 4 AR companies (2015--16): Flyby Media, metaio, Emotient, Faceshift 286 + \item Apple filed \textbf{5,000 patents} for Vision Pro technology alone 287 + \end{itemize} 288 + 289 + \item A proven, mass-producible miniature laser projector enabling HD 3D in Ray Ban-sized frames is \textbf{the missing component} that Meta, Apple, and EssilorLuxottica (market cap: 126.5B EUR) need for consumer AR glasses 290 + \end{itemize} 291 + 292 + \section{Bottom Line} 293 + 294 + \fcolorbox{acpink}{acpink!6}{\parbox{\dimexpr\textwidth-2\fboxsep-2\fboxrule}{% 295 + \textbf{\color{acpink}Both AI engines, working blind, independently concluded:} 296 + 297 + \begin{enumerate} 298 + \item A company with these capabilities should have a market capitalization of \textbf{\$2--7 billion} (base case), with upside to \$10B+ 299 + \item The Near-Eye Display IP alone is worth \textbf{\$200--600 million} --- a licensing deal or sale at this level would be transformative 300 + \item The \textbf{combination} of automotive LiDAR + industrial bolt-on + heavy equipment automation + AR/NED in a single platform is unique --- no pure-play competitor spans all four markets 301 + \item The industrial and defense segments are \textbf{nearer-term revenue drivers} than automotive, where OEM cycles are longer 302 + \item The military AR opportunity (\$21.88B IVAS alone) and consumer AR inflection (92.9M NED units by 2030) provide massive tailwinds 303 + \end{enumerate} 304 + 305 + These valuations are grounded in verified TAM data from MarketsandMarkets, Grand View Research, Mordor Intelligence, Omdia, OSHA, and public comparable company market caps as of March 2026.}} 306 + 203 307 \vspace{1em} 204 308 \hrule 205 309 \vspace{0.5em}
+2 -2
vscode-extension/package-lock.json
··· 1 1 { 2 2 "name": "aesthetic-computer-code", 3 - "version": "1.269.0", 3 + "version": "1.268.0", 4 4 "lockfileVersion": 3, 5 5 "requires": true, 6 6 "packages": { 7 7 "": { 8 8 "name": "aesthetic-computer-code", 9 - "version": "1.269.0", 9 + "version": "1.268.0", 10 10 "license": "None", 11 11 "dependencies": { 12 12 "acorn": "^8.15.0",