Data Tools Desk
Compose find, some/includes, copy-then-sort, and object spread on one desk.
Capstone only uses Phase 12 tools plus earlier callbacks. Find a player, check roles, sort a copy for display, and merge UI defaults with spread.
find → some/includes → copy-sort → spread merge
Summary appears here.
Important JavaScript
const found = players.find((p) => p.id === id);
const hasRole = roles.includes(needed);
const anyStarter = players.some((p) => p.tags.includes("starter"));
const sorted = [...players].sort((a, b) => a.score - b.score);
const view = {
...defaults,
...{ theme: "dark", focusId: found ? found.id : null }
};