metafam / mimis Goto Github PK
View Code? Open in Web Editor NEWA Universal Public Collaborative Composable Filesystem
Home Page: http://metafam.github.io/mimis/
A Universal Public Collaborative Composable Filesystem
Home Page: http://metafam.github.io/mimis/
It should be possible to create a command-line interface which will pull a Mïmis tree down as a collection of files and symlinks, then allow synchronizing updated data with the network.
Mïmis is ultimately meant to serve itself. All commits to libraries could be stored in the network and a given program could specify its dependencies in terms of those commits.
Tags and branches could be created by using specially structures subtrees. It would be much like the internal structure of Git now, but in a format that's human-readable. For example, I type mimis branch
, and it returns me a listing from <repo root>/.mïmis/branches/
.
The tricky part is how to know the repo root. In general, children in Mïmis don't know what other nodes are their parents. It is possible though, to store the Ceramic id of the parent which is the root of the repository. This could be saved as .mïmis/repository/
.
With Git there is an object database in the .git/
directory. For Mïmis, the object database is in Ceramic. Each directory and file has its own commit history.
From the README,
- Start the search queue with the Mïmis root from IDX.
- Each Mïmis node has an optional ordered list of DIDs of overriding users. If any are specified, add their Mïmis roots to the search queue in the order given for the DIDs.
- While there is more than one element remaining in the path to be dereferenced, shift the first element and iterate over the search queue, looking for directory nodes that have a child element that matches the current path portion.
- Each iteration produces a new search queue one level deeper in the tree.
- If a node has overrides, those overrides are added to the search queue following the element being dereferenced. The node added to the queue is from the same position in the tree as is currently being defreferenced.
I would like this application to be javascript, specifically Next.js and React backed by Ceramic documents indexed by The Graph or some other large-scale caching mechanism.
A basic Next.js app needs to be set up. Specifically it needs to generate the Player images so they can be loaded viz image
tags from the main Map.
I would like to be able to load React documents dynamically like plugins for a standalone application.
The goal is to create a trusted environment for supplying code such that cross-site scripting is permissibly safe.
The Loadable Components library looks like a good place to start.
Work has begun as the Mock
object.
The goal is to create an alternate versions for the functions and objects in the Ceramic and IDX APIs. Using this mock object, generate a D3 tree [1], [2], [3], [4] showing the expansion of nodes through the dereferencing of children
and incorporation of overrides
according to the algorithm.
Not pictured in the existing diagrams is the fact there are a number of rendering queues. This should be represented by a set of (10) nodes just under the root. Rather than being a string DID, an override can be an object: { did, zIndex }
. In this case, it is put in the appropriate subtree.
Z-index in CSS allows any integer as the value. I would like to limit the number 0 to 9. Layer 0 is overriden by everything else, layer 9 overwrites everything else. The context node for a location is computed by doing a preorder traversal, so subtree 0 is visited first and 9 last.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.