mirror of
https://github.com/hanzo-apps/world.git
synced 2026-10-30 14:53:09 +00:00
Replace HTML5 native DnD (OS drag image, y-only grid hit-test, no touch, no animation) with a pointer-events system in services/panel-drag.ts: - custom translucent ghost that tracks the pointer - gap-opening placeholder + transform FLIP so siblings slide to their new slots - 6px press threshold (no accidental drags), Escape-to-cancel, rAF-throttled - unified mouse/touch/pen; on touch the panel header is the grab handle Resize moves onto the same pointer plumbing with a clean 200px row-span snap grid (fixes the old 250/350/500 thresholds that fought the 400/600/800 CSS heights) and pointer capture for reliable mouse+touch. App keeps panel-order persistence; Panel keeps the span<->class mapping — the module owns only pointer math + visuals. Adds a deterministic Playwright drag harness + spec (reorder, threshold guard, Escape cancel, resize snap).
13 lines
321 B
HTML
13 lines
321 B
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Panel Drag Harness</title>
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script type="module" src="/src/e2e/panel-drag-harness.ts"></script>
|
|
</body>
|
|
</html>
|