Difference between revisions of "Infrastructure Guide"

From Virtual World Web Wiki
Jump to: navigation, search
(System Documentation)
 
(38 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Following is a list of pages documenting the Virtual World Web infrastructure. Programming guides, API documentation, scripting documentation and more.
+
This is the main documentation for the Virtual World Web infrastructure. Programming guides, API documentation, scripting documentation and more. This guide is split into 3 major sections meant for different audiences.
  
== API Documentation ==
+
==VWW Business Documentation==
 +
High-level summary documents describing the Virtual World Web platform and technologies. These will be best suited to managers, marketing folks, investors, or new team members tying to get a better understanding of the VWW.
  
[[Server API]] - Documents the VWW.CoreLibs.ServerAPI library used to write service provider components. This is the foundation of Virtual World Web server extensibility.
+
*[[Executive Summary]]
*[[Layer One API]] - The main set of interfaces used by components (Layer Two) to control the VWW server core software (Layer One)
+
*[[Technology Stack]]
*[[Layer One Exports]] - Interfaces for various Layer One run-time objects. Some informational, some allow considerable control of connections, avatars, views, etc.
+
*[[Layer Two Events]] - The main set of interfaces that, when implementd by a component (Layer Two) will be called by the VWW server core software (Layer One) in response to various events.
+
*[[Layer Two Event Handler Stubs]] - A set of stubbed implementations of the Layer Two Events interfaces as virtual methods to make overriding and implementing single events much friendlier.
+
*[[UI Script Handlers]] - Some types to help implement UI script system handlers.
+
  
== System Documentation ==
+
==VWW Operating Manual==
Key Concepts
+
The operating manual for the virtual world web. This area is for scene editors, content creators, world operations, site admins, quest builders, and the like. It will get technical, but will stay away from things that only matter to programmers and stick to "front-end" topics.
*[[Network Architecture]]
+
 
**[[Layer One]]
+
'''Quick Start Guides'''
**[[Layer Two]]
+
*[[Introduction to the Admin]]
**[[Layer Three]]
+
*[[Working With Worldspace]]
*[[Network Security]]
+
*[[Controlling Access]]
*[[Worldspace]]
+
*[[Using Curiosity]]
*[[Entities]]
+
*[[Using the Transfer System]]
*[[Securables and Permissions]]
+
*[[Scene Editing In Curio]]
*[[Component System]]
+
*[[Creating and Importing Unity Scenes]]
*[[Container System]]
+
*[[Creating and Importing Props]]
 +
*[[Creating and Importing Skinned Meshes]]
 +
*[[Using The Game Cloud]]
 +
*[[Creating Scenes for Curio]]
 +
 
 +
'''Client Applications'''
 +
*[[Curio]]
 +
*[[Curiosity]]
 +
 
 +
'''Key Virtual World Web Concepts'''
 +
*[[Network Architecture]] - A brief overview of the major VWW software components and their responsibilities.
 +
*[[VWW URL]]s - The Virtual World Web URL specification
 +
*[[Network Architecture#Layer_One|Layer One]]
 +
**[[Entities]] - Represent people and groups on a service provider's system.
 +
**[[Worldspace]] - Represents the ''space'' in a virtual world, how it's mapped to VWW URLs, and how permissions are applied.
 +
**[[Instance]]s - The run-time representation of a scene, and instance where connected users actually interact on a server.
 +
**[[Abilities]] - Represents things that users can do (actions they can take).
 +
**[[Permissions]] - These help you secure your world, enable and disable features and more.
 +
**[[Object Type]]s - Stored snippets of 3D document that can be expressed in-world. Similar to Unity prefabs, but with a very rich feature set.
 +
**[[Inventory and Containers]] - Make it possible for "things" to be "owned" by places or people. This can form the basis for a game's inventory and object system.
 +
*[[Document Object Model]] - The foundation of our virtual environments. A document object model that is programmable, storable, and fully multi-user.
 +
**[[Reference]]s - A powerful feature of the DOM that allows for live-updating instances of Object Types' content with local overrides (modifications)
 +
**[[Script]]s - JavaScript code that can add interactivity and automation to your world.
 +
**[[Curve]]s - Nodes that can animate almost anything in your scene in complex ways.
 +
**[[Physics]] - Nodes that can effect spawn, follow, approach, face, and other operations on objects in your scene.
 +
**[[Start Point]]s -
 +
**[[DOM Attribution|Attribution]]
 +
**[[Layer System]]
 
*[[Transfer System]]
 
*[[Transfer System]]
*[[Object Type|Object Types]]
+
*[[Network Architecture#Layer_Two|Layer Two]]
*[[Object Template|Object Templates]]
+
**[[Component]]s
*[[Object Type Reference|Object Type Referencing]]
+
**[[Creature Manager]]
*[[World Scripting]]
+
***[[Avatars]]
*[[UI Scripting]]
+
**[[Game Cloud]]
 +
**[[World Builder]]
 +
 
 +
==VWW Technical Manual==
 +
This is the technical and reference manual for the VWW. There is written documentation for the major programmable systems explaining how to build a UI script, world script, or component, as well as how the DOM and other key systems work under the hood. There is automatically generated documentation for all API surfaces. Finally those automatically generated documents are augmented with remarks in related/linked but separate documents.
 +
 
 +
===Concepts===
 +
*[[Network Architecture]] - Explains the VWW Network architecture.
 +
*[[Software Development Kit]] - Information about the VWW SDK, its folder layout, tools, and more.
  
== Scripting Documentation ==
+
*[[Connection Identity]]
 +
*[[Participant]]
 +
*[[View]]
  
[[Server Scripting]] - Documents the server instance scripting system. From working with the DOM, to using the GameCloud, to working with LayerOne objects like participants, views, and chat channels, it's all here.
+
===Programming Guides===
 +
These sections provide written explanations of major programmable systems, with step-by-step guides to help you get started.
 +
*[[World Scripting Guide]] - Write JavaScript that adds interactivity and exciting game features to your scenes. These scripts run on the server, can be updated without a server restart, and can interact directly with users, scene objects, the server and server components.
 +
*[[Component Programming Guide]] - Write your own server plug-ins (components) in C# that are loaded directly into the server and admin. These components can do virtually anything. Much of the VWW default functionality is provided by components.
 +
*[[Curio UI Scripting Guide]] - Write JavaScript and design UI components that run on connected clients. These scripts can interrupt navigation to display messages or web content. They can be launched in response to world world script events (like clicking on something in world). They can also make up the user-visible part of a custom server component.
 +
*[[UI Editor|UI Editing Guide]] - Discusses the process of using the UI Editor to create and edit UI. The created UI can then be displayed by a Curio UI scripts (client-side JavaScript).
  
[[Curio UI Scripting]] - Documents the Curio UI scripting system. (Ian? what are you doing this year?)
+
===Programming Reference===
 +
These sections document various programming interfaces. Much of this documentation is auto-generated from source comments, with additional commentary added where further clarification is needed.
 +
*[[Document Object Model Reference]]
 +
*[[World Scripting Reference]]
 +
*[[Curio UI Scripting Reference]]
 +
*[[Component Programming Reference]]
 +
*[[Remote API Reference]]
  
== Document Object Model (DOM) Documentation ==
+
===Administration===
 +
*[[Server Administration Guide]]
  
[[DOM Nodes]] - Documentation for all the Document Object Model node types
+
__NOEDITSECTION__

Latest revision as of 17:45, 11 September 2019

This is the main documentation for the Virtual World Web infrastructure. Programming guides, API documentation, scripting documentation and more. This guide is split into 3 major sections meant for different audiences.

VWW Business Documentation

High-level summary documents describing the Virtual World Web platform and technologies. These will be best suited to managers, marketing folks, investors, or new team members tying to get a better understanding of the VWW.

VWW Operating Manual

The operating manual for the virtual world web. This area is for scene editors, content creators, world operations, site admins, quest builders, and the like. It will get technical, but will stay away from things that only matter to programmers and stick to "front-end" topics.

Quick Start Guides

Client Applications

Key Virtual World Web Concepts

  • Network Architecture - A brief overview of the major VWW software components and their responsibilities.
  • VWW URLs - The Virtual World Web URL specification
  • Layer One
    • Entities - Represent people and groups on a service provider's system.
    • Worldspace - Represents the space in a virtual world, how it's mapped to VWW URLs, and how permissions are applied.
    • Instances - The run-time representation of a scene, and instance where connected users actually interact on a server.
    • Abilities - Represents things that users can do (actions they can take).
    • Permissions - These help you secure your world, enable and disable features and more.
    • Object Types - Stored snippets of 3D document that can be expressed in-world. Similar to Unity prefabs, but with a very rich feature set.
    • Inventory and Containers - Make it possible for "things" to be "owned" by places or people. This can form the basis for a game's inventory and object system.
  • Document Object Model - The foundation of our virtual environments. A document object model that is programmable, storable, and fully multi-user.
    • References - A powerful feature of the DOM that allows for live-updating instances of Object Types' content with local overrides (modifications)
    • Scripts - JavaScript code that can add interactivity and automation to your world.
    • Curves - Nodes that can animate almost anything in your scene in complex ways.
    • Physics - Nodes that can effect spawn, follow, approach, face, and other operations on objects in your scene.
    • Start Points -
    • Attribution
    • Layer System
  • Transfer System
  • Layer Two

VWW Technical Manual

This is the technical and reference manual for the VWW. There is written documentation for the major programmable systems explaining how to build a UI script, world script, or component, as well as how the DOM and other key systems work under the hood. There is automatically generated documentation for all API surfaces. Finally those automatically generated documents are augmented with remarks in related/linked but separate documents.

Concepts

Programming Guides

These sections provide written explanations of major programmable systems, with step-by-step guides to help you get started.

  • World Scripting Guide - Write JavaScript that adds interactivity and exciting game features to your scenes. These scripts run on the server, can be updated without a server restart, and can interact directly with users, scene objects, the server and server components.
  • Component Programming Guide - Write your own server plug-ins (components) in C# that are loaded directly into the server and admin. These components can do virtually anything. Much of the VWW default functionality is provided by components.
  • Curio UI Scripting Guide - Write JavaScript and design UI components that run on connected clients. These scripts can interrupt navigation to display messages or web content. They can be launched in response to world world script events (like clicking on something in world). They can also make up the user-visible part of a custom server component.
  • UI Editing Guide - Discusses the process of using the UI Editor to create and edit UI. The created UI can then be displayed by a Curio UI scripts (client-side JavaScript).

Programming Reference

These sections document various programming interfaces. Much of this documentation is auto-generated from source comments, with additional commentary added where further clarification is needed.

Administration