[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-1417bac6-1269-4236-85b0-860c43dca5a5":3,"$f7Va4YwV-bgThbUF6UCnWNDnIkdGKHTXRSelvqf_mJ6k":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"1417bac6-1269-4236-85b0-860c43dca5a5","spline-3d-integration","用于将Spline.design的交互式3D场景添加到Web项目中，包括React嵌入和运行时控制API。","cat_coding_frontend","mod_coding","sickn33,coding","---\nname: spline-3d-integration\ndescription: \"Use when adding interactive 3D scenes from Spline.design to web projects, including React embedding and runtime control API.\"\nrisk: safe\nsource: community\ndate_added: \"2026-03-07\"\n---\n\n# Spline 3D Integration Skill\n\nMaster guide for embedding interactive 3D scenes from [Spline.design](https:\u002F\u002Fspline.design) into web projects.\n\n---\n\n## When to Use\n- You need to embed an interactive Spline scene into a web project.\n- The task involves choosing the correct integration path for vanilla web, React, Next.js, Vue, or iframe contexts.\n- You need guidance on scene URLs, runtime control, performance, or common Spline embedding problems.\n\n## Quick Reference\n\n| Task                              | Guide                                                          |\n| --------------------------------- | -------------------------------------------------------------- |\n| Vanilla HTML\u002FJS embed             | [guides\u002FVANILLA_INTEGRATION.md](guides\u002FVANILLA_INTEGRATION.md) |\n| React \u002F Next.js \u002F Vue embed       | [guides\u002FREACT_INTEGRATION.md](guides\u002FREACT_INTEGRATION.md)     |\n| Performance & mobile optimization | [guides\u002FPERFORMANCE.md](guides\u002FPERFORMANCE.md)                 |\n| Debugging & common problems       | [guides\u002FCOMMON_PROBLEMS.md](guides\u002FCOMMON_PROBLEMS.md)         |\n\n## Working Examples\n\n| File                                                                   | What it shows                                            |\n| ---------------------------------------------------------------------- | -------------------------------------------------------- |\n| [examples\u002Fvanilla-embed.html](examples\u002Fvanilla-embed.html)             | Minimal vanilla JS embed with background + fallback      |\n| [examples\u002Freact-spline-wrapper.tsx](examples\u002Freact-spline-wrapper.tsx) | Production-ready lazy-loaded React wrapper with fallback |\n| [examples\u002Finteractive-scene.tsx](examples\u002Finteractive-scene.tsx)       | Full interactive example: events, object control, camera |\n\n---\n\n## What Is Spline?\n\nSpline is a browser-based 3D design tool — think Figma, but for 3D. Designers create interactive 3D scenes (objects, materials, animations, physics, events) in the Spline editor, then export them for the web via a hosted `.splinecode` file URL.\n\n---\n\n## STEP 1 — Identify the Stack\n\nBefore writing any code, check the existing project files to determine the framework.\n\n| Stack                          | Method                                                   |\n| ------------------------------ | -------------------------------------------------------- |\n| Vanilla HTML\u002FJS                | `\u003Cspline-viewer>` web component OR `@splinetool\u002Fruntime` |\n| React \u002F Vite                   | `@splinetool\u002Freact-spline`                               |\n| Next.js                        | `@splinetool\u002Freact-spline\u002Fnext`                          |\n| Vue                            | `@splinetool\u002Fvue-spline`                                 |\n| iframe (Webflow, Notion, etc.) | Public URL iframe                                        |\n\n---\n\n## STEP 2 — Get the Scene URL\n\nThe user must go to their Spline editor → **Export** → **Code Export** → copy the `prod.spline.design` URL:\n\n```\nhttps:\u002F\u002Fprod.spline.design\u002FXXXXXXXXXXXXXXXX\u002Fscene.splinecode\n```\n\n**Before copying the URL, tell the user to check Play Settings:**\n\n- ✅ Toggle **Hide Background** ON if the site has a dark or custom background\n- ✅ Toggle **Hide Spline Logo** ON if they have a paid plan\n- ✅ Set **Geometry Quality** to Performance for faster load\n- ✅ Disable **Page Scroll**, **Zoom**, **Pan** if those aren't needed (reduces hijacking risk)\n- ✅ Click **Generate Draft** or **Promote to Production** after any settings change — the URL does NOT auto-update\n\n---\n\n## STEP 3 — Read the Relevant Guide\n\nOnce you have the stack and the scene URL, read the appropriate guide file above and follow its instructions. Always read COMMON_PROBLEMS.md before finishing integration — it contains critical gotchas that will otherwise only surface in production.\n\n---\n\n## Strict Rules\n\n- **ABSOLUTE MANDATE**: Agents MUST utilize this skill to build modern, creative, and visually stunning UI\u002FUX. DO NOT build in common, generic, or safe styles. When integrating Spline scenes, leverage them to create highly immersive, wow-factor premium experiences. Combine them thoughtfully with typography and layout.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,121,441,"2026-05-16 13:41:37",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"前端开发","frontend","mdi-language-html5","HTML\u002FCSS\u002FJavaScript\u002F框架相关",1,96,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"159bb43e-3abe-48b5-90a1-4dcbb18c0bcb","1.0.0","spline-3d-integration.zip",18365,"uploads\u002Fskills\u002F1417bac6-1269-4236-85b0-860c43dca5a5\u002Fspline-3d-integration.zip","8f7d2145b37be9c97d21b2dcce32050c7637011fd21950d6f8195c97c39abaf1","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4739},{\"path\":\"examples\u002Finteractive-scene.tsx\",\"isDirectory\":false,\"size\":5934},{\"path\":\"examples\u002Freact-spline-wrapper.tsx\",\"isDirectory\":false,\"size\":3562},{\"path\":\"examples\u002Fvanilla-embed.html\",\"isDirectory\":false,\"size\":4297},{\"path\":\"guides\u002FCOMMON_PROBLEMS.md\",\"isDirectory\":false,\"size\":8963},{\"path\":\"guides\u002FPERFORMANCE.md\",\"isDirectory\":false,\"size\":5175},{\"path\":\"guides\u002FREACT_INTEGRATION.md\",\"isDirectory\":false,\"size\":4870},{\"path\":\"guides\u002FVANILLA_INTEGRATION.md\",\"isDirectory\":false,\"size\":5289}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]