Getting Started
Project Structure
The project structure of a ApertureUI Project
Typical Output Structure
When deploying your application with Aperture UI, there is a certain way your application directory needs to be setup for Aperture to find everything it needs to run.
If your application has a package-based system (e.g. .pak for Unreal Engine games, .resources for idTech, etc...), You are required to pass a inherited interface from IAPCFileSystem to the Engine Platform, so Aperture UI can read the information it needs from your package system.
A Typical Output Structure for a non-package-based system would be listed here:
myoutput/
├── resources/ # Your markdown content
│ ├── icudtl.dat # ICU data
| |── resources.pak # ICU data
| |── snapshot_blob.bin # V8 data, only required on Windows & Linux
│ └── docs/ # Documentation pages
├── apertureuihtmlengine.dll # APHTML (The HTMLEngine)
├── apertureuiharrlowengine.dll # Harrlow (The Graphics Engine)
├── apertureuideveloperengine.dll # (OPTIONAL) (The Developer Engine,)
What we use in our engine (package-based):
myoutput/
├── uiresources.vresources # Package that contains all of the ICU & V8 Resources.
├── uicontent_*.vresources # Package(s) that contain the UI content (HTML/CSS/JS).
├── apertureuihtmlengine.dll # APHTML (The HTMLEngine)
├── apertureuiharrlowengine.dll # Harrlow (The Graphics Engine)
├── apertureuideveloperengine.dll # (OPTIONAL) (The Developer Engine. Hosts DevTools.)
├── apertureuideveloperengine.dll # (OPTIONAL) (Networking Engine. Required to get data from the internet, assuming you aren't passing the needed assets to ApertureUI.)
├── wdtier0.dll # Aperture UI Foundation. Required for everything. This can be made static, but will increase binary size for the rest.

