-
Notifications
You must be signed in to change notification settings - Fork 52
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
Add the runtime value of arguments to operations #5206
base: main
Are you sure you want to change the base?
Conversation
QA Wolf here! As you write new code it's important that your test coverage is keeping up. |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Are you concerned about the operations becoming a lot bigger? |
6469b06
to
35a285d
Compare
e14ef5b
to
3832603
Compare
3832603
to
fafe35c
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5206 +/- ##
==========================================
+ Coverage 85.76% 85.77% +0.01%
==========================================
Files 94 94
Lines 34281 34369 +88
==========================================
+ Hits 29400 29480 +80
- Misses 4881 4889 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great! I'm excited to check it out more thoroughly on Monday, looks really promising
src/wasm-lib/kcl/tests/artifact_graph_example_code_offset_planes/ops.snap
Outdated
Show resolved
Hide resolved
This is a good addition, I think the artifactId's will help a lot for getting these other edit flows to work. One issue I see is with With the following KCL:
I get the following JS object for the operations: [
{
"type": "StdLibCall",
"name": "startSketchOn",
"unlabeledArg": null,
"labeledArgs": {
"data": {
"value": {
"type": "String",
"value": "XZ",
"__meta": [
{
"sourceRange": [
26,
30,
0
]
}
]
},
"sourceRange": [
26,
30,
0
]
}
},
"sourceRange": [
12,
31,
0
]
},
{
"type": "StdLibCall",
"name": "extrude",
"unlabeledArg": null,
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": 100,
"__meta": [
{
"sourceRange": [
106,
109,
0
]
}
]
},
"sourceRange": [
106,
109,
0
]
},
"sketch_set": {
"artifactIds": [
"487cfafc-927a-423d-9e6b-63ed3ac2dba0"
],
"sourceRange": [
111,
120,
0
]
}
},
"sourceRange": [
98,
121,
0
]
},
{
"type": "StdLibCall",
"name": "shell",
"unlabeledArg": null,
"labeledArgs": {
"data": {
"sourceRange": [
139,
174,
0
]
},
"solid_set": {
"artifactIds": [
"dac9e1e6-0852-475e-9464-f25146fb423d"
],
"sourceRange": [
176,
186,
0
]
}
},
"sourceRange": [
133,
187,
0
]
}
] I think I can get to the proper selection of the face artifact using the |
07201da
to
2bd5f8d
Compare
5639dc6
to
e284472
Compare
45053f1
to
18d5980
Compare
e284472
to
fbfaaa7
Compare
It seems like you want the full nested structure, which I was trying to avoid, but doing that should provide all the info you could ever want. I duplicated the entire structure of This is what a shell operation looks like.
|
fbfaaa7
to
1d93cd6
Compare
58455b2
to
27a9405
Compare
I updated the example shell above since the move to keyword args. Note the source range of all zeros. It's because the solid was implicit in the pipeline. No |
1a5199c
to
e90662f
Compare
This is super interesting. Another example, I think, of just how much geometry will have no code reference. Funny how kwargs is making that even more the case. |
e90662f
to
82c8a86
Compare
4af1eb9
to
6a0e9d1
Compare
6a0e9d1
to
00aae25
Compare
Resolves #5187. Stacked on #5205.
Using the full values made the size of Operations a lot bigger. We only include UUIDs, bools, numbers, ints, and strings. Other geometry like sketches only contain their artifact ID so that the UI can look it up in the artifact graph.