desk-x-egui-plugin

The application platform for your cyberpunk desk

1 unstable release

0.0.0 May 8, 2022


Used in desk-x

MIT/Apache

9KB
114 lines

Desk

Demo GitHub Sponsors
MIT/Apache 2.0 GitHub Repo stars
Discord

🔮 The application platform for your cyberpunk desk. 🔮

Goal and philosophy

🎯 We want to make top boards of people's desks into touch panel displays that run Desk.

  • 🎮 Intuitive like games
  • 🥼 Pragmatic like professional tools
  • 🗺️️ Versatile like spreadsheet
  • 💗 Accessible to everyone
  • 🛹 Minimalist design

Why Desk?

Desk apps (applications built on Desk) are inherently:

  • 🎼 Data-oriented
  • 🔒 Statically-typed (data and UI)
  • 🤖 Programmable (extensible by code)
  • 🧲 Interoperable with other Desk apps
  • 📱 Running on everywhere (web, desktop, mobile)

How does it work?

Desk is powered by Desk Programming Language and Desk Kernel.

Desk Programming Language

Desk programming language (Desk-lang) is a programming language which has:

  • Minimalistic syntax and semantics
  • Type system with inference
  • Algebraic effects
  • Content-addressible by type and UUID
  • Embeddable interpreter
  • 🚧 Compiler for performant binary

🚧 not yet implemented

Any data and programs on Desk apps are finally evaluated as snippets of Desk-lang.

Desk Kernel

Desk kernel is a platform-agnostic environment for writing and running Desk-lang. Functionalities and UIs of Desk apps are built by using syscalls of the kernel. It's using Bevy Engine and egui.

Desk kernel provides these features:

  • 🚧 File system for Desk-lang
  • 🚧 Type-driven UI components
  • 🚧 Incremental computation engine
  • 🚧 Realtime collaboration support
  • 🚧 Package management system
  • 🚧 Version control system
  • 🚧 Permission management system
  • 🚧 3D/2D rendering with meshes

🚧 not yet implemented

Is it any good?

Yes.

Resources

Join our community

👉 Q&A Have a question?

👉 GitHub Discussions

👉 GitHub Repo stars

👉 Twitter Follow

👉 Discord

Dependencies

~34–49MB
~846K SLoC