chore: save current workspace progress
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<style>
|
||||
.layouts { display:grid; grid-template-columns:repeat(3,minmax(300px,1fr)); gap:16px; margin-top:18px; }
|
||||
.layout-card { border:1px solid #d6dde7; border-radius:12px; background:#fff; overflow:hidden; cursor:pointer; }
|
||||
.layout-card:hover { border-color:#2b6fbf; box-shadow:0 8px 24px rgba(32,73,120,.12); }
|
||||
.layout-card.selected { outline:3px solid rgba(43,111,191,.22); border-color:#2b6fbf; }
|
||||
.card-head { padding:13px 14px 8px; }
|
||||
.card-head p { margin:5px 0 0; color:#5d6875; font-size:13px; min-height:40px; }
|
||||
.tag { display:inline-block; padding:2px 8px; border-radius:999px; background:#eaf3fc; color:#0f5da8; font-size:11px; }
|
||||
.screen { margin:8px 12px 14px; height:330px; border:1px solid #aeb8c5; background:#f7f9fb; display:grid; gap:5px; padding:6px; font:10px/1.2 sans-serif; color:#35404c; }
|
||||
.bar { background:#fff; border:1px solid #d9e0e8; padding:5px; display:flex; justify-content:space-between; }
|
||||
.map { position:relative; background:linear-gradient(#edf1f5 1px,transparent 1px),linear-gradient(90deg,#edf1f5 1px,transparent 1px),#fff; background-size:18px 18px; border:1px solid #d7dee7; overflow:hidden; }
|
||||
.map:before { content:""; position:absolute; left:8%; right:8%; top:55%; height:4px; background:#adb8c4; transform:rotate(-7deg); opacity:.45; }
|
||||
.map:after { content:"当前完整轨迹"; position:absolute; left:14%; right:12%; top:50%; height:3px; color:#1769aa; background:#1769aa; transform:rotate(-7deg); box-shadow:0 -8px 0 rgba(102,164,219,.35); }
|
||||
.chart { position:relative; background:linear-gradient(#edf1f5 1px,transparent 1px),linear-gradient(90deg,#edf1f5 1px,transparent 1px),#fff; background-size:28px 28px; border:1px solid #d7dee7; padding:6px; }
|
||||
.chart:after { content:""; position:absolute; left:12%; right:8%; top:58%; height:3px; background:#1769aa; transform:skewY(-10deg); }
|
||||
.status { background:#fff; border:1px solid #d7dee7; padding:7px; display:grid; gap:4px; }
|
||||
.chip { background:#f1f5f9; border-left:3px solid #1769aa; padding:4px; }
|
||||
.tools { position:absolute; right:5px; top:5px; background:#fff; border:1px solid #b8c2ce; padding:3px 5px; z-index:2; }
|
||||
.tabs { background:#fff; border:1px solid #d7dee7; padding:5px; word-spacing:7px; }
|
||||
.a { grid-template-columns:2fr 1fr; grid-template-rows:30px 1fr 110px 26px; }
|
||||
.a .bar { grid-column:1/3; }.a .map { grid-row:2/3; }.a .status { grid-row:2/3; }.a .chart { grid-column:1/3; }.a .tabs{grid-column:1/3;}
|
||||
.b { grid-template-columns:3fr 2fr; grid-template-rows:30px 1fr 26px; }
|
||||
.b .bar{grid-column:1/3}.b .map{grid-row:2/3}.b .right{display:grid;grid-template-rows:1fr 1fr;gap:5px}.b .tabs{grid-column:1/3}
|
||||
.c { grid-template-columns:1fr 1fr 1fr; grid-template-rows:30px 130px 1fr 26px; }
|
||||
.c .bar{grid-column:1/4}.c .map{grid-column:1/4}.c .tabs{grid-column:1/4}
|
||||
@media(max-width:1050px){.layouts{grid-template-columns:1fr}.screen{height:360px}}
|
||||
</style>
|
||||
|
||||
<h2>网页主界面采用哪种观察布局?</h2>
|
||||
<p class="subtitle">所有方案都修复页签串页、增加 X/Y 数值刻度与单位、图例、图层显隐、框选缩放、滚轮缩放、复位和全屏查看。</p>
|
||||
|
||||
<div class="layouts">
|
||||
<div class="layout-card" data-choice="a-map-status" onclick="toggleSelect(this)">
|
||||
<div class="card-head"><h3>A · 地图主视图</h3><p>路径图最大,状态在右侧;图表作为底部工作区。适合先看全局几何。</p></div>
|
||||
<div class="screen a">
|
||||
<div class="bar"><b>FullDirectionSegment · OBSERVE_ONLY</b><span>图层 ▣ 重置视图</span></div>
|
||||
<div class="map"><span class="tools">+ − ⛶ 图层</span></div>
|
||||
<div class="status"><div class="chip">终点误差 0.8 cm / 1.2°</div><div class="chip">v=0 · a=0</div><div class="chip">制动起点 S=6.4 m</div></div>
|
||||
<div class="chart"><span class="tools">框选放大 复位 全屏</span>ST:t (s) / PathS (m)</div>
|
||||
<div class="tabs">路径总览 LS/ST 运动学 诊断与配置</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-card" data-choice="b-balanced" onclick="toggleSelect(this)">
|
||||
<div class="card-head"><span class="tag">推荐</span><h3>B · 地图与分析并列</h3><p>左侧完整路径,右侧同时看当前选中的 ST/速度图与关键状态,减少来回切页。</p></div>
|
||||
<div class="screen b">
|
||||
<div class="bar"><b>方向段 0 · Forward · 完整规划成功</b><span>导出快照 图层</span></div>
|
||||
<div class="map"><span class="tools">+ − ⛶</span></div>
|
||||
<div class="right"><div class="chart"><span class="tools">⛶</span>ST:完整起步—巡航—停车</div><div class="status"><div class="chip">巡航目标 1.0 m/s</div><div class="chip">终点 3 cm / 5° 内</div><div class="chip">无零进度异常</div></div></div>
|
||||
<div class="tabs">路径总览 LS/ST 曲率 速度/加速度/jerk 周期诊断</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-card" data-choice="c-chart-wall" onclick="toggleSelect(this)">
|
||||
<div class="card-head"><h3>C · 多图分析墙</h3><p>地图在上方,LS/ST/速度三图并排;适合桌面大屏同时比较数据。</p></div>
|
||||
<div class="screen c">
|
||||
<div class="bar"><b>完整方向段分析</b><span>同步缩放 复位全部</span></div>
|
||||
<div class="map"><span class="tools">+ − ⛶ 图层</span></div>
|
||||
<div class="chart"><span class="tools">⛶</span>LS</div><div class="chart"><span class="tools">⛶</span>ST</div><div class="chart"><span class="tools">⛶</span>速度</div>
|
||||
<div class="tabs">基础图组 运动学图组 终点验证 配置</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,56 @@
|
||||
<style>
|
||||
.profile-grid { display:grid; grid-template-columns:repeat(3,minmax(260px,1fr)); gap:16px; margin-top:18px; }
|
||||
.profile-card { border:1px solid #d7dee8; border-radius:12px; padding:16px; background:#fff; cursor:pointer; }
|
||||
.profile-card:hover { border-color:#3678c8; box-shadow:0 8px 24px rgba(40,80,130,.10); }
|
||||
.profile-card.selected { outline:3px solid rgba(43,111,191,.24); border-color:#2b6fbf; }
|
||||
.recommended { display:inline-block; color:#0f5da8; background:#eaf3fc; border-radius:999px; padding:3px 8px; font-size:12px; }
|
||||
.mini { width:100%; height:170px; margin:10px 0 4px; }
|
||||
.axis { stroke:#7d8794; stroke-width:1; }
|
||||
.gridline { stroke:#e5eaf0; stroke-width:1; }
|
||||
.speed { fill:none; stroke:#1769aa; stroke-width:4; }
|
||||
.stopline { stroke:#cf5b39; stroke-width:2; stroke-dasharray:5 4; }
|
||||
.phase { font:12px sans-serif; fill:#4f5965; }
|
||||
.caption { font-size:13px; color:#56616d; min-height:58px; }
|
||||
.formula { margin-top:18px; padding:14px 16px; background:#f6f8fb; border-left:4px solid #1769aa; font-family:ui-monospace,Consolas,monospace; }
|
||||
@media(max-width:900px){.profile-grid{grid-template-columns:1fr}}
|
||||
</style>
|
||||
|
||||
<h2>每个方向段应如何规划“起步—巡航—停车”?</h2>
|
||||
<p class="subtitle">三种实现方式都保持 OBSERVE_ONLY。点击选择;推荐 C,它既表达完整方向段,又保留实时修正能力。</p>
|
||||
|
||||
<div class="profile-grid">
|
||||
<div class="profile-card" data-choice="a-fixed" onclick="toggleSelect(this)">
|
||||
<h3>A · 固定距离开始减速</h3>
|
||||
<svg class="mini" viewBox="0 0 320 170">
|
||||
<path class="gridline" d="M35 30H305M35 75H305M35 120H305"/><path class="axis" d="M35 20V140H310"/>
|
||||
<path class="speed" d="M35 135 C55 90 75 55 110 48 L230 48 Q250 48 265 135 L305 135"/>
|
||||
<path class="stopline" d="M250 20V140"/><text class="phase" x="45" y="158">起步</text><text class="phase" x="145" y="158">巡航</text><text class="phase" x="250" y="158">固定点制动</text>
|
||||
</svg>
|
||||
<p class="caption">实现简单,但速度、载荷或当前加速度变化后,固定制动点可能过早或来不及停车。</p>
|
||||
</div>
|
||||
|
||||
<div class="profile-card" data-choice="b-one-shot" onclick="toggleSelect(this)">
|
||||
<h3>B · 整段一次性联合优化</h3>
|
||||
<svg class="mini" viewBox="0 0 320 170">
|
||||
<path class="gridline" d="M35 30H305M35 75H305M35 120H305"/><path class="axis" d="M35 20V140H310"/>
|
||||
<path class="speed" d="M35 135 C60 120 70 58 120 48 C180 36 220 50 245 78 C270 108 280 135 305 135"/>
|
||||
<text class="phase" x="45" y="158">整段时间与速度共同求解</text>
|
||||
</svg>
|
||||
<p class="caption">完整性最好,但长方向段会产生很大的优化问题;现场参数变化时,整段重新求解可能很慢。</p>
|
||||
</div>
|
||||
|
||||
<div class="profile-card" data-choice="c-hybrid" onclick="toggleSelect(this)">
|
||||
<span class="recommended">推荐</span>
|
||||
<h3>C · 全局速度包络 + 滚动精化</h3>
|
||||
<svg class="mini" viewBox="0 0 320 170">
|
||||
<path class="gridline" d="M35 30H305M35 75H305M35 120H305"/><path class="axis" d="M35 20V140H310"/>
|
||||
<path class="speed" d="M35 135 C55 90 82 48 125 48 L205 48 C232 48 245 63 258 88 C272 114 282 135 305 135"/>
|
||||
<path class="stopline" d="M225 20V140"/><text class="phase" x="43" y="158">jerk 起步</text><text class="phase" x="135" y="158">受限巡航</text><text class="phase" x="225" y="158">动态停车包络</text>
|
||||
</svg>
|
||||
<p class="caption">先为完整方向段计算速度上限与停车包络,再按短周期重算当前轨迹;能主动起步,也能随实时状态调整制动点。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="formula">
|
||||
开始减速条件:剩余距离 ≤ jerk 受限停车距离(当前 v, 当前 a, 最大减速度, 最大 jerk) + 重规划安全余量
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<div style="display:flex;align-items:center;justify-content:center;min-height:60vh">
|
||||
<div style="text-align:center;max-width:720px">
|
||||
<h2>正在确认完整方向段规划语义</h2>
|
||||
<p class="subtitle">主产物:一次优化得到完整当前方向段的 LS 与 ST;网页显示完整轨迹,而不是短窗口片段。</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
{"type":"click","text":"推荐\n C · 全局速度包络 + 滚动精化\n \n \n \n jerk 起步受限巡航动态停车包络\n \n 先为完整方向段计算速度上限与停车包络,再按短周期重算当前轨迹;能主动起步,也能随实时状态调整制动点。","choice":"c-hybrid","id":null,"timestamp":1786007937984}
|
||||
{"type":"click","text":"推荐\n C · 全局速度包络 + 滚动精化\n \n \n \n jerk 起步受限巡航动态停车包络\n \n 先为完整方向段计算速度上限与停车包络,再按短周期重算当前轨迹;能主动起步,也能随实时状态调整制动点。","choice":"c-hybrid","id":null,"timestamp":1786007938998}
|
||||
@@ -0,0 +1 @@
|
||||
{"type":"server-started","port":52380,"host":"127.0.0.1","url_host":"localhost","url":"http://localhost:52380/?key=c619697a72212b481e509ebd1c9023d987d76f98e8d335c1a428bd2f2e641248","screen_dir":"D:\\Users\\Desktop\\项目\\prakrobot\\ParkingRobot\\.superpowers\\brainstorm\\1212-1786007808\\content","state_dir":"D:\\Users\\Desktop\\项目\\prakrobot\\ParkingRobot\\.superpowers\\brainstorm\\1212-1786007808\\state","idle_timeout_ms":14400000}
|
||||
@@ -0,0 +1 @@
|
||||
823e5463adedce4ebfd4c6a032a5fb950de021e730acb9aa
|
||||
@@ -0,0 +1 @@
|
||||
1224
|
||||
Reference in New Issue
Block a user