mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 06:20:11 +00:00
## Summary
- Extract all 75 `quickRegister()` mapping entries from
`modelToNodeStore.ts` into a new `modelNodeMappings.ts` constants file
- The store now iterates over the `MODEL_NODE_MAPPINGS` array instead of
having inline calls
- **Zero behavioral change** — same mappings, same order, same runtime
behavior
## Motivation
Adding new model-to-node mappings is currently a code change to the
store. By separating the data into its own file:
- New mappings are a **pure data change** (append a tuple to an array)
- The data file can have its own CODEOWNERS entry, so mapping PRs can be
merged without requiring frontend team review
- Easier to audit — all mappings visible in one place without
interleaved store logic
### Before
```ts
// 250+ lines of quickRegister() calls mixed into store logic
quickRegister('checkpoints', 'CheckpointLoaderSimple', 'ckpt_name')
quickRegister('checkpoints', 'ImageOnlyCheckpointLoader', 'ckpt_name')
// ... 73 more
```
### After
```ts
// modelNodeMappings.ts — pure data
export const MODEL_NODE_MAPPINGS = [
['checkpoints', 'CheckpointLoaderSimple', 'ckpt_name'],
['checkpoints', 'ImageOnlyCheckpointLoader', 'ckpt_name'],
// ...
]
// modelToNodeStore.ts — just iterates
for (const [modelType, nodeClass, key] of MODEL_NODE_MAPPINGS) {
quickRegister(modelType, nodeClass, key)
}
```
## Test plan
- [ ] "Use" button in model browser still works for all model types
- [ ] No regressions in model-to-node resolution (same mappings, same
order)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-10237-refactor-extract-model-to-node-mappings-into-separate-data-file-3276d73d365081988656e2ddae772bbc)
by [Unito](https://www.unito.io)
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Alexander Brown <drjkl@comfy.org>
Co-authored-by: GitHub Action <action@github.com>
63 lines
2.1 KiB
Plaintext
63 lines
2.1 KiB
Plaintext
# Desktop/Electron
|
|
/apps/desktop-ui/ @benceruleanlu
|
|
/src/stores/electronDownloadStore.ts @benceruleanlu
|
|
/src/extensions/core/electronAdapter.ts @benceruleanlu
|
|
/vite.electron.config.mts @benceruleanlu
|
|
|
|
# Common UI Components
|
|
/src/components/chip/ @viva-jinyi
|
|
/src/components/card/ @viva-jinyi
|
|
/src/components/button/ @viva-jinyi
|
|
/src/components/input/ @viva-jinyi
|
|
|
|
# Topbar
|
|
/src/components/topbar/ @pythongosssss
|
|
|
|
# Thumbnail
|
|
/src/renderer/core/thumbnail/ @pythongosssss
|
|
|
|
# Legacy UI
|
|
/scripts/ui/ @pythongosssss
|
|
|
|
# Link rendering
|
|
/src/renderer/core/canvas/links/ @benceruleanlu
|
|
|
|
# Partner Nodes
|
|
/src/composables/node/useNodePricing.ts @jojodecayz @bigcat88
|
|
|
|
# Node help system
|
|
/src/utils/nodeHelpUtil.ts @benceruleanlu
|
|
/src/stores/workspace/nodeHelpStore.ts @benceruleanlu
|
|
/src/services/nodeHelpService.ts @benceruleanlu
|
|
|
|
# Selection toolbox
|
|
/src/components/graph/selectionToolbox/ @Myestery
|
|
|
|
# Minimap
|
|
/src/renderer/extensions/minimap/ @jtydhr88 @Myestery
|
|
|
|
# Workflow Templates
|
|
/src/platform/workflow/templates/ @Myestery @christian-byrne @comfyui-wiki
|
|
/src/components/templates/ @Myestery @christian-byrne @comfyui-wiki
|
|
|
|
# Mask Editor
|
|
/src/extensions/core/maskeditor.ts @trsommer @brucew4yn3rp
|
|
/src/extensions/core/maskEditorLayerFilenames.ts @trsommer @brucew4yn3rp
|
|
|
|
# 3D
|
|
/src/extensions/core/load3d.ts @jtydhr88
|
|
/src/components/load3d/ @jtydhr88
|
|
|
|
# Manager
|
|
/src/workbench/extensions/manager/ @viva-jinyi @christian-byrne @ltdrdata
|
|
|
|
# Model-to-node mappings (cloud team)
|
|
/src/platform/assets/mappings/ @deepme987
|
|
|
|
# LLM Instructions (blank on purpose)
|
|
.claude/
|
|
.cursor/
|
|
.cursorrules
|
|
**/AGENTS.md
|
|
**/CLAUDE.md
|