Skip to content
Shane Saxon edited this page Jul 19, 2020 · 19 revisions

ANTz V1.0 - Roadmap

We are constructing version 1.0 based on experience gained from the ANTz v0.x.x functional prototype. While defining V1, we continue to use the existing prototype to test core components:

  • Define v1 architecture and key applications.
  • Build (empty) framework for ANTz V1.
  • Test (missing) components with ANTz v0.
  • Migrate v0 core into V1.

What's new in V1 Architecture?

  • Multi-user shared environment.
  • Client-Server architecture.
  • Plugin support.
  • Guided GUI.

Components

  • Thin-client browser using WebGL.
  • Thick-client app on OSX and MSW.
  • Server running on Linux.

API's

  • Languages: C, Python, JavaScript, Java (sockets).
  • Data: CSV, (My)SQL, JSON.
  • Network: OSC, RESTful.

Key Applications

  • GaiaViz - insight & games.
  • CoderViz - uses DOT, fileviz & gitviz.
  • FileViz - local and networked drives.
  • GitViz - branches, issues & wiki.

Documentation

  • API - Doxygen (code & data exchange).
  • Github - Wiki (guides) & Issues (bugs & enhancements).
  • User - In app tutorials and videos.

Specification

Platforms

  • OSX 10.8.5+
  • MSW W7, W8 & W10
  • Linux CentOS & RHEL
  • Browser HTML 5.0 with WebGL

Key Features

  • Immersive 3D (AR/MR/VR)
  • Customized Universes (GUI, physics, scenery, rules)
  • Plugin Architecture
  • Live IO

Native Scene Formats

  • CSV
  • JSON
  • (x)SQL

3rd party Import & Export

  • 3D models - glTF, OBJ, DXF, 3DS...
  • AV - MOV, AVI, DnX...
  • Images - JPEG, J2K, PNG, GIF, TIFF, TGA...
  • Text
  • DB Tables
  • File directories
  • Websites

Core Framework Libraries

  • WebGL (HTML5 browser all platforms)
  • SDL (app on MSW, OSX & Linux)
  • GLFW (possible alternate to SDL)
  • feeglut (current framework, plan to deprecate)
  • magnum engine

Core Base Libraries

  • OpenGL
  • OpenXR
  • OpenCL
  • ASSIMP
  • FreeType
  • FreeImage
  • JANNSON
  • PostgreSQL
  • libcurl

Plugin Libraries

  • AJA
  • BlackMagic Design
  • CUDA
  • MySQL
  • zSpace (until OpenXR supported)

Possible Libraries

Coding Principles - draft

  • Portable cross-platform C core.
  • C wrappers for components in other languages.
  • Other supported languages C++, Java, Python.
  • OS specific methods are optional and separated.
  • Source Code Formatter.
  • Perhaps 'Correct by Construction' or similar.
Clone this wiki locally