@huaqiu/dsh-hqsch 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +43 -0
- package/cordis.patch.yml +13 -0
- package/lib/index.d.mts +98 -0
- package/lib/index.mjs +159 -0
- package/package.json +40 -0
- package/skills/hqsch-scenario-b/AGENTS.md +209 -0
- package/skills/hqsch-scenario-b/CLAUDE.md +209 -0
- package/skills/hqsch-scenario-b/INSTALL.md +140 -0
- package/skills/hqsch-scenario-b/SKILL.md +107 -0
- package/skills/hqsch-scenario-b/SYSTEM-PROMPT.md +209 -0
- package/skills/hqsch-scenario-b/docs/circuit-pattern-layout.md +304 -0
- package/skills/hqsch-scenario-b/docs/editing-a-circuit.md +167 -0
- package/skills/hqsch-scenario-b/docs/part-search.md +244 -0
- package/skills/hqsch-scenario-b/docs/placement-conventions.md +714 -0
- package/skills/hqsch-scenario-b/docs/property-conventions.md +225 -0
- package/skills/hqsch-scenario-b/docs/quickstart.md +99 -0
- package/skills/hqsch-scenario-b/docs/reading-a-circuit.md +317 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-auto-connect-objects-by-id.md +98 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-delete-objects-by-ids.md +94 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-find-object-by-property.md +101 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-list-wire-segments.md +94 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-mirror-objects-by-ids.md +96 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-rotate-objects-by-ids.md +94 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-set-object-property.md +99 -0
- package/skills/hqsch-scenario-b/docs/rpc/canvas-zoom-all.md +92 -0
- package/skills/hqsch-scenario-b/docs/rpc/find-find-object.md +96 -0
- package/skills/hqsch-scenario-b/docs/rpc/kernel-get-snapshot.md +104 -0
- package/skills/hqsch-scenario-b/docs/rpc/netlist-get-active-page-net-list.md +87 -0
- package/skills/hqsch-scenario-b/docs/rpc/netlist-get-port-pairing.md +34 -0
- package/skills/hqsch-scenario-b/docs/rpc/obj-place-place-pin-stub-wire-and-net-alias.md +114 -0
- package/skills/hqsch-scenario-b/docs/rpc/pattern-layout-apply-circuit-pattern.md +125 -0
- package/skills/hqsch-scenario-b/docs/rpc/pattern-layout-get-page-occupancy.md +100 -0
- package/skills/hqsch-scenario-b/docs/rpc/pattern-layout-list-circuit-patterns.md +97 -0
- package/skills/hqsch-scenario-b/docs/rpc/placement-list-part-libraries.md +94 -0
- package/skills/hqsch-scenario-b/docs/rpc/placement-list-symbol-libraries.md +94 -0
- package/skills/hqsch-scenario-b/docs/rpc/placement-place-kicad-symbol.md +105 -0
- package/skills/hqsch-scenario-b/docs/rpc/placement-place-part-from-library.md +106 -0
- package/skills/hqsch-scenario-b/docs/rpc/placement-place-symbol-from-library.md +108 -0
- package/skills/hqsch-scenario-b/docs/rpc/project-get-active-project.md +96 -0
- package/skills/hqsch-scenario-b/docs/rpc/project-list-open-projects.md +99 -0
- package/skills/hqsch-scenario-b/docs/rpc-availability.md +97 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/canvas.md +81 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/find.md +36 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/kernel.md +36 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/netlist.md +38 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/obj-place.md +76 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/pattern-layout.md +38 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/placement.md +48 -0
- package/skills/hqsch-scenario-b/docs/rpc-index/project.md +47 -0
- package/skills/hqsch-scenario-b/docs/serialization.md +60 -0
- package/skills/hqsch-scenario-b/docs/skill-dependencies.md +93 -0
- package/skills/hqsch-scenario-b/skill.json +13 -0
- package/skills/hqsch-scenario-b/template/package.json +16 -0
- package/skills/hqsch-scenario-b/template/scripts/edit-property-by-ref.ts +44 -0
- package/skills/hqsch-scenario-b/template/scripts/fix-designators.ts +52 -0
- package/skills/hqsch-scenario-b/template/scripts/hello.ts +46 -0
- package/skills/hqsch-scenario-b/template/scripts/read-circuit.ts +357 -0
- package/skills/hqsch-scenario-b/template/scripts/replace-part-by-ref.ts +44 -0
- package/skills/hqsch-scenario-b/template/scripts/rewire-pin-by-ref.ts +42 -0
- package/skills/hqsch-scenario-b/template/tsconfig.json +11 -0
- package/src/config.ts +25 -0
- package/src/index.ts +186 -0
- package/src/paths.ts +48 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-auto-connect-objects-by-id
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: AutoConnectObjectsById
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
Auto Connect Objects By Id via CanvasOpsService.AutoConnectObjectsById
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: AutoConnectObjectsRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Auto Connect Objects By Id
|
|
24
|
+
|
|
25
|
+
Auto Connect Objects By Id via CanvasOpsService.AutoConnectObjectsById
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.AutoConnectObjectsById`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-auto-connect-objects-by-id` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `AutoConnectObjectsById` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `AutoConnectObjectsRequest` |
|
|
39
|
+
| Response type | `BoolResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
| `objectId1` | `bigint` | yes | no | — |
|
|
47
|
+
| `pinNum1` | `number[]` | no | yes | — |
|
|
48
|
+
| `objectId2` | `bigint` | yes | no | — |
|
|
49
|
+
| `pinNum2` | `number[]` | no | yes | — |
|
|
50
|
+
|
|
51
|
+
## Response
|
|
52
|
+
|
|
53
|
+
Returns a `BoolResponse` message with the following fields:
|
|
54
|
+
|
|
55
|
+
| Name | Type | Repeated | Description |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| `value` | `boolean` | no | — |
|
|
58
|
+
|
|
59
|
+
## Response Example
|
|
60
|
+
|
|
61
|
+
Representative response structure (field values are placeholders):
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"value": false
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Prerequisites
|
|
70
|
+
|
|
71
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
72
|
+
|
|
73
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
74
|
+
|
|
75
|
+
## How to Use
|
|
76
|
+
|
|
77
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
81
|
+
|
|
82
|
+
const skill = getSkill("canvas-auto-connect-objects-by-id");
|
|
83
|
+
const result = await skill.execute({ client }, {
|
|
84
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
85
|
+
objectId1: "123456789",
|
|
86
|
+
pinNum1: [{}],
|
|
87
|
+
});
|
|
88
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
92
|
+
|
|
93
|
+
## Related Skills
|
|
94
|
+
|
|
95
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
96
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
97
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/auto-connect-objects-by-id`
|
|
98
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-delete-objects-by-ids
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: DeleteObjectsByIds
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
Delete Objects By Ids via CanvasOpsService.DeleteObjectsByIds
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: ObjectsByIdsRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Delete Objects By Ids
|
|
24
|
+
|
|
25
|
+
Delete Objects By Ids via CanvasOpsService.DeleteObjectsByIds
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.DeleteObjectsByIds`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-delete-objects-by-ids` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `DeleteObjectsByIds` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `ObjectsByIdsRequest` |
|
|
39
|
+
| Response type | `SuccessResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
| `objectIds` | `bigint[]` | no | yes | — |
|
|
47
|
+
|
|
48
|
+
## Response
|
|
49
|
+
|
|
50
|
+
Returns a `SuccessResponse` message with the following fields:
|
|
51
|
+
|
|
52
|
+
| Name | Type | Repeated | Description |
|
|
53
|
+
| --- | --- | --- | --- |
|
|
54
|
+
| `success` | `boolean` | no | — |
|
|
55
|
+
|
|
56
|
+
## Response Example
|
|
57
|
+
|
|
58
|
+
Representative response structure (field values are placeholders):
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"success": false
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Prerequisites
|
|
67
|
+
|
|
68
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
69
|
+
|
|
70
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
71
|
+
|
|
72
|
+
## How to Use
|
|
73
|
+
|
|
74
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
78
|
+
|
|
79
|
+
const skill = getSkill("canvas-delete-objects-by-ids");
|
|
80
|
+
const result = await skill.execute({ client }, {
|
|
81
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
82
|
+
objectIds: ["123456789"],
|
|
83
|
+
});
|
|
84
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
88
|
+
|
|
89
|
+
## Related Skills
|
|
90
|
+
|
|
91
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
92
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
93
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/delete-objects-by-ids`
|
|
94
|
+
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-find-object-by-property
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: FindObjectByProperty
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
object property
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: FindObjectByPropertyRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Find Object By Property
|
|
24
|
+
|
|
25
|
+
object property
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.FindObjectByProperty`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-find-object-by-property` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `FindObjectByProperty` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `FindObjectByPropertyRequest` |
|
|
39
|
+
| Response type | `FindObjectByPropertyResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
| `objTypeFilter` | `number` | yes | no | — |
|
|
47
|
+
| `propKey` | `string` | yes | no | — |
|
|
48
|
+
| `propValue` | `string` | yes | no | — |
|
|
49
|
+
|
|
50
|
+
## Response
|
|
51
|
+
|
|
52
|
+
Returns a `FindObjectByPropertyResponse` message with the following fields:
|
|
53
|
+
|
|
54
|
+
| Name | Type | Repeated | Description |
|
|
55
|
+
| --- | --- | --- | --- |
|
|
56
|
+
| `success` | `boolean` | no | — |
|
|
57
|
+
| `objectIds` | `bigint[]` | yes | — |
|
|
58
|
+
|
|
59
|
+
## Response Example
|
|
60
|
+
|
|
61
|
+
Representative response structure (field values are placeholders):
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"success": false,
|
|
66
|
+
"objectIds": [
|
|
67
|
+
"123456789"
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Prerequisites
|
|
73
|
+
|
|
74
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
75
|
+
|
|
76
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
77
|
+
|
|
78
|
+
## How to Use
|
|
79
|
+
|
|
80
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
84
|
+
|
|
85
|
+
const skill = getSkill("canvas-find-object-by-property");
|
|
86
|
+
const result = await skill.execute({ client }, {
|
|
87
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
88
|
+
objTypeFilter: 0,
|
|
89
|
+
propKey: "example",
|
|
90
|
+
});
|
|
91
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
95
|
+
|
|
96
|
+
## Related Skills
|
|
97
|
+
|
|
98
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
99
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
100
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/find-object-by-property`
|
|
101
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-list-wire-segments
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: ListWireSegments
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
List Wire Segments via CanvasOpsService.ListWireSegments
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: CanvasContextRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# List Wire Segments
|
|
24
|
+
|
|
25
|
+
List Wire Segments via CanvasOpsService.ListWireSegments
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.ListWireSegments`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-list-wire-segments` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `ListWireSegments` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `CanvasContextRequest` |
|
|
39
|
+
| Response type | `ListWireSegmentsResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
|
|
47
|
+
## Response
|
|
48
|
+
|
|
49
|
+
Returns a `ListWireSegmentsResponse` message with the following fields:
|
|
50
|
+
|
|
51
|
+
| Name | Type | Repeated | Description |
|
|
52
|
+
| --- | --- | --- | --- |
|
|
53
|
+
| `wires` | `WireSegmentInfo[]` | yes | — |
|
|
54
|
+
|
|
55
|
+
## Response Example
|
|
56
|
+
|
|
57
|
+
Representative response structure (field values are placeholders):
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"wires": [
|
|
62
|
+
{}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Prerequisites
|
|
68
|
+
|
|
69
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
70
|
+
|
|
71
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
72
|
+
|
|
73
|
+
## How to Use
|
|
74
|
+
|
|
75
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
79
|
+
|
|
80
|
+
const skill = getSkill("canvas-list-wire-segments");
|
|
81
|
+
const result = await skill.execute({ client }, {
|
|
82
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
83
|
+
});
|
|
84
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
88
|
+
|
|
89
|
+
## Related Skills
|
|
90
|
+
|
|
91
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
92
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
93
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/list-wire-segments`
|
|
94
|
+
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-mirror-objects-by-ids
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: MirrorObjectsByIds
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
mode: 1|2|3 required; 0=no-op
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: TransformObjectsByIdsRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Mirror Objects By Ids
|
|
24
|
+
|
|
25
|
+
mode: 1|2|3 required; 0=no-op
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.MirrorObjectsByIds`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-mirror-objects-by-ids` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `MirrorObjectsByIds` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `TransformObjectsByIdsRequest` |
|
|
39
|
+
| Response type | `SuccessResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
| `objectIds` | `bigint[]` | no | yes | — |
|
|
47
|
+
| `mode` | `number` | yes | no | For MirrorObjectsByIds: REQUIRED 1=horizontal, 2=vertical, 3=both (0=no-op, returns success=false). |
|
|
48
|
+
|
|
49
|
+
## Response
|
|
50
|
+
|
|
51
|
+
Returns a `SuccessResponse` message with the following fields:
|
|
52
|
+
|
|
53
|
+
| Name | Type | Repeated | Description |
|
|
54
|
+
| --- | --- | --- | --- |
|
|
55
|
+
| `success` | `boolean` | no | — |
|
|
56
|
+
|
|
57
|
+
## Response Example
|
|
58
|
+
|
|
59
|
+
Representative response structure (field values are placeholders):
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"success": false
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Prerequisites
|
|
68
|
+
|
|
69
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
70
|
+
|
|
71
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
72
|
+
|
|
73
|
+
## How to Use
|
|
74
|
+
|
|
75
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
79
|
+
|
|
80
|
+
const skill = getSkill("canvas-mirror-objects-by-ids");
|
|
81
|
+
const result = await skill.execute({ client }, {
|
|
82
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
83
|
+
objectIds: ["123456789"],
|
|
84
|
+
mode: 0,
|
|
85
|
+
});
|
|
86
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
90
|
+
|
|
91
|
+
## Related Skills
|
|
92
|
+
|
|
93
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
94
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
95
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/mirror-objects-by-ids`
|
|
96
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-rotate-objects-by-ids
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: RotateObjectsByIds
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
Rotate Objects By Ids via CanvasOpsService.RotateObjectsByIds
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: ObjectsByIdsRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Rotate Objects By Ids
|
|
24
|
+
|
|
25
|
+
Rotate Objects By Ids via CanvasOpsService.RotateObjectsByIds
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.RotateObjectsByIds`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-rotate-objects-by-ids` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `RotateObjectsByIds` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `ObjectsByIdsRequest` |
|
|
39
|
+
| Response type | `SuccessResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
| `objectIds` | `bigint[]` | no | yes | — |
|
|
47
|
+
|
|
48
|
+
## Response
|
|
49
|
+
|
|
50
|
+
Returns a `SuccessResponse` message with the following fields:
|
|
51
|
+
|
|
52
|
+
| Name | Type | Repeated | Description |
|
|
53
|
+
| --- | --- | --- | --- |
|
|
54
|
+
| `success` | `boolean` | no | — |
|
|
55
|
+
|
|
56
|
+
## Response Example
|
|
57
|
+
|
|
58
|
+
Representative response structure (field values are placeholders):
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"success": false
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Prerequisites
|
|
67
|
+
|
|
68
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
69
|
+
|
|
70
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
71
|
+
|
|
72
|
+
## How to Use
|
|
73
|
+
|
|
74
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
78
|
+
|
|
79
|
+
const skill = getSkill("canvas-rotate-objects-by-ids");
|
|
80
|
+
const result = await skill.execute({ client }, {
|
|
81
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
82
|
+
objectIds: ["123456789"],
|
|
83
|
+
});
|
|
84
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
88
|
+
|
|
89
|
+
## Related Skills
|
|
90
|
+
|
|
91
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
92
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
93
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/rotate-objects-by-ids`
|
|
94
|
+
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-set-object-property
|
|
3
|
+
metadata:
|
|
4
|
+
category: canvas
|
|
5
|
+
service: CanvasOpsService
|
|
6
|
+
method: SetObjectProperty
|
|
7
|
+
rpcKind: unary
|
|
8
|
+
description: >-
|
|
9
|
+
Set Object Property via CanvasOpsService.SetObjectProperty
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
vendor: Huaqiu Electronics
|
|
12
|
+
tags:
|
|
13
|
+
- eda
|
|
14
|
+
- huaqiu
|
|
15
|
+
- canvas
|
|
16
|
+
entry: "@huaqiu/hqeda"
|
|
17
|
+
manifest: "@huaqiu/hqeda/skill.json"
|
|
18
|
+
inputSchema:
|
|
19
|
+
name: SetObjectPropertyRequestSchema
|
|
20
|
+
namespace: HqServicesV1CanvasOpsService
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Set Object Property
|
|
24
|
+
|
|
25
|
+
Set Object Property via CanvasOpsService.SetObjectProperty
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
This skill provides access to the **`CanvasOpsService.SetObjectProperty`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
|
|
30
|
+
|
|
31
|
+
| Property | Value |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Skill ID | `canvas-set-object-property` |
|
|
34
|
+
| Service | `CanvasOpsService` |
|
|
35
|
+
| Method | `SetObjectProperty` |
|
|
36
|
+
| Transport | Unary (unary) |
|
|
37
|
+
| Domain | canvas |
|
|
38
|
+
| Request type | `SetObjectPropertyRequest` |
|
|
39
|
+
| Response type | `BoolResponse` |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Name | Type | Required | Repeated | Description |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| `context` | `ProjectContext` | no | no | — |
|
|
46
|
+
| `objectId` | `bigint` | yes | no | — |
|
|
47
|
+
| `propKey` | `string` | yes | no | — |
|
|
48
|
+
| `propValue` | `string` | yes | no | — |
|
|
49
|
+
| `op` | `ObjPropOp` | yes | no | — |
|
|
50
|
+
| `commitUndo` | `boolean` | yes | no | — |
|
|
51
|
+
|
|
52
|
+
## Response
|
|
53
|
+
|
|
54
|
+
Returns a `BoolResponse` message with the following fields:
|
|
55
|
+
|
|
56
|
+
| Name | Type | Repeated | Description |
|
|
57
|
+
| --- | --- | --- | --- |
|
|
58
|
+
| `value` | `boolean` | no | — |
|
|
59
|
+
|
|
60
|
+
## Response Example
|
|
61
|
+
|
|
62
|
+
Representative response structure (field values are placeholders):
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"value": false
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Prerequisites
|
|
71
|
+
|
|
72
|
+
- [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
|
|
73
|
+
|
|
74
|
+
See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
|
|
75
|
+
|
|
76
|
+
## How to Use
|
|
77
|
+
|
|
78
|
+
Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
import { getSkill, toJsonString } from "@huaqiu/hqeda";
|
|
82
|
+
|
|
83
|
+
const skill = getSkill("canvas-set-object-property");
|
|
84
|
+
const result = await skill.execute({ client }, {
|
|
85
|
+
context: "<ProjectContext via client.createProjectContext('my-project')>",
|
|
86
|
+
objectId: "123456789",
|
|
87
|
+
propKey: "example",
|
|
88
|
+
});
|
|
89
|
+
console.log(toJsonString(result, { prettySpaces: 2 }));
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
|
|
93
|
+
|
|
94
|
+
## Related Skills
|
|
95
|
+
|
|
96
|
+
- Other **canvas** skills: [`canvas/`](../)
|
|
97
|
+
- Full index: [All EDA skills](../../SKILL.md)
|
|
98
|
+
- Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/set-object-property`
|
|
99
|
+
|