mml
Build 3D scenes and interactive experiences using MML (Metaverse Markup Language) for the Otherside metaverse and other MML-compatible environments. Use when creating 3D objects, worlds, interactive elements, animations, models, characters, audio/video, labels, collision-based interactions, position tracking, chat integration, or any MML document. Triggers on: MML, metaverse markup, 3D scene building, Otherside world building, m-cube, m-model, m-character, m-group, m-frame, m-attr-anim.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/honeybee1130/mmlMML (Metaverse Markup Language)
Full compiled reference:
/home/ubuntu/.openclaw/workspace/research/mml-reference.mdSource: mml.io + DashBODK Studio (dashbodk.vercel.app/docs). All elements, attrs, events, collision patterns.
MML is an HTML-like markup language for building 3D scenes. Documents are served via WebSocket and rendered by clients (Web/Three.js or Unreal Engine). MML supports scripting via inline <script> tags (standard DOM APIs).
Key Concepts
- Units: Positions in meters, rotations in degrees, font sizes in centimeters
- Coordinate system: x (right), y (up), z (forward)
- Common attributes: All visible elements share
x y z rx ry rz sx sy sz visible id class - Collision system: Set
collision-interval(ms) on an element to receivecollisionstart,collisionmove,collisionendevents - Document time: Animations and media use document lifecycle time (ms since document start)
- Scripting: Standard DOM manipulation via
<script>tags. Usedocument.getElementById(),addEventListener(),setAttribute(), etc.
Elements Quick Reference
| Element | Purpose | Key Attrs |
|---|---|---|
m-group | Container, transforms children as unit | (transform only) |
m-cube | 3D box | width height depth color opacity |
m-sphere | 3D sphere | radius color opacity |
m-cylinder | 3D cylinder | radius height color opacity |
m-plane | Flat surface | width height color opacity |
m-model | Load 3D model (GLTF/OBJ/FBX) | src anim-src anim-loop anim-enabled start-time pause-time |
m-character | 3D character (composable with m-model children) | src anim-src anim-loop anim-enabled start-time pause-time |
m-light | Point or spotlight | type intensity distance angle enabled cast-shadows color |
m-image | Display image in 3D | src width height emissive opacity |
m-video | Display video in 3D (supports WHEP streaming) | src width height emissive loop enabled volume start-time pause-time |
m-audio | Spatial audio | src loop loop-duration enabled volume cone-angle cone-falloff-angle start-time pause-time |
m-label | Text on a plane | content width height font-size font-color padding alignment color emissive |
m-frame | Embed another MML document | src min-x max-x min-y max-y min-z max-z load-range unload-range |
m-link | Clickable link (no visual) | href target |
m-prompt | User text input on click | message placeholder prefill onprompt |
m-interaction | Action at a point in space | range in-focus line-of-sight priority prompt oninteract |
m-position-probe | Track user positions | range interval onpositionenter onpositionmove onpositionleave |
m-chat-probe | Receive chat messages | range onchat |
m-attr-anim | Keyframe animation (doc-time synced) | attr start end start-time pause-time duration loop easing ping-pong ping-pong-delay |
m-attr-lerp | Smooth attribute transitions | `at... |
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-honeybee1130-mml": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
font-interceptor
Extract fonts (TTF/OTF) from any website using MSCHF Font Interceptor. Use when user drops a URL and wants to identify/extract/download fonts from that website, or asks "what font is this site using" or similar font extraction requests.
janitor
Maintenance and cleanup agent. Keeps the workspace healthy — memory consolidation, doc drift fixes, stale data cleanup, and repo organization. Use when: (1) memory files need consolidation (daily notes → MEMORY.md), (2) research files have stale leads or outdated info, (3) workspace needs organization — orphaned files, messy dirs, (4) docs are out of sync with reality (HEARTBEAT.md, TOOLS.md, agent configs), (5) scheduled maintenance runs (weekly deep clean). NOT for: creating content (use scribe), researching (use scout), reviewing quality (use checker), generating images (use pixel). Janitor MAINTAINS, doesn't create or review. Don't use for urgent tasks — Janitor handles background hygiene. Outputs: maintenance logs saved to artifacts/janitor/.
Seedance
Skill by honeybee1130
Clickbait Engine
Skill by honeybee1130
youtube-downloader
Download YouTube videos as MP4 at highest quality. Use when user sends a YouTube URL and wants to download/save it. Triggers on YouTube links (youtube.com, youtu.be) with download intent. Stores videos as assets with labels and registers them for the dashboard.