From 17ebd7554ed14d7997faf89bdc874874b53faa62 Mon Sep 17 00:00:00 2001 From: Pilot Maintainer Date: Tue, 6 Oct 2026 17:25:12 +0800 Subject: [PATCH] Import original MIT source package --- .gitignore | 7 ++++ README.md | 7 ++++ SKILL.md | 3 ++ asset-manifest.json | 4 +++ guide.json | 37 +++++++++++++++++++++ integrity.json | 16 ++++++++++ licenses/TEMPLATE-LICENSE.txt | 21 ++++++++++++ motion.json | 60 +++++++++++++++++++++++++++++++++++ motion.lock.json | 5 +++ params.schema.json | 14 ++++++++ presets/demo.json | 3 ++ src/index.html | 1 + src/main.js | 13 ++++++++ 13 files changed, 191 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 SKILL.md create mode 100644 asset-manifest.json create mode 100644 guide.json create mode 100644 integrity.json create mode 100644 licenses/TEMPLATE-LICENSE.txt create mode 100644 motion.json create mode 100644 motion.lock.json create mode 100644 params.schema.json create mode 100644 presets/demo.json create mode 100644 src/index.html create mode 100644 src/main.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1047ea6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +motiongit.key.json +.env* +node_modules/ +output/ +*.mp4 +*.wav +*.srt diff --git a/README.md b/README.md new file mode 100644 index 0000000..e723a3f --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# collaboration-pilot-5 + +MIT 技术验收样例;无第三方素材。 + +## 给 AI 的说明 + +读取 motion.json、guide.json、参数和许可。按 html-canvas/1 调用 renderFrame(frame, inputs),30fps、4 秒。源码检查不执行渲染代码。 diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..57b3d59 --- /dev/null +++ b/SKILL.md @@ -0,0 +1,3 @@ +# 源码协作样例 + +先读取元数据与许可,确认标题后制作。 diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 0000000..ac8bc8a --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,4 @@ +{ + "assets": [], + "fonts": [] +} diff --git a/guide.json b/guide.json new file mode 100644 index 0000000..29c5831 --- /dev/null +++ b/guide.json @@ -0,0 +1,37 @@ +{ + "guideVersion": "0.1", + "fit": { + "summary": "源码协作技术样例", + "goodFor": [ + "技术验收" + ], + "notFor": [ + "正式模板交付" + ], + "placement": "opening" + }, + "duration": { + "policy": "fixed", + "min": 4, + "max": 4, + "default": 4 + }, + "materials": [], + "copy": [ + { + "param": "title", + "label": "标题", + "from": [ + "conversation", + "text.script" + ], + "rule": "用户确认的标题" + } + ], + "conversation": [ + "确认标题" + ], + "hostWithoutTools": [ + "提供参数文件" + ] +} diff --git a/integrity.json b/integrity.json new file mode 100644 index 0000000..582b6a5 --- /dev/null +++ b/integrity.json @@ -0,0 +1,16 @@ +{ + "algorithm": "sha256", + "files": { + "asset-manifest.json": "ff873c47995b714095589ccd31f6130208ab3dd277f30ebf6927c833745c8c91", + "guide.json": "70b2e4173faebcc8bc55450d19c605faee8ddd820c6bb9a7f1af71003dddcc99", + "licenses/TEMPLATE-LICENSE.txt": "8881ef9bfbb1b6eab92a957272ca12b7dfe5b76c751513840c94d9a9842a8d70", + "motion.json": "6c9cc878f2491cf677b62e30fe39508db33c78d0ef5402bcaee562f05f24b087", + "motion.lock.json": "80bc374bc5843d0ffd2a7d318bafe959f251fd5e9a0a2d41abcdd19110bbc297", + "params.schema.json": "1b41142234e88ce626b03ca47e6112db82654852b4ee23bf1bdfe6143bccbf53", + "presets/demo.json": "a720a247eb60ecb0ef4df68802388eaeed0b977f5e478d4cbcaa9f186a144c0c", + "README.md": "e73ed9752ca142f098e8d3dbe661cce79695265c356caff62a93d65985c5326a", + "SKILL.md": "3aef56ec80d5a3ca39108f98b4220ef668bb924d44cf0fd848207c8ae2281a1b", + "src/index.html": "b51124c47f1c8b0ceb01995a0a88e00b3c5618127f136dbed6d403b819dce214", + "src/main.js": "46fccd75a31451520bac6f0faa6cc9f61dfa41f6c931269d17307e5ae08fe0e1" + } +} diff --git a/licenses/TEMPLATE-LICENSE.txt b/licenses/TEMPLATE-LICENSE.txt new file mode 100644 index 0000000..2e90a37 --- /dev/null +++ b/licenses/TEMPLATE-LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 MotionGit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/motion.json b/motion.json new file mode 100644 index 0000000..f40a351 --- /dev/null +++ b/motion.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://motiongit.com/schema/motion/0.1.json", + "format": "motiongit-template", + "specVersion": "0.1.0-draft.1", + "template": { + "id": "collaboration-pilot-5", + "name": "源码协作试点 5", + "version": "1.0.0", + "status": "draft" + }, + "runtime": { + "profile": "html-canvas/1", + "engine": "motiongit-pilot", + "engineVersion": "0.1.0", + "entry": "src/index.html", + "dependencyLock": "motion.lock.json" + }, + "parameters": { + "schema": "params.schema.json", + "defaultPreset": "presets/demo.json" + }, + "assets": { + "manifest": "asset-manifest.json" + }, + "output": { + "width": 1920, + "height": 1080, + "fps": { + "num": 30, + "den": 1 + }, + "durationPolicy": "fixed" + }, + "preview": { + "preset": "presets/demo.json" + }, + "license": { + "file": "licenses/TEMPLATE-LICENSE.txt" + }, + "permissions": { + "network": false, + "read": [ + "package", + "instance-inputs" + ], + "write": [ + "instance-output" + ] + }, + "ai": { + "summary": "新建的 MIT 技术验收样例,仅验证源码协作与发布链。", + "entry": "SKILL.md", + "guide": "guide.json", + "authoring": { + "tool": "codex", + "client": "codex" + } + }, + "integrity": "integrity.json" +} diff --git a/motion.lock.json b/motion.lock.json new file mode 100644 index 0000000..a6e0874 --- /dev/null +++ b/motion.lock.json @@ -0,0 +1,5 @@ +{ + "runtime": "html-canvas/1", + "dependencies": {}, + "tested": [] +} diff --git a/params.schema.json b/params.schema.json new file mode 100644 index 0000000..1294647 --- /dev/null +++ b/params.schema.json @@ -0,0 +1,14 @@ +{ + "type": "object", + "additionalProperties": false, + "required": [ + "title" + ], + "properties": { + "title": { + "type": "string", + "maxLength": 40, + "default": "MotionGit 5" + } + } +} diff --git a/presets/demo.json b/presets/demo.json new file mode 100644 index 0000000..c7a1a56 --- /dev/null +++ b/presets/demo.json @@ -0,0 +1,3 @@ +{ + "title": "MotionGit 5" +} diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..df6efa3 --- /dev/null +++ b/src/index.html @@ -0,0 +1 @@ +MotionGit pilot diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..790a3d6 --- /dev/null +++ b/src/main.js @@ -0,0 +1,13 @@ +// Newly authored MotionGit collaboration fixture 5. MIT. +const surface = document.querySelector('#scene'); +const paint = surface.getContext('2d'); +window.renderFrame = (frame, inputs) => { + paint.fillStyle = '#102030'; + paint.fillRect(0, 0, surface.width, surface.height); + paint.fillStyle = '#79c0ff'; + const progress = Math.max(0, Math.min(1, frame / 30)); + paint.fillRect(80, 100, (surface.width - 160) * progress, 40); + paint.fillStyle = '#ffffff'; + paint.font = '48px sans-serif'; + paint.fillText(inputs.title, 80, 230); +};