# CyberM.assets — client runtime

Runs inside the game process. Reads and presentation are local; anything that changes shared state has to go through the server.

2 functions.

## list

```lua
CyberM.assets.list()
```

`SHARED` — Available without a live game instance.

Lists generic files declared by the current resource.

Returns the resource files declared by the current manifest. It is an allow-list view, not a directory listing, and does not grant access to undeclared files or arbitrary paths.

Returns: `array of relative paths`

Registered in `ResourceHost.cpp` (line 6541) as `LuaAssetList`.

## texture

```lua
CyberM.assets.texture(path)
```

`SHARED` — Available without a live game instance.

Validates a declared PNG texture for resource APIs.

The path must match the manifest's `files` allowlist. PNG textures are limited to 512 KiB and 512 by 512 pixels.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `path` | `string` | required | — |

Returns: `descriptor { type, asset, mime, width, height, bytes }, or nil`, `reason`

Registered in `ResourceHost.cpp` (line 6540) as `LuaAssetTexture`.

