<div dir="ltr"><div dir="ltr">Okay. I compressed JSON files for better effect. That should speed up downloads!<div><br></div><div>Castle Model Viewer on Desktop (Windows 11, Edge) and Mobile (iOS, Safari) have been tested successfully.</div><div><br></div><div><a href="https://coderextreme.net/softbody2/" target="_blank" style="font-size:inherit">https://coderextreme.net/softbody2/</a></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Mar 19, 2026 at 10:14 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Apparently best viewed in Safari on iOS. I am not sure why it viewed so well the first time. You can try hitting the download button to shake it up.</div><div dir="auto"><br></div><div dir="auto">I’ve tried Chrome and Firefox on iOS.</div><div dir="auto"><br></div><div dir="auto">Maybe the Three.JS WebGPU renderer is premature? Or Web Assembly? Demoware?</div><div dir="auto"><br></div><div dir="auto">Hmm!</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 19, 2026 at 10:04 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">I’m having difficulty with HAnim it appears. Nothing changed in the codebase, so sometimes I get a humanoid and sometimes I don’t. I will check console logs when I get a chance. You may need to press the download button to get the animation going.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 19, 2026 at 8:45 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:inherit" dir="auto"><a href="https://coderextreme.net/softbody2/" style="font-size:inherit" target="_blank">https://coderextreme.net/softbody2/</a></div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">This version has the feature of .glb download, which works well in Castle Mobile Model Viewer. I don’t know how well it works for Humanoids with Sunrize on Windows 11, I tried. Feel free to download the .glb. It was generated with THREE.js GLTFExporter. Input X3D JSON was validated with JSON schema, with additions of SoftBody and Stitch Joint.</div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">Old versions of x3dvalidate here <div dir="auto" style="font-size:inherit"><a href="https://www.npmjs.com/package/x3dvalidate" style="font-size:inherit" target="_blank">https://www.npmjs.com/package/x3dvalidate</a></div><div dir="auto" style="font-size:inherit"><br></div><div dir="auto" style="font-size:inherit">A decision was made to revert to Ajv due to stack overflow in hyperjump-io validator. This means the schema won’t validate in Ajv strict mode.</div><div dir="auto" style="font-size:inherit"><br></div><div dir="auto" style="font-size:inherit">Development of x3dvalidate is here:</div><div dir="auto" style="font-size:inherit"><br></div><div dir="auto" style="font-size:inherit"><div style="font-size:inherit"><a href="https://github.com/coderextreme/x3dvalidate" style="font-size:inherit" target="_blank">https://github.com/coderextreme/x3dvalidate</a></div><br></div><div dir="auto" style="font-size:inherit">I think this version doesn’t validate the X_ITE component for now. It does validate Stitch and SoftBody.</div><div dir="auto" style="font-size:inherit"><br></div><div dir="auto" style="font-size:inherit">HyperJump-io was moved to a separate file for those who want stricter JSON schema adherence. I sent Jason Desrosiers my schema and an instance. His comment was: “<div style="font-size:inherit" dir="auto"><span style="color:rgb(0,0,0);font-family:-apple-system,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:1px;text-decoration:none;float:none;display:inline">The schema found over 1.7 million errors in the data! This package is definitely not designed to function at these scales.” Ajv + x3dvalidate just found a few. YMMV. Note that after the errors were corrected, both validators approved the JSON. The JSON, both scene.json and HumanoidComplete.x3dj, were deployed successfully.</span></div><div style="font-size:inherit" dir="auto"><span style="color:rgb(0,0,0);font-family:-apple-system,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:1px;text-decoration:none;float:none;display:inline"><br></span></div><div style="font-size:inherit" dir="auto"><span style="color:rgb(0,0,0);font-family:-apple-system,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:1px;text-decoration:none;float:none;display:inline">Hint for those wanting to compress JSON. jsonlint -t 0 should work. I use the @prantlf version, which uses Ajv.</span></div></div></div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">Additional implementations welcome!</div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">The significance of this is that Castle Model Viewer can view data sourced as X3D JSON! Example JSON is here<div style="font-size:inherit"><a href="https://coderextreme.net/softbody2/assets/" style="font-size:inherit" target="_blank">https://coderextreme.net/softbody2/assets/</a></div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">and here:</div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto"><div style="font-size:inherit"><a href="https://coderextreme.net/softbody2/scene.json" style="font-size:inherit" target="_blank">https://coderextreme.net/softbody2/scene.json</a></div></div></div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">John </div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>