filecoin-project / devgrants

👟 Apply for a Filecoin devgrant. Help build the Filecoin ecosystem!
Other
376 stars 308 forks source link

Cavalry to NFT.storage #447

Closed sg-chris closed 2 years ago

sg-chris commented 2 years ago

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:

NFT Storage - Metadata drawio

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:

NFT Storage - Upload drawio

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:

NFT Storage - API drawio (1)

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.

realChainLife commented 2 years ago

Hi @sg-chris thank you for this proposal. We would like to fund the work outlined here. Please email devgrants@fil.org to discuss next steps.