# Digital Visual Computer (DVC)
The Digital Visual Computer (DVC) is an experimental computing platform where programs and data are represented visually as images. This project contains the specifications, tools, and examples for the DVC ecosystem.
## Introduction
DVC explores the concept of screen-to-screen computation. Instead of text-based code, DVC uses a "color language" where sequences of colors represent instructions (opcodes) and data. The state of the computer's memory is represented by an image, and the execution of a program is a sequence of image transformations.
This approach allows for a unique way of visualizing program execution and debugging. It also opens up possibilities for novel programming paradigms and user interfaces.
Features
- ## Features * **Visual Programming:** Write programs using images and colors. * **Extensible Opcode Set:** The meaning of colors can be defined through a palette file, allowing for custom instruction sets. * **Trace and Replay:** Record the execution of a program as a sequence of images (a trace) and replay it for debugging and analysis. * **Specification-Driven Development:** The behavior of the DVC is defined by a set of specifications. See the `specs/` directory for more details. * **Python and WebGL Implementations:** The project includes a Python-based DVC interpreter and a WebGL-based viewer for demonstrating DVC programs in the browser.