Backend `export-assets` params gain optional `:kind` (`:shapes`/`:frames`,
declared by the frames dialog); the worker routes on it instead of
inferring frames from missing item keys, which `normalize-items` used
to overwrite. Frontend freezes fully typed pages plus the kind. The
shell moves to the new tree with an injected temp dir, and the dead
legacy entry and transit utils go away.
AI-assisted-by: muse-spark-1.3-contributor