[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CBTD0FZX686CA4YPQCS9X5":3,"skill-same:01M6CBTD0FZX686CA4YPQCS9X5":59},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":13,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6CBTD0FZX686CA4YPQCS9X5","00-overview",null,"devwinsoft\u002Fdevian","devwinsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22570160?v=4","01M6C6RR8W05NH8NPKQNCE3Q72","maoshy","01M6C6RRDJ5TJJCZXRTY801YDH",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F10-module\u002F60-net\u002F00-overview\u002FSKILL.md",[],[18,19],"overview","00 overview","2026-11-10 10:12:30",false,"# devian\u002F10-module\u002F60-net — Overview\n\nDevian Net layer: transport adapters, WebSocket\u002FHTTP-RPC 클라이언트, 서버, WebGL 브릿지.\n\nMaps to: `framework-cs\u002Fmodule\u002FDevian\u002Fsrc\u002FNet\u002F`, `framework-ts\u002Fmodule\u002Fdevian\u002Fsrc\u002Fnet\u002F`\n\n- **Transport Adapter**: WebSocket transport 계약\n- **Dispatcher Skeleton**: opcode 기반 수신 라우팅\n- **WS Client**: WebSocket 클라이언트 런타임 (Non-WebGL + WebGL polling)\n- **HTTP RPC Client**: Binary→base64 단일 파라미터 POST RPC\n- **Network Server**: TypeScript 네트워크 서버\n- **Game Network Client**: TypeScript 게임 클라이언트 테스트 앱\n- **WebGL Bridge**: .jslib ↔ C# polling 계약\n- **WebGL Memory**: ptr\u002Flen\u002Fstring 수명 규칙\n\n---\n\n## Start Here\n\n| Document | Description |\n|----------|-------------|\n| [70-ws-transport-adapter](..\u002F70-ws-transport-adapter\u002FSKILL.md) | Transport adapter contract |\n| [71-ws-dispatcher-skeleton](..\u002F71-ws-dispatcher-skeleton\u002FSKILL.md) | Dispatcher skeleton |\n| [72-network-ws-client](..\u002F72-network-ws-client\u002FSKILL.md) | WebSocket client runtime |\n| [73-network-http-rpc-client](..\u002F73-network-http-rpc-client\u002FSKILL.md) | HTTP RPC client |\n| [74-network-server](..\u002F74-network-server\u002FSKILL.md) | TS network server |\n| [75-game-network-client](..\u002F75-game-network-client\u002FSKILL.md) | TS game client |\n| [76-webgl-ws-polling-bridge](..\u002F76-webgl-ws-polling-bridge\u002FSKILL.md) | WebGL polling bridge |\n| [77-webgl-jslib-memory-rules](..\u002F77-webgl-jslib-memory-rules\u002FSKILL.md) | WebGL memory rules |\n\n---\n\n## Related\n\n- [Parent Policy](..\u002F..\u002F01-policy\u002FSKILL.md)\n- [SSOT](..\u002F..\u002F03-ssot\u002FSKILL.md)\n- [Devian Index](..\u002F..\u002F..\u002FSKILL.md)\n",{},"main","8cb5bd877a3a7004867d2f55697cb9e4ff2f1734","skills\u002Fdevian\u002F10-module\u002F60-net\u002F00-overview","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft","Kim Hyong Joon","2026-04-12 18:44:10",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add devwinsoft\u002Fdevian --skill 00-overview",{"tool":37,"command":38},"bunx","bunx skills add devwinsoft\u002Fdevian --skill 00-overview",{"tool":40,"command":41},"pnpm","pnpm dlx skills add devwinsoft\u002Fdevian --skill 00-overview","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F10-module\u002F60-net\u002F00-overview\u002FSKILL.md",true,[45,51,55],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"AGENT-BRIEF.md","REFERENCE","参考文档",7942,"https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftriage\u002FAGENT-BRIEF.md",{"path":52,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":53,"sourceHtmlUrl":54},"agents\u002Fopenai.yaml",235,"https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftriage\u002Fagents\u002Fopenai.yaml",{"path":56,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":57,"sourceHtmlUrl":58},"OUT-OF-SCOPE.md",4667,"https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftriage\u002FOUT-OF-SCOPE.md",[60,66,74,82,91,98],{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":20},"01M6CBX3K2JJV38ANHVGCAT8A0","devian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002FSKILL.md",[],[62],{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":20},"01M6CBX210BFMM8AMN770J9WY8","90-project-archive","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F90-project-archive\u002FSKILL.md",[],[72,73],"archive","90 project archive",{"skillNo":75,"name":76,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":20},"01M6CBWZSGRR9R3YJZB3177667","30-env-management","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F30-env-management\u002FSKILL.md",[],[80,81],"management","30 env management",{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":20},"01M6CBWYD3TGWBQV7V35551THF","19-page-push-send","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F19-page-push-send\u002FSKILL.md",[],[88,89,90],"push","page","19 page push send",{"skillNo":92,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":20},"01M6CBWWRQ05A7604GHJKTPJTF","18-page-savedata","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F18-page-savedata\u002FSKILL.md",[],[89,97],"18 page savedata",{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":20},"01M6CBWVH4S2VF1V7B2GBTESCT","17-page-deobfuscate","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F17-page-deobfuscate\u002FSKILL.md",[],[89,104],"17 page deobfuscate"]