# CyberM.markers — client runtime

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

5 functions.

## clear

```lua
CyberM.markers.clear()
```

`GAME` — Requires a live game instance.

Removes every 3D marker owned by the calling resource.

Requires `world.markers`; other resources are unaffected.

Returns: `true on success, otherwise false`, `reason`

Registered in `ResourceHost.cpp` (line 6800) as `LuaMarkerClear`.

## create

```lua
CyberM.markers.create(options)
```

`GAME` — Requires a live game instance.

Creates a resource-owned 3D world marker.

Requires `world.markers`. Options require `position` and accept `shape`, `style`, `radius`, `maxDistance`, `minDistance`, and `visible`. The returned decimal-string handle preserves its full 64-bit identity.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `options` | `table` | required | — |

Returns: `marker handle string, or nil`, `reason`

Registered in `ResourceHost.cpp` (line 6797) as `LuaMarkerCreate`.

## list

```lua
CyberM.markers.list()
```

`GAME` — Requires a live game instance.

Lists the calling resource's 3D markers.

Requires `world.markers`. Each snapshot includes its requested definition and whether the native renderer currently presents it.

Returns: `array of { id, shape, style, radius, maxDistance, minDistance, visible, rendered, position }, or nil`, `reason`

Registered in `ResourceHost.cpp` (line 6801) as `LuaMarkerList`.

## remove

```lua
CyberM.markers.remove(id)
```

`GAME` — Requires a live game instance.

Removes one resource-owned 3D marker.

Requires `world.markers`.

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

Returns: `true on success, otherwise false`, `reason`

Registered in `ResourceHost.cpp` (line 6799) as `LuaMarkerRemove`.

## update

```lua
CyberM.markers.update(id, patch)
```

`GAME` — Requires a live game instance.

Patches a resource-owned 3D marker.

Requires `world.markers`. Only supplied fields are changed, and ownership prevents mutation of another resource's marker.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `id` | `string` | required | — |
| `patch` | `table` | required | — |

Returns: `true on success, otherwise false`, `reason`

Registered in `ResourceHost.cpp` (line 6798) as `LuaMarkerUpdate`.

