Program class contains all the data of a nunuStudio program.
Is stores and manages all available resources used by the children objects.
Is responsible for handling runtime tasks, initialization, update, resizes etc.
Add new scene to this program.
On the program class only scenes can be added as children.
Check if augmented reality is available.
The program need to be configured for AR and the host device should support the required WebXR modes.
Clone program, keeping uuids and every identification attribute.
Clone method uses the ObjectLoad to serialize and create a new program instance with the same data.
Dispose program data to avoid memory leaks.
Called when exiting the program.
Enter virtual reality mode.
Enter virtual reality mode.
Exit augmented reality mode.
Exit virtual reality mode.
Select initial scene and initialize that scene.
Automatically called by the runtime.
Receive external data and pass it to all script instances.
Remove Scene from program.
Render current scene to canvas.
When rendering in VR mode all effects and camera parameters are ignored.
Renderer should be initialized and passed as argument.
Resize the current scene elements.
Send data to external app instance.
Set a scene as initial scene using its uuid.
This method is used by the editor.
Set program mouse and keyboard.
Should be set before initialize() is called otherwise a keyboard and mouse are created by default.
Set program renderer to be used by this program.
Gets the renderer canvas and uses the parent DOM element of the canvas for DOM division property.
Three.js renderer to be used by this program
If true also updates renderer configuration to match rendering quality specified in the program.
Change scene during runtime, this method can receive booth a scene name or a scene object.
This method should be used inside of script objects during runtime.
sceneScene | string
Scene object or name of the scene to be used.
Serialize the object to JSON format.
Metadata object passed to the objects and resources toJSON method to store data.
If true all resouces in the program are exported, else only resources attached to objects are exported.
json Serialized JSON data containing the program, all scenes and resources stored.
Update program state, this updated all current scene children elements.
This method updated the webgl renderer configuration.
Should be called after changing any rendering related parameter.
Check if virtual reality is available.
Runtime instance used to communication between nunu app and the host webpage.
Inside the editor communication with the app is simulated on the debug console.
Enable augmented reality flag to allow the application to run using AR using WebXR.
Canvas being used to draw content by the renderer.
This canvas is where the WebGL rendering context was created.
Clock object used to measure times between frames.
The time measured is passed down to the scene and its children elements.
Default camera to be used by scenes where there is no camera.
On the editor this value is automatically set to the last editor camera point used
Scene loaded as default on startup.
Program description, will be stamped when the app is exported.
DOM Division element that can be used to add html content to the app.
All content added to this division should be manually removed before the app exits.
Flag to indicate if the runtime should handle device pixel ratio.
If set false the runtime will ignore the pixel ratio, and use in browser coordinates.
Keyboard input object, runtime variable.
Flag to control pointer locking, when set true the cursor is locked into the application window.
Event manager used to attach and manage program events.
Its created on initialization and destroys on disposal, scripts can attach events to the manager safely during runtime.
Mouse input object, runtime variable.
Renderer being used during runtime.
Renderer configuration applied to the WebGL renderer.
Scene currently running in the program, runtime variable.
Should never be manually defined, change it using the setScene(scene) method.
Target related configurations applied when exporting the app.
Program version should adhere to semantic versioning, but it is not mandatory.
Enable virtual reality flag, allows the application to run in VR mode.
VR mode can only be enabled if the system and browser have support for VR using WebXR or WebVR.
Virtual reality movement scale.
Indicates the relation between the real movement and virtual world movement.
WebX runtime control, true when the app is running in an XR environment.
XR enviroment can be VR or AR only one of them can be used at a time.