mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* feat(devex): component fixtures with headless screenshots for fast UI checks Colocated *.fixture.tsx files export named fixtures (render + optional store seed, setup, interact, width). A dev-only Vite entry (vite.fixtures.config.ts, extending vite.web.config.ts) renders one fixture in isolation with the real I18nProvider, TooltipProvider, theme class, default-seeded store, and the web client's preload bridge (installWebPreloadApi) as window.api. `pnpm fixtures:shot <id|glob> [--theme dark|light|both]` starts or reuses a detached server (Vite + one headless Chromium) and writes PNGs to .cache/fixtures/. A warm page re-renders in place (~100ms/shot) and reloads only after source changes. A stdio MCP server (registered in .mcp.json) exposes list_fixtures and screenshot_fixture. Fixtures load only through import.meta.glob in the fixture entry, which is not a production build input; oxlint rejects static imports of *.fixture. * Keep fixture config and agent config inside reviewed root entries * Baseline the fixture page's default-settings seed in the focus-read ratchet * docs(agents): shorten fixtures pointer * Allowlist the dev-only fixture explorer's labels in localization coverage
101 lines
2.7 KiB
JSON
101 lines
2.7 KiB
JSON
[
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "Idioma",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "Langue",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "언어",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "言語",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "語言",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "语言",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/terminal-advanced-platform-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "ghostty",
|
|
"dynamic": false,
|
|
"count": 2
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/terminal-advanced-platform-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "Ghostty",
|
|
"dynamic": false,
|
|
"count": 2
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/terminal-pane-appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "ghostty",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/settings/terminal-pane-appearance-search.ts",
|
|
"kind": "object-property:keywords",
|
|
"text": "Ghostty",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/sidebar/worktree-card-meta-row.tsx",
|
|
"kind": "jsx-attribute:label",
|
|
"text": "sidebar",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/components/onboarding/OnboardingLanguageSwitcher.tsx",
|
|
"kind": "jsx-text",
|
|
"text": "Switch language",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/component-fixtures/component-fixture-explorer.tsx",
|
|
"kind": "jsx-text",
|
|
"text": "Component fixtures",
|
|
"dynamic": false,
|
|
"count": 1
|
|
},
|
|
{
|
|
"filePath": "src/renderer/src/component-fixtures/component-fixture-explorer.tsx",
|
|
"kind": "jsx-text",
|
|
"text": "fixtures · files named *.fixture.tsx under src/renderer/src",
|
|
"dynamic": false,
|
|
"count": 1
|
|
}
|
|
]
|