External Bugs: Tracker #34

Open
opened 2024-05-04 19:14:09 +02:00 by so-rose · 0 comments

We want to be good citizens, and to do our part by reporting bugs we find in the software we rely on.
This Issue tracks anything we might find.

Blender Bugs

Reported:

Unreported:

  • The __mp_main__ bug.
  • Matrix Display Bug: The data given to matrix properties is entirely ignored in the UI; the data is flattened, then left-to-right, up-to-down, the data is inserted. It's neither row-major nor column-major - it's completely flat.
    • Though, if one wanted row-major (as is consistent with mathutils.Matrix), one would be disappointed - the UI prints the matrix property column-major
    • Trying to set the matrix property with a mathutils.Matrix is even stranger - firstly, the size of the mathutils.Matrix must be transposed with respect to the property size (again the col/row major mismatch). But secondly, even when accounting for the col/row major mismatch, the values of a ex. 2x3 (row-major) matrix (written to with a 3x2 matrix with same flattened sequence) is written in a very strange order:
    • Write mathutils.Matrix [[0,1], [2,3], [4,10]]: Results in (UI displayed row-major) [[0,3], [4,1], [3,5]]
    • Workaround (write): Simply flatten the 2D array, re-shape by [cols,rows]. The UI will display as the original array. myarray.flatten().reshape([cols,rows]).
    • Workaround (read): np.array([[el1 for el1 in el0] for el0 in BLENDER_OBJ.matrix_prop]).flatten().reshape([rows,cols]). Simply flatten the property read 2D array and re-shape by [rows,cols]. Mind that data type out is equal to data type in.

Thoughts / Enhancements:

  • I wanted to use Blender's unit system, but it simply doesn't have enough flexibility. It would be nice to be able to more easily "go smaller" / "faster" for example. It's probably hard, I'm thinking - but it's very nice if one is doing science with Blender, or even just trying to make sure the true scales are visually represented.
  • alignment='CENTER' also doesn't align the checkboxes in their cells for bool matrices.
  • For bool matrices, toggle=True has no effect. It would be nice to get toggle buttons in a grid, instead of checkboxes.
  • Can't update items using the id_properties_ui of EnumProperty.
    • Less a bug than an annoyance - it would allow avoiding several uses of the dynamic callback (and the mischief that it brings!) by simply swapping static sockets around. Although at that point, perhaps one faces the same problems as with using a dynamic callback anyway.

Tasks

  • Finish understanding and documenting the __mp_main__ bug with a minimal working example.
  • Create a minimal working example of the matrix display bug, and compile documentation with snippets from this code base about how we do our workaround in practice right now.
  • Followup on the discussion about addon dependencies with a concrete, actionable way past a lot of the confusions w/addon extensions, with the help of iienv (#33).

Tidy3D Bugs

Reported:

Unreported:

  • Directly running SimulationTask.get() results in missing fields - including some of importance like created_at.
    • Listing tasks by folder works, but is far slower / more taking on the server than likely nice.
    • This results in some workaround stuff for trying to update all information for a single task, in a reliable way.
  • No deprecation warning on tidy3d.ModeSolverMonitor.

Thoughts / Enhancements:

  • Frequency ranges don't check for repeated elements. While it's generally rare/weird to be repeating the same frequency 200 times, it'd be a perfectly fine validation to have on the models that take frequencies to ensure that the frequencies don't overlap.
    • Bonus for checking monotonicity. I don't see a valid use case of non-monotonic frequencies.

Tasks

  • Document the tdcloud service thoroughly, gather issues that needed working around, and report them individually.
  • Open a GitHub discussion which, constructively, tries to point out the shortcomings of td.web that made tdcloud difficult without it needing to be.
We want to be good citizens, and to do our part by reporting bugs we find in the software we rely on. This Issue tracks anything we might find. # Blender Bugs Reported: - (SOLVED) <https://projects.blender.org/blender/blender/issues/119664> - Animated properties within custom node trees don't update with the frame. - See: <https://projects.blender.org/blender/blender/issues/66392> Unreported: - The `__mp_main__` bug. - **Matrix Display Bug**: The data given to matrix properties is entirely ignored in the UI; the data is flattened, then left-to-right, up-to-down, the data is inserted. It's neither row-major nor column-major - it's completely flat. - Though, if one wanted row-major (**as is consistent with `mathutils.Matrix`**), one would be disappointed - the UI prints the matrix property column-major - Trying to set the matrix property with a `mathutils.Matrix` is even stranger - firstly, the size of the `mathutils.Matrix` must be transposed with respect to the property size (again the col/row major mismatch). But secondly, even when accounting for the col/row major mismatch, the values of a ex. 2x3 (row-major) matrix (written to with a 3x2 matrix with same flattened sequence) is written in a very strange order: - Write `mathutils.Matrix` `[[0,1], [2,3], [4,10]]`: Results in (UI displayed row-major) `[[0,3], [4,1], [3,5]]` - **Workaround (write)**: Simply flatten the 2D array, re-shape by `[cols,rows]`. The UI will display as the original array. `myarray.flatten().reshape([cols,rows])`. - **Workaround (read)**: `np.array([[el1 for el1 in el0] for el0 in BLENDER_OBJ.matrix_prop]).flatten().reshape([rows,cols])`. Simply flatten the property read 2D array and re-shape by `[rows,cols]`. Mind that data type out is equal to data type in. Thoughts / Enhancements: - I wanted to use Blender's unit system, but it simply doesn't have enough flexibility. It would be nice to be able to more easily "go smaller" / "faster" for example. _It's probably hard, I'm thinking - but it's very nice if one is doing science with Blender, or even just trying to make sure the true scales are visually represented_. - `alignment='CENTER'` also doesn't align the checkboxes in their cells for bool matrices. - For bool matrices, `toggle=True` has no effect. It would be nice to get toggle buttons in a grid, instead of checkboxes. - Can't update `items` using the `id_properties_ui` of `EnumProperty`. - Less a bug than an annoyance - it would allow avoiding several uses of the dynamic callback (and the mischief that it brings!) by simply swapping static sockets around. Although at that point, perhaps one faces the same problems as with using a dynamic callback anyway. ## Tasks - [ ] Finish understanding and documenting the `__mp_main__` bug with a minimal working example. - [ ] Create a minimal working example of the matrix display bug, and compile documentation with snippets from this code base about how we do our workaround in practice right now. - [ ] Followup on the discussion about addon dependencies with a concrete, actionable way past a lot of the confusions w/addon extensions, with the help of `iienv` (#33). # Tidy3D Bugs Reported: - (SOLVED) Confusing UX for spherical coordinates. - See: <https://github.com/flexcompute/tidy3d/issues/1683> Unreported: - Directly running `SimulationTask.get()` results in missing fields - including some of importance like `created_at`. - Listing tasks by folder works, but is far slower / more taking on the server than likely nice. - This results in some workaround stuff for trying to update _all_ information for a single task, in a reliable way. - No deprecation warning on `tidy3d.ModeSolverMonitor`. Thoughts / Enhancements: - Frequency ranges don't check for repeated elements. While it's generally rare/weird to be repeating the same frequency 200 times, it'd be a perfectly fine validation to have on the models that take frequencies to ensure that the frequencies don't overlap. - Bonus for checking monotonicity. I don't see a valid use case of non-monotonic frequencies. ## Tasks - [ ] Document the `tdcloud` service thoroughly, gather issues that needed working around, and report them individually. - [ ] Open a GitHub discussion which, **constructively**, tries to point out the shortcomings of `td.web` that made `tdcloud` difficult without it needing to be.
so-rose added the
docs
tracker
labels 2024-05-04 19:14:09 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: so-rose/oscillode#34
There is no content yet.