refactor(entities): collapse into single resident tile
Same pattern as the websearch merge (commit 2426191a) and the
window-open registration fix (commit 34e89716). Entities had two
tile entries — background (lazy) and home (window) — that
communicated via pubsub round-trips.
Audit findings during the merge: entities internal background/home
boundary was a historical split, not a semantic one. home.js was
already importing from background.js directly for most calls. The
pubsub topics (entities:extract, entities:search, entities:get-for-url
and their response pairs) are an EXTERNAL API used by
app/page/page.js to request on-demand extraction, not internal
bg-to-home coordination. Those external topics are preserved.
Changes:
- manifest.json: two tile entries collapsed to one resident:true tile,
added missing subscribe topics (item:deleted, editor:changed,
sync:pull-completed), removed self scope.
- home.js: merged ~280 lines of background.js logic (extraction
pipeline, command registration, external pubsub handlers) into
the existing UI module. Async IIFE at top calls api.initialize,
runs background init, sets shutdown, then initUi on DOMContentLoaded.
- home.html: added connect-src and worker-src to CSP (background.html
had these, home did not).
- background.js and background.html left on disk, unreferenced.