Skip to content

Initialize the Load 3D documents #44

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jul 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 144 additions & 0 deletions .cursorrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# ComfyUI Node Documentation Multi-language Localization Project Rules

## Project Overview
You are assisting in a project dedicated to creating multi-language documentation for ComfyUI nodes.
While maintaining professional explanations, metaphorical explanations are also needed to transform complex technical concepts into everyday life scenarios, ensuring non-technical users can easily understand node functionality.

## Core Principles

### User-Oriented
- Assume readers are completely non-technical users
- Use easy-to-understand everyday vocabulary, avoid technical terms
- Transform abstract concepts into concrete daily operations
- Explain functionality through "what it does" rather than "how it does it"

### Metaphorical Explanation Strategy
- Choose everyday life scenarios or craft processes similar to node functionality, preferably related to painting
- Metaphors must accurately reflect the node's core functionality, avoid misleading analogies
- Choose everyday scenarios familiar to ordinary people
- Match metaphor complexity with node functionality
- Avoid metaphors that might cause cultural misunderstandings

## Documentation Structure Requirements

When creating or editing ComfyUI node documentation, strictly follow this structure:

### Required Sections
1. **Function Description** - Explain the node's core purpose in 1-2 easy-to-understand sentences
2. **Working Principle** - Explain the node's working method using everyday life metaphors
3. **Input Parameter Description** - Detailed explanation of all input parameters
4. **Output Result Description** - Explain the node's output content and format
5. **Usage Suggestions** - Practical application scenarios and operation tips with metaphors
6. **Do not use level-one headings**

### Parameter Table Format
For input parameters, please refer to the following format, though it's not mandatory if a table is already provided:
```markdown
| Parameter Name | Data Type | Input Method | Default | Range | Description |
|----------|----------|----------|---------|----------|----------|
```

For output results, please refer to the following format, though it's not mandatory if a table is already provided:
```markdown
| Output Name | Data Type | Description |
|----------|----------|------|
```

Parameter names should be represented using backticks (`) to ensure they are displayed as styled text, not plain text.
Data types should be represented using plain text, not styled text.

## Data Type Processing Rules

### Important: Do not translate data types
- Keep all data types in English: IMAGE, FLOAT, INT, STRING, MODEL, CONDITIONING, LATENT, MASK, etc.
- Do not translate data types into any localized versions
- Only translate parameter names

## Multilingual Localization Rules

### Supported Languages
- Chinese (zh)
- English (en)
- Spanish (es)
- French (fr)
- Japanese (ja)
- Korean (ko)
- Russian (ru)

### Translation Principles
- Only translate when explicitly requested by the user
- Only translate parameter names and descriptions
- Keep data types in English
- Maintain document structure consistency
- Ensure metaphors are appropriate for the target language

## Workflow (Only when I provide you with source code)

### Node Analysis Phase
1. Get the node source code to determine the node's classification and functionality
2. Analyze INPUT_TYPES to identify all input parameters and their data types
3. Analyze RETURN_TYPES to determine the output content and data types
4. Understand the node's core working mechanism and application scenarios

### Metaphor Design Phase
1. Select an appropriate everyday life metaphor based on the node's functionality
2. Ensure the metaphor accurately conveys the node's function
3. Consider the applicability of the metaphor in different cultural backgrounds
4. Design a detailed expansion of the metaphor

### Documentation Creation Phase
1. Write a concise function description (1-2 sentences)
2. Use the selected metaphor to explain the working principle
3. Create a complete input parameter table
4. Create an output result table
5. Write practical usage suggestions and application scenarios

## Quality Standards

### Content Requirements
- ✅ Use everyday life metaphors to ensure non-technical users can understand
- ✅ Provide complete input and output parameter descriptions
- ✅ Include practical application scenarios and operation suggestions
- ✅ Use simple language to describe technical concepts
- ❌ Avoid using emojis
- ❌ Do not include source code snippets
- ❌ Avoid overly technical terminology explanations

### Language Style Requirements
- **Simple and easy to understand**: Assume the reader is a completely non-technical user
- **Clear and concise**: Avoid long and complex sentences
- **Accurate and consistent**: Term
- **Clear Structure**: Clear logical hierarchy, easy to reference

## Special Notes

### User Collaboration Mode
- Do not actively perform multilingual translation unless explicitly requested by the user. Additionally, if the user incorrectly requests translation during file provision (e.g., providing en.md but requesting French translation), do not translate but promptly notify the user
- Terminology verification depends on user-provided interface information
- Use user-updated versions for translation and updates
- Remember to add any image content if added by the user

### Prohibited Actions
- Do not automatically start translation work for other language files unless actively requested by the user
- Do not translate data type names
- Do not modify original documentation or create specific node example information during translation unless requested by the user

## Translation Tasks

When users provide language files and request translation to corresponding languages, please follow these rules:
- Usually, corresponding language screenshots of node information will be provided; ensure parameter names and descriptions match the screenshots
- If no corresponding screenshots are provided, maintain the English version of parameter names

## Standardized Terms for Input/Output Section Titles in Different Languages

- Note: These terms only apply to the headings of parameter description sections

| Language File | Input Title | Output Title |
|----------|----------|----------|
| en.md | Inputs | Outputs |
| es.md | Entradas | Salidas |
| fr.md | Entrées | Sorties |
| ja.md | 入力 | 出力 |
| ko.md | 입력 | 출력 |
| zh.md | 输入 | 输出 |
| ru.md | Входы | Выходы |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added comfyui_embedded_docs/docs/Load3d/asset/menu.webp
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
132 changes: 132 additions & 0 deletions comfyui_embedded_docs/docs/Load3d/en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
The Load3D node is a core node for loading and processing 3D model files. When loading the node, it automatically retrieves available 3D resources from `ComfyUI/input/3d/`. You can also upload supported 3D files for preview using the upload function.

**Supported Formats**
Currently, this node supports multiple 3D file formats, including `.gltf`, `.glb`, `.obj`, `.fbx`, and `.stl`.

**3D Node Preferences**
Some related preferences for 3D nodes can be configured in ComfyUI's settings menu. Please refer to the following documentation for corresponding settings:

[Settings Menu](https://docs.comfy.org/interface/settings/3d)

Besides regular node outputs, Load3D has lots of 3D view-related settings in the canvas menu.

## Inputs

| Parameter Name | Type | Description | Default | Range |
|---------------|----------|---------------------------------|---------|--------------|
| model_file | File Selection | 3D model file path, supports upload, defaults to reading model files from `ComfyUI/input/3d/` | - | Supported formats |
| width | INT | Canvas rendering width | 1024 | 1-4096 |
| height | INT | Canvas rendering height | 1024 | 1-4096 |

## Outputs

| Parameter Name | Data Type | Description |
|-----------------|----------------|------------------------------------|
| image | IMAGE | Canvas rendered image |
| mask | MASK | Mask containing current model position |
| mesh_path | STRING | Model file path |
| normal | IMAGE | Normal map |
| lineart | IMAGE | Line art image output, corresponding `edge_threshold` can be adjusted in the canvas model menu |
| camera_info | LOAD3D_CAMERA | Camera information |
| recording_video | VIDEO | Recorded video (only when recording exists) |

All the outputs preview:
![View Operation Demo](./asset/load3d_outputs.webp)

## Canvas Area Description

The Load3D node's Canvas area contains numerous view operations, including:

- Preview view settings (grid, background color, preview view)
- Camera control: Control FOV, camera type
- Global illumination intensity: Adjust lighting intensity
- Video recording: Record and export videos
- Model export: Supports `GLB`, `OBJ`, `STL` formats
- And more

![Load 3D Node UI](./asset/load3d_ui.jpg)

1. Contains multiple menus and hidden menus of the Load 3D node
2. Menu for `resizing preview window` and `canvas video recording`
3. 3D view operation axis
4. Preview thumbnail
5. Preview size settings, scale preview view display by setting dimensions and then resizing window

### 1. View Operations

<video controls width="640" height="360">
<source src="./asset/view_operations.mp4" type="video/mp4">
Your browser does not support video playback.
</video>

View control operations:

- Left-click + drag: Rotate the view
- Right-click + drag: Pan the view
- Middle wheel scroll or middle-click + drag: Zoom in/out
- Coordinate axis: Switch views

### 2. Left Menu Functions

![Menu](./asset/menu.webp)

In the canvas, some settings are hidden in the menu. Click the menu button to expand different menus

- 1. Scene: Contains preview window grid, background color, preview settings
- 2. Model: Model rendering mode, texture materials, up direction settings
- 3. Camera: Switch between orthographic and perspective views, and set the perspective angle size
- 4. Light: Scene global illumination intensity
- 5. Export: Export model to other formats (GLB, OBJ, STL)

#### Scene

![scene menu](./asset/menu_scene.webp)

The Scene menu provides some basic scene setting functions

1. Show/Hide grid
2. Set background color
3. Click to upload a background image
4. Hide the preview

#### Model

![Menu_Scene](./asset/menu_model.webp)

The Model menu provides some model-related functions

1. **Up direction**: Determine which axis is the up direction for the model
2. **Material mode**: Switch model rendering modes - Original, Normal, Wireframe, Lineart

#### Camera

![menu_modelmenu_camera](./asset/menu_modelmenu_camera.webp)

This menu provides switching between orthographic and perspective views, and perspective angle size settings

1. **Camera**: Quickly switch between orthographic and orthographic views
2. **FOV**: Adjust FOV angle

#### Light

![menu_modelmenu_camera](./asset/menu_modelmenu_camera.webp)

Through this menu, you can quickly adjust the scene's global illumination intensity

#### Export

![menu_export](./asset/menu_export.webp)

This menu provides the ability to quickly convert and export model formats

### 3. Right Menu Functions

<video controls width="640" height="360">
<source src="./asset/recording.mp4" type="video/mp4">
Your browser does not support video playback.
</video>

The right menu has two main functions:

1. **Reset view ratio**: After clicking the button, the view will adjust the canvas rendering area ratio according to the set width and height
2. **Video recording**: Allows you to record current 3D view operations as video, allows import, and can be output as `recording_video` to subsequent nodes
Loading