> For the complete documentation index, see [llms.txt](https://virtualfactory.gitbook.io/vlft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://virtualfactory.gitbook.io/vlft/tools/vebjs/advanced-users.md).

# Advanced Users

Further functionalities of VEB.js can be developed by modifying HTML and JavaScript code that is available in the folder named `$vebjs`. This folder may be provided as as a single *.zip* file to be unzipped.

Node.js and NPM are needed to run the application. If Node.js and NPM are not already installed, it is possible to download and run the latest (LTS) [Node.js installer](https://nodejs.org/en/download/) confirming the default settings . NPM (Node Package Manager) is a package manager for JavaScript language and is included in this installation. For installing the dependencies, open the command prompt, go to directory `$vebjs/js` and execute command `npm install`

It is important to keep the original structure of the `$vebjs` folder to guarantee a correct execution of the application, including the access to already available scenes in subfolder `$vebjs/Scenes`.

To easily access local files (e.g. 3D models) it is necessary to launch a local host server, as explained in the following for Windows and MacOS.

**Run on Windows**: launch the application by double-clicking `vebjs_launch.bat` in the `$vebjs` folder and a browser page will be opened automatically at the address: `http://localhost/vebjs.html?inputscene=`

**Run on MacOS**: first open the terminal and go to the folder `$vebjs.` Then run the command `sh vebjs_launch.sh` and a browser page will be opened automatically at the address: `http://localhost/vebjs.html?inputscene=`

### Offline/Online use

The default setting of the package allows to run the application offline by exploiting the libraries (modules) installed in `$vebjs/node_modules`. However, if an internet connection is available, the most recent version of the libraries can be accessed by manually modifying the file `$vebjs/vebjs.html`; in this case it is necessary to comment the whole "LOCAL" block and uncomment the "ONLINE STABLE" block in the `<head>`.

### Local repository

The online version of VEB.js can be run using a local repository (e.g. storing scene configurations, 3D model files). This option can be appropriate if your file cannot be published on an open repository (e.g. GitHub) because of copyright limitations. Here are the step by step instructions:

* Download and unzip the file [LocalhostServer.zip](/vlft/kb/instantiation/datarepo/local.md) into an empty folder that you will use as a local repository for the files to be loaded into VEB.js.
* Read the file Readme.md.
* Launch the localhost server by double-clicking on "launch\_localhost\_HTTP.bat" or "launch\_localhost\_HTTP.sh" for Windows or Mac, respectively. A command prompt window will open. To stop the server, simply close this window.
* You will find a subfolder named "example" that contains a sample .json scene file and a .glb file. Try running VEB.js using these local files by copying the following URL in your browser:&#x20;

> [`https://digital-factory.io/vebjs/?inputscene=http://localhost/example/ex01.json&repoMod3d=http://localhost/example/`](https://digital-factory.io/vebjs/?inputscene=http://localhost/example/ex01.json\&repoMod3d=http://localhost/example/)

* Try further tests by modifying the values of the `inputscene` and `repoMod3d` URL parameters.

### **VEB.js as a Tomcat service**

The contents of the folder `$vebjs` can be compressed in a .war file and the application launched as a Tomcat service.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://virtualfactory.gitbook.io/vlft/tools/vebjs/advanced-users.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
