[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81152":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":15,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},81152,"SS14Editor","TheShuEd\u002FSS14Editor","TheShuEd","A standalone prototype editor for any SS14 fork","",null,"JavaScript",35,4,30,5,0,1,3,45.1,"MIT License",false,"main",[],"2026-06-12 04:01:32","# SS14 Editor\n\nA standalone visual editor for [Space Station 14](https:\u002F\u002Fgithub.com\u002Fspace-wizards\u002Fspace-station-14) prototype YAML files.\nWorks with **any SS14 fork** — just point it at your project folder.\n\n> [!WARNING]\n> Work in progress!\n> The tool is still in active development. Expect bugs and missing features. Make backups before mass-editing.\n\n> [!NOTE]\n> Vibecoding!\n> This entire project was created using generative AI technologies. If you don't like it, don't use it.\n\n\u003Cimg width=\"1919\" height=\"747\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff5e92e61-f329-4c3c-aba2-64ea7705eac7\" \u002F>\n\n---\n\n## What it does\n\n- Browse and edit prototype YAML files through a modern, themed UI\n- Auto-completes entity IDs, component names and field types from your project's assemblies\n- Shows inheritance chains, validates required fields, renders sprites inline\n- Watches `Resources\u002FPrototypes\u002F` for external changes and live-reloads open files \u002F the file tree (Server-Sent Events)\n- Loads game DLLs through `System.Reflection.MetadataLoadContext` — **no game code is executed**\n- Ships as either a self-contained CLI \u002F HTTP server (any browser) or as a packaged Electron desktop app with a custom title bar and in-app updates\n\n---\n\n## Quick start\n\n### Option A — Desktop app (recommended)\n\nGrab the latest installer or portable build from the [Releases](..\u002F..\u002Freleases) page:\n\n| Platform | Installer | Portable |\n|----------|-----------|----------|\n| Windows  | `ss14-editor-v\u003Cversion>-setup.exe` (NSIS) | `ss14-editor-v\u003Cversion>-portable.exe` |\n| Linux    | `ss14-editor-v\u003Cversion>-linux-x64.AppImage` | — |\n| macOS (Apple Silicon) | `ss14-editor-v\u003Cversion>-osx-arm64.dmg` | — |\n\nLaunch the app — a splash window appears immediately, the bundled .NET server starts in the background, and the project picker opens as soon as it is ready. When a newer release is published an accent-coloured **Update** button appears in the header; click it to download and restart into the installer. Nothing is downloaded silently.\n\n### Option B — CLI \u002F browser\n\nPrefer running the .NET server yourself? Download one of the standalone archives instead of the Electron installer:\n\n| Platform | Archive |\n|----------|---------|\n| Windows  | `ss14-editor-v\u003Cversion>-win-x64.zip` |\n| Linux    | `ss14-editor-v\u003Cversion>-linux-x64.tar.gz` |\n| macOS (Apple Silicon) | `ss14-editor-v\u003Cversion>-osx-arm64.tar.gz` |\n\nThe archive contains a single self-contained `ss14-editor` binary (the WebUI is embedded inside it, so nothing else is needed). Extract it anywhere and run:\n\n```\nss14-editor               # starts in setup mode — open http:\u002F\u002Flocalhost:2701 in any browser\n```\n\n### Option C — Build from source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyour-org\u002Fss14-editor\ncd ss14-editor\ndotnet run --project ss14-editor.csproj\n```\n\nRequires [.NET 10 SDK](https:\u002F\u002Fdotnet.microsoft.com\u002Fen-us\u002Fdownload\u002Fdotnet\u002F10.0).\n\n---\n\n## Desktop app (Electron)\n\nThe `electron\u002F` folder contains the Electron wrapper that owns the desktop window, the system-tray icon and the update flow.\n\nHighlights:\n\n- **Native window chrome is hidden.** `frame: false` means the OS title bar is gone; the WebUI draws its own header containing the Project menu, the Update button and the minimize \u002F maximize \u002F close window controls.\n- **No silent auto-update.** The main process queries GitHub Releases on startup; if there is a newer version it sends `update-available` over IPC and the WebUI surfaces the Update button. Downloading and installing happens only after the user clicks it.\n- **Renderer is hardened.** `nodeIntegration:false`, `contextIsolation:true`, `sandbox:true`. All cross-process traffic goes through the small surface exposed by [electron\u002Fpreload.js](electron\u002Fpreload.js) (`window.electronAPI`).\n- **No CORS.** The .NET server and the WebUI share an origin (`http:\u002F\u002Flocalhost:2701`). Do not add `Access-Control-Allow-*` headers — they would let any website the user visits POST to `\u002Fapi\u002Ffile` and rewrite prototype files.\n\n### Development\n\n```bash\n# 1. Build the .NET server (Debug is fine for dev, output lands in bin\u002F)\ndotnet build ss14-editor.csproj\n\n# 2. Install Electron dependencies (once)\ncd electron\nnpm install\n\n# 3. Run\nnpm start\n```\n\nThe main process spawns the .NET binary from `bin\u002F`, `publish\u002Fwin-x64\u002F` or `publish\u002Fserver\u002F` (whichever it finds), waits for the HTTP server to respond, then opens the window.\n\n### Packaging a distributable\n\n```bash\n# Publish the self-contained .NET binary first (from repo root)\ndotnet publish ss14-editor.csproj -c Release -r win-x64 --self-contained -o publish\u002Fwin-x64\n\n# Then build the Electron installer (from electron\u002F)\ncd electron\nnpm run dist\n```\n\nOutput goes to `electron\u002Fdist\u002F` — an NSIS installer (`ss14-editor-vX.Y.Z-setup.exe`) and a portable executable (`ss14-editor-vX.Y.Z-portable.exe`). Optionally place a 256×256 `icon.ico` at the repo root to brand the build.\n\n---\n\n## How it works\n\n- The .NET server uses `System.Reflection.MetadataLoadContext` to read the compiled game DLLs **without executing any game code** — safe and fast even on a fork you have never run before.\n- The WebUI is vanilla HTML \u002F CSS \u002F JS embedded as resources via `\u003CEmbeddedResource Include=\"WebUI\\**\\*\">`. There is no bundler, no transpiler, no npm step.\n- Live file-tree \u002F file-content updates are delivered over Server-Sent Events from `\u002Fapi\u002Fevents`.\n- All filesystem inputs from HTTP requests go through `PathSecurity.NormalizeRelative`, which rejects absolute paths and `..` traversal before any I\u002FO happens.\n","SS14Editor 是一个为 Space Station 14 及其任何分支设计的独立可视化编辑器，用于编辑原型 YAML 文件。它通过现代化的主题界面浏览和编辑文件，提供实体ID、组件名称及字段类型的自动补全，并展示继承链、验证必填字段以及内联渲染精灵。此外，该工具利用 Server-Sent Events 实现对 `Resources\u002FPrototypes\u002F` 目录下外部更改的监控与实时刷新功能，同时加载游戏DLL时不执行任何游戏代码。适用于需要对 SS14 项目进行高效管理与开发的场景。请注意，该项目仍在积极开发中，可能存在一些未完成的功能或错误。",2,"2026-06-11 04:03:42","CREATED_QUERY"]