aquefir / cartalib Goto Github PK
View Code? Open in Web Editor NEWCarta™ GUI Library.
License: BSD 2-Clause "Simplified" License
Carta™ GUI Library.
License: BSD 2-Clause "Simplified" License
Carta™ GUI Library Created by Alexander Nicholi Copyright © 2020 ARQADIUM LLC. All rights reserved. See COMPILING for build instructions. See COPYING for licencing. The src/ subdirectory contains all of the engine source code. The doc/ subdirectory contains all of the engine documentation. In-tree third-party libraries are contained in the 3rdparty/ subdirectory, with their own subdirectories for source code and documentation.
Using our revolutionary new talk
issue label as a sentinel for discussion threads, this one will serve as a rendezvous for all of the high-level planning for Carta.
To my knowledge, no other GUI toolkit in the wild is data-oriented; object-oriented APIs predominate heavily. This break in trend is in the interest of user empowerment and the core mission of Carta: Provide a user interface tool kit driven by productivity.
So far, we have found four tenets of the project’s nature in development:
Moving on into the meat of Carta, we have, as an alternative conceptual base to Object
, the ‘item’, which is simply any given thing that appears on the screen. Carta provides five fundamental items with which a powerful GUI can be created:
There is a sixth kind of construct in Carta, but I have separated it from the list as it is more meta than literal. It is the Partition, and it provides the delineation left by our departure from object oriented programming and its easy provisioning of boundaries with its veneer of class hierarchies. Partitions demarcate a portion of the viewport, in units of the nominal resolution, and this demarcation can be referenced when compiling the state of the UI for rendering.
These systems are designed to be fundamentally excellent for UIs of power, and this is proven with Carta’s signature functionality: zooming. The power of Carta in space is detailed above, and zooming is its power in time. An intelligent zoom in a program is nothing more than an increase in the amount of information to view. This maintains the amount of information on the screen at any given time to be relatively constant, while allowing potentially infinite amounts of information to be processed easily by human beings. What you see is what you get, brought up to speed for the information age.
† “ANSI C” colloquially refers to the 1989 standardisation of the C programming language by the ANSI committee X3J11.
The project repository filesystem schema, ADP 1, has been published and finalised. cartalib
’s Git repository should adhere to this specification.
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.