Comments (2)
This sounds overly complex @Keavon. Could we think about having a system whereby there is only one version of each node for increased simplicity? For example blender doesn't allow users to have different versions of the same node.
from graphite.
We need some way to let us upgrade nodes without breaking user documents which depend on its proto node and/or document node's network. One situation is when the "signature" of the node changes, and we could induce an upgrade (that's what Blender does). The other situation is when the algorithm itself changes, in which case we need to potentially mark the node as deprecated but still reference the old implementation (particularly its proto node that we'd archive), so as to ensure that users can open documents in the future without the rendered output changing.
This relates to #1609 and the node marketplace, which would essentially be our ecosystem's package manager for both first-party (included out-of-the-box) and third-party nodes. We, and third parties, will need the ability to publish updated nodes (probably using semver). This issue essentially talks about that aspect of the package manager system we'll be building, but potentially an early form of just the versioning system in what will become the full package manager.
Please let me know if you have any questions about that.
from graphite.
Related Issues (20)
- "Flip" view navigation button HOT 1
- Fix Deep/Shallow selection regression HOT 1
- Can't drag selected layers. HOT 2
- Caching the WASM using service workers HOT 1
- Audit and reclassify node catalog HOT 2
- Filled but open shapes don't have click targets for their fill
- [Crash Report] HOT 1
- Contravariance for node inputs with automatic coercion
- Stable document format MVP
- (Question) What is the Cargo package of the desktop client? HOT 3
- (Design suggestion) Replace GTK by a Rust GUI toolkit HOT 5
- BorrowTree inconsistency when closing and opening document
- Crash when selecting node with Widget::NumberInput in properties panel HOT 2
- Cannot set network export to NodeInput::Network
- Visualize data type wire and connector colors based on actual data
- Connector input index skips hidden inputs HOT 1
- Hidden inputs not added to BorrowTree inputs_source_map
- Clicking a selected anchor should deselect all other selected points
- Move node graph interaction logic to backend
- Pen's pressure HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphite.