8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
69 lines
2.3 KiB
JSON
69 lines
2.3 KiB
JSON
{
|
||
"$schema": "../_schema.json",
|
||
"format": "pptx",
|
||
"element": "model3d",
|
||
"elementAliases": ["glb", "model", "3dmodel"],
|
||
"parent": "slide",
|
||
"operations": {
|
||
"add": true,
|
||
"set": true,
|
||
"get": true,
|
||
"query": true,
|
||
"remove": true
|
||
},
|
||
"paths": {
|
||
"positional": ["/slide[N]/model3d[M]"]
|
||
},
|
||
"note": "Only .glb (glTF-Binary) accepted. Placeholder PNG auto-generated for non-3D-aware viewers. Defaults to 10cm × 10cm centered on the slide.",
|
||
"properties": {
|
||
"src": {
|
||
"type": "string",
|
||
"description": ".glb source (file path, URL, data-URI). Non-glb rejected. Accepted on add/set only; Get does NOT surface this key (no Format[\"src\"] or Format[\"relId\"] is emitted for model3d).",
|
||
"aliases": ["path"],
|
||
"add": true, "set": true, "get": false,
|
||
"examples": ["--prop src=/path/to/model.glb"],
|
||
"readback": "add-time only; not surfaced in Get.",
|
||
"enforcement": "report"
|
||
},
|
||
"x": {
|
||
"type": "length",
|
||
"aliases": ["left"],
|
||
"add": true, "set": true, "get": true,
|
||
"examples": ["--prop x=2cm"],
|
||
"readback": "length in cm (e.g. \"2cm\")",
|
||
"enforcement": "report"
|
||
},
|
||
"y": {
|
||
"type": "length",
|
||
"aliases": ["top"],
|
||
"add": true, "set": true, "get": true,
|
||
"examples": ["--prop y=2cm"],
|
||
"readback": "length in cm (e.g. \"2cm\")",
|
||
"enforcement": "report"
|
||
},
|
||
"width": {
|
||
"type": "length",
|
||
"add": true, "set": true, "get": true,
|
||
"examples": ["--prop width=10cm"],
|
||
"readback": "length in cm (e.g. \"2cm\")",
|
||
"enforcement": "report"
|
||
},
|
||
"height": {
|
||
"type": "length",
|
||
"add": true, "set": true, "get": true,
|
||
"examples": ["--prop height=10cm"],
|
||
"readback": "length in cm (e.g. \"2cm\")",
|
||
"enforcement": "report"
|
||
},
|
||
"rotation": {
|
||
"type": "string",
|
||
"description": "Model rotation as comma-separated degrees \"ax,ay,az\" (X, Y, Z axes). Missing axes default to 0. Per-axis aliases rotx/roty/rotz also accepted on set.",
|
||
"aliases": ["rotx", "roty", "rotz"],
|
||
"add": true, "set": true, "get": true,
|
||
"examples": ["--prop rotation=30,45,0", "--prop rotx=30"],
|
||
"readback": "\"ax,ay,az\" degrees (e.g. \"30,45,0\")",
|
||
"enforcement": "report"
|
||
}
|
||
}
|
||
}
|