# Design Patent vs Utility Model Line Art Generation: Key Differences Explained

> Discover the critical distinctions between design patent and utility model line art generation. Understand how ornamental versus functional disclosure impacts artwork creation.

- Repository: [handsomestWei/patent-disclosure-skill](https://github.com/handsomestWei/patent-disclosure-skill)
- Tags: deep-dive
- Published: 2026-09-02

---

**Design patent line art emphasizes ornamental appearance without part numbers, while utility model line art embeds component labels and call-outs for functional disclosure.**

The `handsomestWei/patent-disclosure-skill` repository implements two distinct pipelines for generating patent line art. Each pipeline is optimized for the legal and technical requirements of its respective patent type. Understanding these differences ensures proper figure preparation for design patents versus utility model applications.

## Pipeline Entry Points and Activation Logic

The system routes cases to the appropriate pipeline based on configuration flags and `patent_type` fields.

### Design Patent Pipeline

In [`tools/shared/design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/tools/shared/design_lineart_gate.py), the pipeline activates when `design_lineart_brief.enabled` is true. This gate validates the presence of a [`design_lineart_brief.yaml`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_brief.yaml) file before proceeding.

```python

# From tools/shared/design_lineart_gate.py

# Activated by: design_lineart_brief.enabled == True

# Required file: design_lineart_brief.yaml

```

### Utility Model Pipeline

In [`tools/shared/structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/tools/shared/structure_lineart_gate.py), the pipeline runs when the brief's `patent_type` equals `"utility_model"`. This stricter type check ensures functional drawings are only generated for appropriate cases.

```python

# From tools/shared/structure_lineart_gate.py

# Activated by: patent_type == "utility_model"

# Required file: structure_lineart_brief.yaml

```

## Brief Schema and Configuration Structure

Each pipeline uses a dedicated YAML schema that reflects the distinct requirements of ornamental versus functional illustration.

| Schema File | Purpose |
|-------------|---------|
| [`references/schemas/design_lineart_brief.schema.yaml`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/references/schemas/design_lineart_brief.schema.yaml) | Defines `design_lineart_brief.enabled` flag for decorative designs |
| [`references/schemas/structure_lineart_brief.schema.yaml`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/references/schemas/structure_lineart_brief.schema.yaml) | Mandates `patent_type: utility_model` and supports component labeling fields |

The utility model schema explicitly includes fields for:
- Component sequence numbers
- Call-out line specifications
- "Use-in-disclosure" flags

These fields are absent from the design patent schema, which focuses solely on aesthetic rendering parameters.

## Prompt Templates and Generation Focus

### Design Patent Prompts

The [`prompts/shared/design_lineart_assist.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/prompts/shared/design_lineart_assist.md) template directs the image generator toward **ornamental aspects**: shape contours, surface patterns, and visual appeal. The resulting drawings prioritize clean, aesthetically pleasing lines.

### Utility Model Prompts

The [`prompts/shared/structure_lineart_assist.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/prompts/shared/structure_lineart_assist.md) template (invoked via the shared image-generation planner) emphasizes **functional clarity**: mechanical relationships, assembly views, and precise part delineation.

## Output Characteristics: What Each Pipeline Produces

| Feature | Design Patent Line Art | Utility Model Line Art |
|--------|------------------------|------------------------|
| **Part numbers** | Excluded | **Required** — component sequence numbers embedded |
| **Call-out lines** | Absent | **Present** — leader lines connecting labels to parts |
| **Visual emphasis** | Ornamental appearance | Functional structure and assembly |
| **Disclosure flags** | Not applicable | Optional "use-in-disclosure" markers |

The design patent pipeline produces figures suitable for **ornamental novelty claims**. The utility model pipeline generates figures that satisfy **functional disclosure requirements** with explicit component identification.

## Validation and Error Handling

Both gates enforce strict preconditions, but with different logic:

- **Design patent gate**: Errors if [`design_lineart_brief.yaml`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_brief.yaml) is missing when enabled
- **Utility model gate**: Errors if `patent_type` ≠ `"utility_model"` or if brief file is absent

These validations are exercised in [`tests/shared/test_design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/tests/shared/test_design_lineart_gate.py) and [`tests/shared/test_structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/tests/shared/test_structure_lineart_gate.py) respectively.

## Command-Line Invocation

Execute either pipeline directly from the `tools/shared/` directory:

```bash

# Design patent line art generation

python tools/shared/design_lineart_gate.py --case-dir outputs/case

# Utility model line art generation

python tools/shared/structure_lineart_gate.py --case-dir outputs/case

```

Both commands assemble an image-generation job list and delegate to [`tools/shared/image_gen.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/tools/shared/image_gen.py) for final rendering.

## Summary

- **Design patent line art** uses [`design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_gate.py), requires `design_lineart_brief.enabled`, and produces ornamental drawings without part labels
- **Utility model line art** uses [`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py), requires `patent_type: "utility_model"`, and generates functional drawings with component numbers and call-outs
- Each pipeline has dedicated schemas, prompts, and test suites in `references/schemas/` and `tests/shared/` respectively

## Frequently Asked Questions

### How does the system determine which line art pipeline to run?

The system checks case configuration in sequence: first for `design_lineart_brief.enabled` ( triggering [`design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_gate.py)), then for `patent_type == "utility_model"` (triggering [`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py)). These checks are mutually exclusive in practice based on the patent type being processed.

### Can I use design patent line art for a utility model application?

No. According to the source code in [`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py), utility model disclosures **require** component sequence numbers and call-outs that the design patent pipeline explicitly excludes. Using ornamental line art would fail disclosure requirements for functional claims.

### What happens if the brief file is missing?

Both gates error out. [`design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_gate.py) validates [`design_lineart_brief.yaml`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_brief.yaml) presence when enabled, while [`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py) requires [`structure_lineart_brief.yaml`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_brief.yaml) for all utility model cases. These validations are verified in their respective test files.

### Where are the prompt templates defined?

Design patent prompts live in [`prompts/shared/design_lineart_assist.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/prompts/shared/design_lineart_assist.md). Utility model prompts use [`prompts/shared/structure_lineart_assist.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/prompts/shared/structure_lineart_assist.md), which the shared image-generation planner references when constructing functional drawing requests.