当前制作进度展示,不代表最终成果
实验封面和头像是因为海实图床有防盗链并且netlogo-static-cn.turtlesim.com证书没配置好用不了https嵌入很麻烦,调试用的替代图像
开发成员:目前只有我
通用
异步请求
你是否也曾被加载动画硬控十几秒?
多开窗口切换缓解,或者直接用静默加载解决这个问题
长评论
我不知道评论区的1024字符是在哪里截断的,
但是我在我的海实留言板发布的144x108彩色字符画
证明65536个矩形顶点(对应最多16536字符)的渲染上限无处不在
评论跳转
加载动画和内存占用导致的卡顿让爬楼非常困难
实际上海实的评论功能是以时间点为索引的,虽然无法直接用序号获取评论但可以按时间分组
评论导出
现在海实/物实甚至连复制评论内容都不支持
完整的用户信息卡
其实用户的经验、等级、金币、钻石和碎片数都是公开的,
但是几乎所有用户连自己有多少经验都不清楚
这也是我iPad上还留着一个1913版本的物理实验课的原因之一
名称和头像更新
用户更新头像或昵称后评论区或实验作者中的头像和昵称不会同步更新
这可能是个历史遗留问题,考虑到点开头像看一下信息卡的最新昵称和头像并不是什么难事,过时的头像或昵称标记一下就足够了
历史封面
在实验发布页面可以查看并复用本实验已上传过的封面
源码预览
虽然海实和物实都已经支持导出sav存档了,但是管理人员排水还是麻烦了一些
在实验页面预览JSON原文并对比改编来源,不用再担心卡死了
多账户登录
浏览器本来就支持多标签页,切换一下token而已没什么好说的
社区插件
可能会开放部分社区API,当然都上网页端了抓包/脚本肯定防不了,社区审核和管理系统该升级了
以下内容仅限海实(当然如果你想在物实运行netlogo/js的话我也能同步到物实那边)
模型附件
支持在作品中附带文件并在源码页预览,在官方客户端中不报错,使用网页端特有扩展读取内容,不过仍然无法突破压缩后1MB上传的限制
NetTango
NetTango是编译到NetLogo的模块化编程语言(简称NT),海实为数不多的有官方支持的编程语言之一,导出的JSON项目文件被命名为ntjson
NetTango的所有积木和参数选项以及编译到的NetLogo格式都是可自定义的,可对语言本身进行编程因此可视作元编程
经典模型包括狼羊进化,秘密实验室(部分用户甚至设计出了编译到JavaScript,WebAssembly,Python的模型)
NT有web版可以抄但可能和海实的NT有些细节不太一样(例如模块顺序和对不存在的选项的容错)
扩展还原
Safari浏览器在iOS对传感器的支持不是那么好,其它扩展基本都能实现
社区扩展
可能会支持在实验内拉取和发布本实验的评论
需要用户登录的功能和对不在白名单内,不在相关用户/作品列表内的内容的操作需要用户授权后使用
NetLogo语法糖
在海实也能通过注入实现,但是网页端可以直接内置语法糖
网络请求
仅限白名单/管理员授权
与官方客户端的兼容性
可能需要一个标签标记面向网页端制作的实验,一个标签或分区区分开仅网页端能正常运行的实验
网页端特有或做出来等官方抄功能
评论/作品简介内置HTML/MD
另一个历史遗留问题:海实/物实一直是支持unity富文本格式而不是HTML甚至不是XML
保留unity富文本格式并新增部分标签
md标签
嵌入markdown内容,并且在markdown中可再嵌入HTML或高亮展示代码
support/nosuport标签
仅在支持或不支持指定功能时显示内部内容
content标签(仅海实)
用于触发作品内定义的功能
crypto标签
渲染此标签时,尝试用标签参数指定密钥或密钥对解密内部内容,找不到对应密钥或密钥对则折叠
可由于向指定用户或用户群体发布消息
用户密钥
在网页端首次登录时生成一个密钥对并用token等信息加密存储私有,公开公钥
老用户及不同职位的管理人员获得额外的统一密钥对,
任何用户都可以通过crypto标签指定管理人员的公钥向有不同职位要求的管理人员发布加密内容
由于某些原因不会还原的功能
海实模型指南的教程系统
需要与unity交互,不太好还原,
并且现在海实根本没几个用教程系统的是真的在做教程的,出教程的也没几个会用教程系统
3D&AR
这俩在国区真有人在用吗?
其它浏览器支持不完善的内容
传感器,参考MDN文档
XR,参考MDN文档
PWA(点名iOS,连应用图标都设置不了),参考MDN文档
需要服务器的内容
比如消息推送,不过最近两年用电脑和iOS端都没见过海实或物实推消息
低操作门槛的社区功能
社区和图床都不支持跨域请求,没有access-control-allow-origin标头(简称acao)
netlogo-static-cn.turtlesim.com证书配置有问题但可以用netlogo-cn.oss-cn-hongkong.aliyuncs.com安全连接
跨域非简单请求会自动发送options预检请求,但allow标头仅列出了POST方法不支持预检因此社区API无法跨域使用
图床更是个重量级,桶政策设置了防盗链,请求标头Referer不在白名单就403
除了让紫兰斋改服务器配置外目前的解决方法是在打开对应页面手动注入JS,用MessagePort向网页端页面通信并转发请求
也就是说在海实编辑器里没法直接用社区功能了
可能存在争议的内容
评论及其它需要登录的API
网页端防不了F12调试,社区内评论刷屏更难防了,用户黑名单不够用不如考虑一下用户白名单吧
网页端的公开版本可能得把登录、评论、关注、合作者等功能砍掉