Introduction to API
The Sim Panel API provides super flexible and customizable way to built an entire 2D cockpit display using a library of generic components. The core display rendering engine that the API was built on is PixiJS (ver 5), which is a super fast 2D WebGL renderer; it uses Express (ver 4.17) to spin up the Node.js server locally which can then be viewed by accessing the local IP and port. (i.e.: localhost:7000
). PixiJS is used because it renders using WebGL as it's first preference then provides a method for falling back to canvas if WebGL is not accessible.
Example of API Architecture
API Components
These are the core components that work together to create realistic 2D cockpit representations. Listed in alphabetical order:
Actuators
Actuators allow the ability to add user input to and set it to trigger various commands to the flight simulator.
Examples: Buttons, Switches, Levers, Handles, etc.
Core
Core objects are what provide logical structure to web apps.
Examples: Screen, Device, Instrument, etc.
Elements
Elements are the items that continously move to indicate some status.
Examples: Text, Pointers, Pies, Needles, etc.
Engines
Engines handle all the grunt work involved with rendering the display.
Examples: Display webGL rendering and resizing, Start/stop game tickers, etc.
Events
Events give the ability to listen for specificed browser-based events and trigger some type of functionality based on the event.
Examples: Key presses, Mouse scrolling, Browser resizing and orientation change, etc.
Loaders
Loaders load data intended to be fed to and rendered to the display in some way.
Examples: X-Plane flight data, Sprites, Sounds, etc.
Utilities
Utilities provide quick methods for commoly used functionality.
Examples: Drawing a shape, Running calculations, etc.