Studio Session, Scene, And Window Session
This file keeps its historical filename for existing doc links. The current
Status
This file keeps its historical filename for existing doc links. The current product model no longer treats Space or virtual desktop as the canonical resource. Studio is the owner-scoped workspace resource, Scene is the Studio-local work state, and Window Session is runtime restore state.
Product Model
type StudioSession = {
id: string
studioId: string
studioType: string
title: string
route: string
isPinned?: boolean
lastActiveAt?: string
}
type StudioScene = {
id: string
studioId: string
title: string
description?: string
layout?: unknown
activeAppId?: string
preview?: unknown
}Studio switching is the Shell-level action of moving between open, recent, or pinned Studio resources. Scene switching is the current Studio's internal layout or work-state switch. A Scene is not a URL resource and is not a separate Studio.
Canonical URL Model
Owner-scoped resources use one canonical shape:
/@username/runtime/:runtimeSlug
/@username/studios/:studioSlug
/@owner/apps/:appSlug
/@owner/datasets/:datasetSlug
/@owner/library/apps/:installedAppSlug@esmadrider can be a user owner and @prox-os can be an organization owner.
User-vs-organization semantics belong to permission, billing, and membership
models, not to separate URL roots.
Examples:
/@esmadrider/studios/atlas
/@esmadrider/studios/grid
/@esmadrider/studios/ops
/@esmadrider/library/apps/hola
/@prox-os/apps/hola
/@prox-os/studios/demoWindow Session
Window Session is per-user browser runtime memory:
- opened surfaces;
x,y,width, andheight;zIndex;- minimized, maximized, or fullscreen state;
- active window id;
- internal path within an app;
- restore policy.
WindowSession is not a canonical URL resource. It is runtime restore state
inside a Studio session.
Persistence Layers
Keep three persistence layers separate:
- Studio metadata: owner, slug, engine, visibility, title, collaborators, datasets, permissions, and installed apps.
- Scene state: Studio-local layout, active app, selected dashboard, board, phone frame, or primary app presentation.
- Window session: transient runtime restore state for windowed engines.
App data remains business data owned by apps and datasets. It must not be stored inside a window session or a Scene snapshot.
AI Context
AI context should be scoped to the active Studio and selected Scene. A future agent should know which Studio it is operating in before acting on files, data, connectors, permissions, or workspace settings.
Future Work
- Persist Studio sessions and Scenes per owner.
- Add Switcher sync across devices.
- Add Scene thumbnails generated by each Studio Engine.
- Add permission-aware AI context summaries per Studio and Scene.