Node Spaghetti ns

ns pushed to master at ns/mantis

  • 37a682cf2f fix drivers not working in curve pin over a single character lmao

3 days ago

ns pushed to master at ns/mantis

  • 0d1adf3908 metarig cache scaffolding this commit halfway implements a metarig cache it isn't actually called or used anywhere yet, but i tested it and it works soon I will make the metarig node use this to get the data from the tree and to refresh the metarig data whenever it is modified
  • ce0e972f0d reorganize, fix socket update
  • 6eca9a08aa Fix: 5.2 compatibility for Morph Deform
  • 2bacd23f5e fix: deformers stopped working in chains
  • c15145a4d0 fix data type retrieval for overlays two problems here: 1: base values were checked against "if not" instead of "is None" some of python's syntactic sugar is just outright hostile to devs 2: autogen nodes would always read as strings if they have variables because Mantis was checking the type of the value, not the type of the socket...
  • View comparison for these 11 commits »

3 days ago

ns pushed to master at ns/mantis

  • a0037c00ff interface update causes tree update this commit is terrible, I accidentally made it because VSCODE is the absolute worst software ever made and it sucks and it is very bad and is just terrible. anyhow I'm just doing it because fixing VSCODE's mistake is more trouble than fixing this awful commit
  • 98705ef12d interface update causes tree update this commit is terrible, I accidentally made it because VSCODE is the absolute worst software ever made and it sucks and it is very bad and is just terrible. anyhow I'm just doing it because fixing VSCODE's mistake is more trouble than fixing this awful commit
  • View comparison for these 2 commits »

6 days ago

ns pushed to master at ns/mantis

  • 98705ef12d interface update causes tree update this commit is terrible, I accidentally made it because VSCODE is the absolute worst software ever made and it sucks and it is very bad and is just terrible. anyhow I'm just doing it because fixing VSCODE's mistake is more trouble than fixing this awful commit
  • 63a16dfd24 overlay variable for schema length
  • 0a6f922539 fix widget import in 5.2
  • 25ddc7b01a fix CTD from insert_link callback
  • 45f0fae36d fix bone display options versioning
  • View comparison for these 11 commits »

6 days ago

ns pushed to master at ns/mantis

  • 5ce1e6fb59 Fix (?) mContext interface key no tag remove autogen tag and always use None the idea is that we don't miss Interface nodes because of autogen or schema-gen tags I did not run into this problem and I don't think there can be name clashes so this may be unnecessary but it may proactively prevent some bugs
  • fcd405ab0e Fix: root tree overlays not working because the types were not being handled right, mostly
  • f5fb53ff83 fix: overlay button for Simple Input
  • 7c0e7e9aa9 fix: autogen nodes to overlay
  • fd9cbe326b fix: handle_overlay_detect types
  • View comparison for these 23 commits »

1 week ago

ns pushed to master at ns/mantis

  • d87c7eff33 execute only passes that nodes define this is a very minor optimization that doesn't really save an appreciable amount of time but it reduces function calls by a few thousand, and branching on a set is faster than calling a no-op function, even if it is only marginally so

1 week ago

ns pushed to master at ns/mantis

  • 2fb4c48324 remove excess function call in schema this commit cuts function calls by >30k in my stego test graph
  • 634d736dba BIG REFACTOR of evaluate_sockets This commit completely refactors evaluate_sockets and the driver system Instead of being an utterly impenatreble bog with complicated branching where I try to solve every problem at once right at the end we prepare the solution ahead of time cache as much as we can do the least work possible when evaluating the sockets It's much, much simpler. Most of the complexity comes from handling the 4 different kinds of Mantis Socket <==> Blender Property relationships which are thoroghly explained in the comment above base_definitions.gen_property_socket_map() This is a very big commit, but I tested it thoroughly Every driver that formerly worked and some which did not are all working in my stego test graph This commit also substantially improves performance when executing the tree.
  • 61403562b3 Fix prep_driver_values in CurvePin really ridiculous huge commit for such a small bug lmao still not 100% done; I need to write an expression parser for drivers and I also need an expression parser for overlay variables so... I'll implement it then
  • c8d0bc6f19 revert previous commit
  • c364d30b09 ensure sort_execution is depth-ordered
  • View comparison for these 38 commits »

2 weeks ago

ns pushed to master at ns/mantis

3 weeks ago

ns pushed to master at ns/mantis

3 weeks ago

ns pushed to master at ns/mantis

  • 1db3ee69be Fix: Socket Template for IK Stiffness I did not do versioning because i caught it before a release

3 weeks ago

ns pushed to master at ns/mantis

  • 97aff31c86 fix: selection sync error before execution
  • ddf732e7f6 Fix: Schema not setting interfac correctly
  • a18b3be4e0 fix selection sync error on empty graphs
  • 61a6e47f5f Overlay: Int/Float Support this commit also adds nicer error messages there are still some bugs in Overlay, for example, I have to manually invalidate the node tree cache to catch changes this should never be required for the end user
  • 58fac0c637 Handle Quotes in overlay
  • View comparison for these 6 commits »

4 weeks ago

ns pushed to master at SimulacrumGroup/simulacrum

4 weeks ago

ns pushed to master at ns/mantis

  • febb181a66 partial: new matrix from curve/ compose matrix mode

4 weeks ago

ns pushed to master at ns/mantis

  • 6b48cb8702 cleanup clarity/consistency in __init__
  • 1a78fbcf01 cleanup socket definitions also adds a socket type that I am using in the near future
  • 72f16bd3e6 cleanup remove old commented lines
  • 3d5816e006 Fix? infinite Loop from Socket Update this commit prevents an infinite loop caused by adding/removing a link causing schema nodes' socket updates to trigger infinity updates I am not smart enough to figure this out right now. but I think I have fixed it
  • d35aec39d1 Fix: versioning adds duplicate custom props input
  • View comparison for these 8 commits »

4 weeks ago

ns pushed to master at ns/mantis

  • 9fba5be67f Big Fix Cleanup: Mantis Socket Fillers This very BIG commit adds a new system to simplify the way socket templates are used to generate property-socket maps. Originally, this system was just a dict then it became a dict with nested tuples and it was unbelievably complicated this commit makes a new data class to simplify things and make the code easier to understand as a consequence of this work, I've finally fixed the bug where I could only assign a driver to the last weight in the Armature node... I've finished implementing the basic features of the BBone and made it so armatures can always have drivers for the drivable properties, hooray!
  • 0cebd85655 Array properties can be given single driver now Previously, connecting a single driver to an array was an error While trying to generate a warning, I found out it was easier to just implicitlly use the single driver for all three channels... for some properties anyway.
  • b9c844629e fix: bone display update it just wasn't working right. this should be better we shouldn't require a mantis node to do most of that stuff this commit only checks the mantis node if it needs to
  • f9dc2cc911 fix: s.sync error when tree empty
  • fd30f33afc Fix: armature and fcurve versioning i forgot to check if it was actually needed lol
  • View comparison for these 12 commits »

4 weeks ago

ns pushed to master at ns/mantis

  • 555c99e212 Improve Selection Sync This commit improves selection sync with persistent dicts that store the actual mapping between ui nodes and created objects it is faster because I don't have to search for the mantis nodes that are spawned by the selected ui nodes. This commit also does half of the setup for syncing 3D View selection to the node graph
  • e8d99c3143 cleanup this commit moves some files into folders and removes old code that isn't used
  • 288d3de6c1 Fix: Don't cause errors for un-jsonable attributes I'm doing this because other addon developers are rude and add properties to my objects without checking if they need them This confuses my code and throws errors for some users.
  • 52310a52c7 Cleanup: Move utility files into folder
  • d59721dc96 Cleanup move visualize.py into dev_helpers
  • View comparison for these 11 commits »

1 month ago

ns created repository SimulacrumGroup/simulacrum

1 month ago

ns pushed to master at ns/mantis

  • 0c37db01a3 New Feature: Overlay Variables This commit adds the Overlay Variables feature to Mantis. Overlays are a way of passing data from parent node trees throughout the tree, so that a node in Mantis can request the value of a group-node input from any group node in its hierarchy. The "newest" version of the Overlay is always used.

1 month ago

ns pushed to master at ns/mantis

  • 1d676f7672 Fix: socket_templates break io i really need to do something smarter than a manual white/black list

1 month ago

ns pushed to master at ns/mantis

  • cef56b4a5d add new dataclasses for bone transforms important: this does not implement the functionality of the dataclasses or use them anywhere!! That will come in future commits. It is kind of a big job. the idea behind this change is to make matrix usage more consistent for example by cleanly separating length from the matrix, by adding metadata for e.g. space transforms but most importantly the BBone dataclass helps us pack all the various data from the BBone together I'll add some methods to do bezier curve stuff, maybe. it'll be nice and easy for the user, because all the BBone data can be sent into the Bone as a bag of data my goal is to make Bone nodes a bit more modular in the future since graphs are kinda confusing right now

1 month ago