Skip to content

feat: a product's own stylesheets, served after the platform's - #90

Merged
endrix merged 2 commits into
mainfrom
feat/client-stylesheets
Oct 24, 2026
Merged

endrix merged 2 commits into
mainfrom
feat/client-stylesheets

Conversation

@endrix

@endrix endrix commented Oct 22, 2026

Copy link
Copy Markdown
Owner

DiagramProfile.clientStylesheets (and SidecarProfileInput.clientStylesheets): absolute paths of a product's stylesheets, linked into the webview after the bundle's own stylesheet, stock or clientAssets alike, with each file's directory added to localResourceRoots.

The platform writes <kind>-node for a kind of its own, edge-role-<role> for what a connection is, and the family classes, and styles none of them. A product whose graph has fifteen connection types that must be told apart (a specification's refines, verifies, conflicts-with) says what they look like here, in CSS, instead of composing a whole webview bundle for one stylesheet. Data only, as every asset field is.

Tests: four cases in diagram-editor-provider-client-assets.test.ts (order after the stock stylesheet with the mtime cache-bust, the directory in the roots, after a consumer bundle's stylesheet, and byte-identical output when none are declared). Typecheck, all suites and the neutrality gates pass.

First of the platform changes for the NDF document diagram (ide/ndf-ide/ndf-ide-plan.md, N3).

https://claude.ai/code/session_012yAjXyWw6JyWsXvHG3cG9c

`DiagramProfile.clientStylesheets`, and the same on
`SidecarProfileInput`: absolute paths of stylesheets the webview links
after the bundle's own, stock or `clientAssets` alike, each file's
directory added to the resource roots. The platform already writes
`<kind>-node`, `edge-role-<role>` and the family classes on what it
draws and styles none of them; this is where a product says what they
look like, without composing a webview bundle of its own for one
stylesheet. Data only, like every other asset field.

Claude-Session: https://claude.ai/code/session_012yAjXyWw6JyWsXvHG3cG9c
…on README row

Review of #90: an unreadable stylesheet was reported as a `clientAssets`
path, and the extension's README profile table lacked `clientStylesheets`.

Claude-Session: https://claude.ai/code/session_01E8WfqKknDNN6xpNVcJL5K8
@endrix
endrix merged commit 7c2e7bb into main Oct 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant