[object Object]

← back to Model Arena

auto-save: 2026-07-24T18:29:03 (1 files) — data/landings/562168e2a620-qwen3-14b.html

793fdc102ee728e286a26bf2fc791bf1bd5b3ca6 · 2026-07-24 18:29:08 -0700 · Steve Abrams

Files touched

Diff

commit 793fdc102ee728e286a26bf2fc791bf1bd5b3ca6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Fri Jul 24 18:29:08 2026 -0700

    auto-save: 2026-07-24T18:29:03 (1 files) — data/landings/562168e2a620-qwen3-14b.html
---
 data/landings/562168e2a620-qwen3-14b.html | 263 ++++++++++++++++++++++++++++++
 1 file changed, 263 insertions(+)

diff --git a/data/landings/562168e2a620-qwen3-14b.html b/data/landings/562168e2a620-qwen3-14b.html
new file mode 100644
index 0000000..735bc95
--- /dev/null
+++ b/data/landings/562168e2a620-qwen3-14b.html
@@ -0,0 +1,263 @@
+<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
+<title>RENTV — CRE Market Pulse — built by Qwen3 14B · Model Arena</title>
+<style>*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b0d10;color:#e6ecf2;font:14px/1.5 ui-monospace,Menlo,monospace}
+header{display:flex;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid #1c2430;background:#0e1116}
+header .k{color:#7cf;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:12px;white-space:nowrap}
+header h1{font-size:15px;margin:0;font-weight:600}header .by{color:#8a93a0;font-size:12px;margin-left:auto;white-space:nowrap}
+.wrap{height:calc(100% - 51px)}iframe{width:100%;height:100%;border:0;background:#000;display:block}</style></head><body>
+<header><span class="k">⚔ Model Arena</span><h1>RENTV — CRE Market Pulse</h1><span class="by">built by <b>Qwen3 14B</b></span></header>
+<div class="wrap"><iframe sandbox="allow-scripts allow-pointer-lock" srcdoc="&lt;!DOCTYPE html&gt;
+&lt;html lang=&quot;en&quot;&gt;
+&lt;head&gt;
+  &lt;meta charset=&quot;UTF-8&quot;&gt;
+  &lt;title&gt;CRE Market Pulse - RENTV.com&lt;/title&gt;
+  &lt;style&gt;
+    body {
+      margin: 0;
+      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+      background-color: #0f0f0f;
+      color: #e0e0e0;
+      display: flex;
+      flex-direction: column;
+      height: 100vh;
+    }
+    header {
+      background-color: #1a1a1a;
+      padding: 16px;
+      text-align: center;
+      font-size: 24px;
+      font-weight: bold;
+    }
+    .timestamp {
+      font-size: 14px;
+      color: #888;
+      margin-top: 8px;
+    }
+    .dashboard {
+      display: flex;
+      flex-wrap: wrap;
+      padding: 16px;
+      gap: 16px;
+    }
+    .tile {
+      background-color: #1e1e1e;
+      padding: 16px;
+      border-radius: 8px;
+      flex: 1 1 300px;
+      min-width: 250px;
+    }
+    .tile h3 {
+      margin: 0 0 12px;
+      font-size: 16px;
+    }
+    .tile .value {
+      font-size: 24px;
+      font-weight: bold;
+    }
+    .tile .delta {
+      font-size: 14px;
+      margin-top: 4px;
+    }
+    .tile .delta.up::before {
+      content: &quot;▲&quot;;
+      color: #4caf50;
+    }
+    .tile .delta.down::before {
+      content: &quot;▼&quot;;
+      color: #f44336;
+    }
+    .tile .delta.flat::before {
+      content: &quot;●&quot;;
+      color: #999;
+    }
+    .charts {
+      flex: 1 1 100%;
+      display: flex;
+      flex-direction: column;
+      gap: 16px;
+    }
+    canvas {
+      background-color: #1e1e1e;
+      border: 1px solid #333;
+      border-radius: 8px;
+    }
+    .reits {
+      display: flex;
+      flex-direction: column;
+      gap: 10px;
+    }
+    .reit {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      gap: 10px;
+    }
+    .reit .label {
+      flex: 1;
+      font-weight: bold;
+      color: #e0e0e0;
+    }
+    .reit .value {
+      font-weight: bold;
+      color: #e0e0e0;
+    }
+    .reit .delta {
+      font-size: 12px;
+      margin-top: 2px;
+    }
+    .reit .delta.up::before {
+      content: &quot;▲&quot;;
+      color: #4caf50;
+    }
+    .reit .delta.down::before {
+      content: &quot;▼&quot;;
+      color: #f44336;
+    }
+    .reit .delta.flat::before {
+      content: &quot;●&quot;;
+      color: #999;
+    }
+  &lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+  &lt;header&gt;
+    CRE Market Pulse - RENTV.com
+    &lt;div class=&quot;timestamp&quot;&gt;Data as of: &lt;span id=&quot;timestamp&quot;&gt;Loading...&lt;/span&gt;&lt;/div&gt;
+  &lt;/header&gt;
+  &lt;div class=&quot;dashboard&quot;&gt;
+    &lt;div class=&quot;tile&quot;&gt;
+      &lt;h3&gt;US Treasury Yield Curve&lt;/h3&gt;
+      &lt;canvas id=&quot;yieldCurve&quot; width=&quot;400&quot; height=&quot;200&quot;&gt;&lt;/canvas&gt;
+    &lt;/div&gt;
+    &lt;div class=&quot;tile&quot;&gt;
+      &lt;h3&gt;Credit Spreads&lt;/h3&gt;
+      &lt;canvas id=&quot;creditSpreads&quot; width=&quot;400&quot; height=&quot;200&quot;&gt;&lt;/canvas&gt;
+    &lt;/div&gt;
+    &lt;div class=&quot;tile&quot;&gt;
+      &lt;h3&gt;REIT Performance&lt;/h3&gt;
+      &lt;div class=&quot;reits&quot;&gt;
+        &lt;div class=&quot;reit&quot;&gt;
+          &lt;div class=&quot;label&quot;&gt;DJ U.S. Real Estate&lt;/div&gt;
+          &lt;div class=&quot;value&quot;&gt;394.84&lt;/div&gt;
+          &lt;div class=&quot;delta down&quot;&gt;-0.22%&lt;/div&gt;
+        &lt;/div&gt;
+        &lt;div class=&quot;reit&quot;&gt;
+          &lt;div class=&quot;label&quot;&gt;MSCI U.S. REIT&lt;/div&gt;
+          &lt;div class=&quot;value&quot;&gt;1,289.55&lt;/div&gt;
+          &lt;div class=&quot;delta flat&quot;&gt;0.00%&lt;/div&gt;
+        &lt;/div&gt;
+        &lt;div class=&quot;reit&quot;&gt;
+          &lt;div class=&quot;label&quot;&gt;Vanguard REIT ETF (VNQ)&lt;/div&gt;
+          &lt;div class=&quot;value&quot;&gt;$98.69&lt;/div&gt;
+          &lt;div class=&quot;delta down&quot;&gt;-0.84%&lt;/div&gt;
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+    &lt;div class=&quot;tile&quot;&gt;
+      &lt;h3&gt;Market Fundamentals&lt;/h3&gt;
+      &lt;div class=&quot;fundamentals&quot;&gt;
+        &lt;div class=&quot;tile&quot;&gt;
+          &lt;h3&gt;LA Office Vac&lt;/h3&gt;
+          &lt;div class=&quot;value&quot;&gt;23.1%&lt;/div&gt;
+          &lt;div class=&quot;delta&quot;&gt;Q2 2026 - CBRE/JLL market reports&lt;/div&gt;
+        &lt;/div&gt;
+        &lt;div class=&quot;tile&quot;&gt;
+          &lt;h3&gt;IE Industrial Cap&lt;/h3&gt;
+          &lt;div class=&quot;value&quot;&gt;5.2%&lt;/div&gt;
+          &lt;div class=&quot;delta&quot;&gt;Q2 2026 - Colliers IE industrial&lt;/div&gt;
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+  &lt;script&gt;
+    const marketData = {
+      &quot;curve&quot;: [
+        {&quot;label&quot;: &quot;3-Month&quot;, &quot;value&quot;: &quot;3.80%&quot;, &quot;change_bps&quot;: 5, &quot;dir&quot;: &quot;up&quot;},
+        {&quot;label&quot;: &quot;5-Year&quot;, &quot;value&quot;: &quot;4.46%&quot;, &quot;change_bps&quot;: 5, &quot;dir&quot;: &quot;up&quot;},
+        {&quot;label&quot;: &quot;10-Year&quot;, &quot;value&quot;: &quot;4.70%&quot;, &quot;change_bps&quot;: 5, &quot;dir&quot;: &quot;up&quot;},
+        {&quot;label&quot;: &quot;30-Year&quot;, &quot;value&quot;: &quot;5.17%&quot;, &quot;change_bps&quot;: 2, &quot;dir&quot;: &quot;up&quot;}
+      ],
+      &quot;spreads&quot;: [
+        {&quot;label&quot;: &quot;30Y – 10Y (curve)&quot;, &quot;value&quot;: &quot;+47 bps&quot;, &quot;dir&quot;: &quot;up&quot;},
+        {&quot;label&quot;: &quot;10Y – 3M (curve)&quot;, &quot;value&quot;: &quot;+90 bps&quot;, &quot;dir&quot;: &quot;up&quot;}
+      ],
+      &quot;reits&quot;: [
+        {&quot;label&quot;: &quot;DJ U.S. Real Estate&quot;, &quot;value&quot;: &quot;394.84&quot;, &quot;change_pct&quot;: -0.22, &quot;dir&quot;: &quot;down&quot;},
+        {&quot;label&quot;: &quot;MSCI U.S. REIT&quot;, &quot;value&quot;: &quot;1,289.55&quot;, &quot;change_pct&quot;: 0, &quot;dir&quot;: &quot;flat&quot;},
+        {&quot;label&quot;: &quot;Vanguard REIT ETF (VNQ)&quot;, &quot;value&quot;: &quot;$98.69&quot;, &quot;change_pct&quot;: -0.84, &quot;dir&quot;: &quot;down&quot;}
+      ],
+      &quot;fundamentals&quot;: [
+        {&quot;label&quot;: &quot;LA OFFICE VAC&quot;, &quot;value&quot;: &quot;23.1%&quot;, &quot;as_of&quot;: &quot;Q2 2026&quot;, &quot;source&quot;: &quot;CBRE/JLL market reports&quot;},
+        {&quot;label&quot;: &quot;IE INDUSTRIAL CAP&quot;, &quot;value&quot;: &quot;5.2%&quot;, &quot;as_of&quot;: &quot;Q2 2026&quot;, &quot;source&quot;: &quot;Colliers IE industrial&quot;}
+      ]
+    };
+
+    const now = new Date();
+    const timestamp = document.getElementById('timestamp');
+    timestamp.textContent = now.toLocaleString();
+
+    function drawYieldCurve(ctx, data) {
+      const padding = 30;
+      const width = ctx.canvas.width - padding * 2;
+      const height = ctx.canvas.height - padding * 2;
+      const max = Math.max(...data.map(d =&gt; parseFloat(d.value.replace('%', ''))));
+      const min = Math.min(...data.map(d =&gt; parseFloat(d.value.replace('%', ''))));
+      const scale = height / (max - min);
+
+      ctx.beginPath();
+      ctx.moveTo(padding, padding + height - (parseFloat(data[0].value.replace('%', '')) - min) * scale);
+      for (let i = 1; i &lt; data.length; i++) {
+        const y = padding + height - (parseFloat(data[i].value.replace('%', '')) - min) * scale;
+        ctx.lineTo(padding + i * (width / (data.length - 1)), y);
+      }
+      ctx.strokeStyle = '#4caf50';
+      ctx.lineWidth = 2;
+      ctx.stroke();
+
+      // Labels
+      ctx.font = '12px sans-serif';
+      ctx.textAlign = 'right';
+      ctx.textBaseline = 'middle';
+      for (let i = 0; i &lt; data.length; i++) {
+        ctx.fillText(data[i].label, padding + i * (width / (data.length - 1)), padding + height / 2);
+      }
+    }
+
+    function drawCreditSpreads(ctx, data) {
+      const padding = 30;
+      const width = ctx.canvas.width - padding * 2;
+      const height = ctx.canvas.height - padding * 2;
+      const max = Math.max(...data.map(d =&gt; parseFloat(d.value.replace(' ', '').replace('bps', ''))));
+      const min = Math.min(...data.map(d =&gt; parseFloat(d.value.replace(' ', '').replace('bps', ''))));
+      const scale = height / (max - min);
+
+      ctx.beginPath();
+      ctx.moveTo(padding, padding + height - (parseFloat(data[0].value.replace(' ', '').replace('bps', '')) - min) * scale);
+      for (let i = 1; i &lt; data.length; i++) {
+        const y = padding + height - (parseFloat(data[i].value.replace(' ', '').replace('bps', '')) - min) * scale;
+        ctx.lineTo(padding + i * (width / (data.length - 1)), y);
+      }
+      ctx.strokeStyle = '#f44336';
+      ctx.lineWidth = 2;
+      ctx.stroke();
+
+      // Labels
+      ctx.font = '12px sans-serif';
+      ctx.textAlign = 'right';
+      ctx.textBaseline = 'middle';
+      for (let i = 0; i &lt; data.length; i++) {
+        ctx.fillText(data[i].label, padding + i * (width / (data.length - 1)), padding + height / 2);
+      }
+    }
+
+    const yieldCurveCanvas = document.getElementById('yieldCurve');
+    const yieldCurveCtx = yieldCurveCanvas.getContext('2d');
+    drawYieldCurve(yieldCurveCtx, marketData.curve);
+
+    const creditSpreadsCanvas = document.getElementById('creditSpreads');
+    const creditSpreadsCtx = creditSpreadsCanvas.getContext('2d');
+    drawCreditSpreads(creditSpreadsCtx, marketData.spreads);
+  &lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;" title="RENTV — CRE Market Pulse"></iframe></div>
+</body></html>
\ No newline at end of file

← 5754afa auto-save: 2026-07-24T13:58:01 (2 files) — data/challenges.j  ·  back to Model Arena  ·  auto-save: 2026-07-24T20:59:44 (4 files) — data/artifacts/7b 5c09122 →