Technical Sponsor:Zak Robinson, Michelle Lee, David Choi, Jonathon Victor, Maria Juranic
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT and APACHE2 licenses?:
No, but we are very happy to open source any parts of the project we can.
Project Description
Uploading to NFT.storage is not very user friendly in that it requires some level of coding experience beyond what a typical artist may be capable of (we're aware that the Protocol Labs team is also working on this). In addition, Cavalry’s authoring environment allows artists to generate artwork and animations including ‘collections’ without any coding knowledge but does not currently provide a native way to author such projects with accompanying metadata to web3/ipfs.
We propose to create a simple and seamless workflow for a Cavalry user to easily upload rendered content and associated metadata to NFT.storage.
Value
Despite its high profile, the world of NFTs/ Web3 remains alien to a large cohort of the creative communities. We believe that this project will remove some of the current friction and so open up the benefits of the IPFS protocol, primarily for sharing creations intended for use with NFTs but also around the wider implications around file storage and sharing in general.
Within the scope we are proposing here, we feel the risk of failure is relatively low. Much of the technical aspects are well understood so we see the challenges here lie in the user experience. How does a user connect attributes of their creative in order to output a formatted metadata text file? How does a user monitor the progress of their uploads? The experience needs to be seamless in order to meet our goal of simplifying the process for artists.
We see this project as a stepping stone to broader support within the Web3 ecosystem with an eye to extending the workflows to minting in the future.
Deliverables
An upload to NFT.storage feature within Cavalry comprising:
A ‘metadata creator’ window in order to link attributes within a scene to a ‘per render’ text output.
Direct upload to NFT.storage capability as part of the rendering process.
Entering and storing an API key.
Video Tutorial(s)
Documentation.
Development Roadmap
Design/ Exploration
Build a bare bones implementation of the upload process via Cavalry’s new scripting APIs to gain a better understanding of the process/ pitfalls. This is theoretically possible with the Web API recently introduced to Cavalry and will inform decisions on the final implementation.
Design and plan workflows/ features.
Time - 4 days
Implementation
Metadata
The Metadata Builder (name TBC) will be a new window in Cavalry that will allow a user to take attributes from layers within their scene and connect them as ‘key’ entries within the metadata. A .txt or .json file is then created at render time as a list of each key and its value for each individual render. This could be output as one long file or individual files for each render.
Here is a schematic of how we see the flow working:
Time estimate - 15 days
Upload Manager
The Upload Manager (name TBC) will be a new window in Cavalry (or an addition to the existing Render Manager) that will allow users to upload their renders directly to NFT.storage either at render time or as a separate post process. We propose that a user will be presented with an option to choose the upload destination and also provide a link to launch NFT.storage in a browser window (external to Cavalry).
Here is a schematic of how we see the flow working:
Time estimate - 15 days
Note - there may be some crossover here with the JS Library mentioned that PL are already building.
API key(s)
Provide a mechanism for users to enter and store their API key(s). This is likely to be saved as a preference (e.g. set once).
Here is a schematic of how we see the flow working:
Time estimate - 3 days
Tutorial(s)
Create a tutorial or series of tutorials to explain the creation, set up and upload process. e.g.
Car Gen/ Chunking - we'd like to avoid this if possible in favour of a) imposing a temp limit before b) using the streaming solution you are working on.
Minting (or connect to OpenSea)
Promo video.
Total Budget Requested
$50k
As a guide, we estimate the budget will be split as follows:
65% Development
25% Design
10% Project Management
Maintenance and Upgrade Plans
Regression testing and feature stability is closely monitored as part of the wider Cavalry project so we will ensure this and future related features are kept in working order. Any future changes to NFT.storage that will result in changes being required in Cavalry should be communicated well in advance by the Protocol Labs team — any potential file breaking changes will be given a high priority and scheduled as part of the next public release.
Scene Group and Cavalry were born out of animation and VFX production company Mainframe (https://mainframe.co.uk/), a studio with a 20+ year heritage creating content for some of the biggest brands in the world. The technical challenges faced on projects resulted in the creation of in-house tools, primarily as plug-ins to Autodesk Maya. This culminated in the sale of several of these tools to Autodesk including procedural animation toolkit MASH. Cavalry was conceived in 2017 and has been on a mission to modernise 2d animation workflows ever since.
Team code repositories
Sorry but...
Autodesk Maya related repositories are now private (owned by Autodesk).
The Cavalry repository is also private.
Additional Information
Cavalry as an authoring platform is very well suited for generative art and work where 'variation on a theme' is involved and we’re aware that many of our users are using Cavalry as a creation tool for work they are making available as NFTs — we’d like to improve the user experience for that cohort alongside introducing newcomers to the technology.
As a modern animation application we feel it’s important we align ourselves with the latest adjacent technologies which mutually benefit our users whether that’s today or in the short-mid term future. We feel an association with NFT.storage strongly supports that approach.
Cavalry's licensing is based on a freemium model and so this feature will get good visibility within the software. It should be noted that a Professional licence is required for certain features where high output volume is needed.
Open Grant Proposal:
Cavalry to NFT.storage
Name of Project: Cavalry to NFT.storage
Proposal Category:
app-dev
Proposer:
sg-chris
Technical Sponsor:
Zak Robinson, Michelle Lee, David Choi, Jonathon Victor, Maria Juranic
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT and APACHE2 licenses?:
No, but we are very happy to open source any parts of the project we can.
Project Description
Uploading to NFT.storage is not very user friendly in that it requires some level of coding experience beyond what a typical artist may be capable of (we're aware that the Protocol Labs team is also working on this). In addition, Cavalry’s authoring environment allows artists to generate artwork and animations including ‘collections’ without any coding knowledge but does not currently provide a native way to author such projects with accompanying metadata to web3/ipfs.
We propose to create a simple and seamless workflow for a Cavalry user to easily upload rendered content and associated metadata to NFT.storage.
Value
Despite its high profile, the world of NFTs/ Web3 remains alien to a large cohort of the creative communities. We believe that this project will remove some of the current friction and so open up the benefits of the IPFS protocol, primarily for sharing creations intended for use with NFTs but also around the wider implications around file storage and sharing in general.
Within the scope we are proposing here, we feel the risk of failure is relatively low. Much of the technical aspects are well understood so we see the challenges here lie in the user experience. How does a user connect attributes of their creative in order to output a formatted metadata text file? How does a user monitor the progress of their uploads? The experience needs to be seamless in order to meet our goal of simplifying the process for artists.
We see this project as a stepping stone to broader support within the Web3 ecosystem with an eye to extending the workflows to minting in the future.
Deliverables
Development Roadmap
Design/ Exploration
Time - 4 days
Implementation
Metadata
The Metadata Builder (name TBC) will be a new window in Cavalry that will allow a user to take attributes from layers within their scene and connect them as ‘key’ entries within the metadata. A .txt or .json file is then created at render time as a list of each key and its value for each individual render. This could be output as one long file or individual files for each render.
Here is a schematic of how we see the flow working:
Time estimate - 15 days
Upload Manager
The Upload Manager (name TBC) will be a new window in Cavalry (or an addition to the existing Render Manager) that will allow users to upload their renders directly to NFT.storage either at render time or as a separate post process. We propose that a user will be presented with an option to choose the upload destination and also provide a link to launch NFT.storage in a browser window (external to Cavalry).
Here is a schematic of how we see the flow working:
Time estimate - 15 days
Note - there may be some crossover here with the JS Library mentioned that PL are already building.
API key(s)
Provide a mechanism for users to enter and store their API key(s). This is likely to be saved as a preference (e.g. set once).
Here is a schematic of how we see the flow working:
Time estimate - 3 days
Tutorial(s)
Create a tutorial or series of tutorials to explain the creation, set up and upload process. e.g.
Time estimate - 3 days
Documentation
The features listed above would be documented and added to https://docs.cavalry.scenegroup.co/
Time estimate - 1 day
Stretch goals
Total Budget Requested
$50k
As a guide, we estimate the budget will be split as follows:
Maintenance and Upgrade Plans
Regression testing and feature stability is closely monitored as part of the wider Cavalry project so we will ensure this and future related features are kept in working order. Any future changes to NFT.storage that will result in changes being required in Cavalry should be communicated well in advance by the Protocol Labs team — any potential file breaking changes will be given a high priority and scheduled as part of the next public release.
Team
Team Members
Team Member LinkedIn Profiles
https://www.linkedin.com/in/ian-waters-850b8116/ https://www.linkedin.com/in/chrishardcastle/
Team Website
https://cavalry.scenegroup.co
Relevant Experience
Scene Group and Cavalry were born out of animation and VFX production company Mainframe (https://mainframe.co.uk/), a studio with a 20+ year heritage creating content for some of the biggest brands in the world. The technical challenges faced on projects resulted in the creation of in-house tools, primarily as plug-ins to Autodesk Maya. This culminated in the sale of several of these tools to Autodesk including procedural animation toolkit MASH. Cavalry was conceived in 2017 and has been on a mission to modernise 2d animation workflows ever since.
Team code repositories
Sorry but...
Additional Information
Cavalry as an authoring platform is very well suited for generative art and work where 'variation on a theme' is involved and we’re aware that many of our users are using Cavalry as a creation tool for work they are making available as NFTs — we’d like to improve the user experience for that cohort alongside introducing newcomers to the technology.
As a modern animation application we feel it’s important we align ourselves with the latest adjacent technologies which mutually benefit our users whether that’s today or in the short-mid term future. We feel an association with NFT.storage strongly supports that approach.
Cavalry's licensing is based on a freemium model and so this feature will get good visibility within the software. It should be noted that a Professional licence is required for certain features where high output volume is needed.