<div dir="ltr"><div>Thanks Michalis for reminder about X3DLightNode intensity, makes excellent sense.</div><div><br></div><div>I checked, there is no upper limit on intensity in X3D 4.0 or 4.1 draft XML Schema.  The validation error for these examples occurred because the scenes use X3D version 3.3.</div><div><br></div><div>So for the touched-up models, there is a choice to be made:</div><div>a. keep PointLight intensity at 1.5 and X3D version at 3.3 in the LLM-generated scenes, propagating a validation error (that is possibly beyond the capability of an X3D browser only supporting version 3.3 and potentially leading to a run-time load error).</div><div>b. removing <xs:maxInclusive value="1"/> limit on lighting nodes in X3D 3.3 schema, introducing divergence from X3D 3.3 specification (shudder).</div><div>c, restore original PointLight intensity to 1.5 and changing X3D version to 4.0 in the LLM-generated scenes (similar to already changing profile='Immersive' to eliminate numerous component statements).</div><div><br></div><div>Following the precept "do the right thing" it seems like option C is clearly the right choice, especially for encouraging correct long-term generation of content.  That encourages best practice to match chosen model values. So... this change has been applied and published.</div><div><br></div><div>I will add a diagnostic rule to X3D Schematron that reports X3D 4.0 is needed whenever scenes at a lower X3D version use a lighting intensity greater than 1.0.  Meanwhile have added a warning in X3D Tooltips for each of the lighting nodes.</div><div><ul><li>X3D Tooltips, PointLight intensity</li><li><a href="https://www.web3d.org/x3d/content/X3dTooltips.html#PointLight.intensity">https://www.web3d.org/x3d/content/X3dTooltips.html#PointLight.intensity</a></li><li><font color="#ee5500" style="font-family:"Times New Roman";font-size:medium"><b>Warning:</b></font><span style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium;background-color:rgb(238,255,238)"> values greater than 1.0 require X3D version='4.0' or greater.</span></li></ul></div><div>Thanks for suggesting "Using AI when contributing to Castle Game Engine" as a precaution, I had just added that earlier this morning.  (May I suggest linking your other excellent post somewhere in there as well.)</div><div><br></div><div>The LargeLanguageModels chapter summary also now includes a link to an annotated log of the original session, plus a link to X3D AI working group charter.</div><div><ul><li>X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Large Language Models</li><li><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/index.html">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/index.html</a></li><li><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/ClaudeCodeExampleChatLog.pdf" target="_blank" style="font-family:"Times New Roman";font-size:medium">session chat log</a><font color="#000000" face="Times New Roman" size="3"> at </font><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/ClaudeCodeExampleChatLog.pdf">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/ClaudeCodeExampleChatLog.pdf</a></li><li><a href="https://castle-engine.io/ai" target="_blank" style="font-family:"Times New Roman";font-size:medium">Using AI when contributing to Castle Game Engine</a></li><li><a href="https://www.web3d.org/working-groups/ai-x3d" target="_blank" style="font-family:"Times New Roman";font-size:medium">Web3D Consortium <i>AI with X3D</i> Working Group</a></li></ul>New suggestion: since our X3D Example Archives are a useful public resource that may well be getting used by LLM training algorithms, we should be careful to enable such user agents to avoid recursing on other LLM-generated models.  Towards that end, have added the following warning to these three models.</div><div><div><table id="gmail-LineNumberTable.top" class="gmail-lineNumber" style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><tbody><tr class="gmail-lineNumber"><td class="gmail-lineNumber" style="font-family:monospace"> <a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/ClaudeCodeSimpleModel.html#12">12</a> </td><td><a id="gmail-12"></a>          <span title="meta 'warning' provides warning information about a known problem that impedes proper operation"><<span class="element" style="color:navy">meta</span> <span class="gmail-attribute" style="color:green">name</span>='<b class="gmail-warning" style="color:rgb(204,85,0);background:rgb(255,250,160)"> warning </b>' <span class="gmail-attribute" style="color:green">content</span>='<b class="gmail-warning" style="color:rgb(204,85,0);background:rgb(255,250,160)"> original model produced by LLM, careful review and precautions are warranted </b>'/></span></td></tr></tbody></table><br></div><div>I do not expect we will have many LLM-generated examples in the archives, but a small number that illustrate how to get things done can be helpful for modelers.  Reading yesterday's annotated <a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/LargeLanguageModels/ClaudeCodeExampleChatLog.pdf" target="_blank" style="font-family:"Times New Roman";font-size:medium">session chat log</a> tells a story.</div><div><br></div><div>Additional thoughts welcome.  Thanks again for all careful scrutiny.</div></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Feb 28, 2026 at 8:22 AM Michalis Kamburelis <<a href="mailto:michalis@castle-engine.io">michalis@castle-engine.io</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">> given X3D4 close support for glTF physically based rendering (PBR), are upper limits of 1.0 for some rendering fields overly strict, e.g. PointLight intensity?<br>
<br>
We had this talk already around X3D 4.0 :)<br>
<br>
There are no limits on intensity values in X3D >= 4.0. "PointLight.intensity" is unbounded. It is "SFFloat [in,out] intensity 1 [0,∞)" (in <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/lighting.html#PointLight" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/lighting.html#PointLight</a> ) . Same goes for other light sources.<br>
<br>
Reasons:<br>
<br>
- ( The change is not really strictly related to glTF (though aligning with glTF and looking at their "punctual lights" extension prose helped us uncover this issue). )<br>
<br>
- In reality, physical brightness of light is unbounded. This is a "theoretical argument", i.e. "if our stuff approximates reality, then it should be unbounded just like in reality".<br>
<br>
- One practical argument is that the limit of intensity to [0,1] in X3D 3.x and VRML never achieved any practical gain. E.g. it _did not_ force the resulting lighting calculation to fit in [0,1] anyway, browsers had to cut the resulting colors anyway if things are too bright (e.g. lit by multiple lights), even when intensity of a single light was guaranteed <= 1. <br>
<br>
- And having "intensity" unlimited opens the door for things like HDR. Basically, let renderers decide for themselves how to handle very bright scenes. Maybe one renderer wants to "cut off" colors above (1,1,1), but maybe another renderer calculates them to floating-point buffer and does post-processing tricks to display bright colors (just like human eye does adaptation).<br>
<br>
If we have a tool, xsd still claiming there's a limit -- then it was not updated for X3D 4.0 :)<br>
<br>
P.S. As for AI usage, I recommend also my docs at <a href="https://castle-engine.io/ai" rel="noreferrer" target="_blank">https://castle-engine.io/ai</a> and recent thoughts on <a href="https://castle-engine.io/wp/2026/02/23/ai-usage-guidelines-and-thoughts-updated-and-test-of-vibe-coding-with-castle-game-engine/" rel="noreferrer" target="_blank">https://castle-engine.io/wp/2026/02/23/ai-usage-guidelines-and-thoughts-updated-and-test-of-vibe-coding-with-castle-game-engine/</a> . Basically, as you say: use but be careful.<br>
<br>
Regards,<br>
Michalis<br>
</blockquote></div>