diff --git a/build.xml b/build.xml
index 1d8d7a00bf1bb5bcad2e612bc04970871844f1d0..53b820ad205b25452ba07964618dcb37b48daadf 100644
--- a/build.xml
+++ b/build.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-Copyright (c) 1995-2023 held by the author(s).  All rights reserved.
+Copyright (c) 1995-2024 held by the author(s).  All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
@@ -349,8 +349,10 @@ POSSIBILITY OF SUCH DAMAGE.
     -->
 
     <target name="jar.all"
-            depends="jar,jar.apps"
-            description="Build all Xj3D application jar files"/>
+            depends="dist,jar,jar.apps,jar.src"
+            description="Build all Xj3D application jar files">
+        <echo message="TODO for Xj3D release, push updated jar files to savage.nps.edu"/>
+    </target>
 
     <target name="jar"
             depends="compile"
@@ -383,6 +385,122 @@ POSSIBILITY OF SUCH DAMAGE.
         </jar>
     </target>
 
+    <target name="jar.src"
+            depends="build,compile"
+            description="Build the Xj3D src distribution jar files">
+
+
+        <!-- Jar up core and apps source files for debugging reference -->
+        <jar destfile="${dist.src.jar}">
+            <manifest>
+                <attribute name="Specification-Version"
+                           value="${product.Version}"/>
+                <attribute name="Specification-Vendor"
+                           value="${spec.vendor}"/>
+                <attribute name="Implementation-Title"
+                           value="${product.Name}"/>
+                <attribute name="Built-By"
+                           value="${my.name} &lt;${my.email}&gt;"/>
+                <attribute name="Implementation-Version"
+                           value="${product.Version} built on ${TODAY_US}"/>
+                <attribute name="Implementation-Vendor"
+                           value="${impl.vendor}"/>
+                <attribute name="Implementation-Vendor-Id"
+                           value="${impl.vendor-id}"/>
+            </manifest>
+            <metainf file="${docs.dir}/BSD.txt"/>
+            <metainf file="${docs.dir}/GPL.txt"/>
+            <metainf file="${docs.dir}/LGPL.txt"/>
+            <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${src.java.dir}">
+                <include name="**/*.java"/>
+            </fileset>
+        </jar>
+
+        <jar destfile="${browser.src.jar}">
+            <manifest>
+                <attribute name="Specification-Version"
+                           value="${product.Version}"/>
+                <attribute name="Specification-Vendor"
+                           value="${spec.vendor}"/>
+                <attribute name="Implementation-Title"
+                           value="${product.Name}"/>
+                <attribute name="Built-By"
+                           value="${my.name} &lt;${my.email}&gt;"/>
+                <attribute name="Implementation-Version"
+                           value="${product.Version} built on ${TODAY_US}"/>
+                <attribute name="Implementation-Vendor"
+                           value="${impl.vendor}"/>
+                <attribute name="Implementation-Vendor-Id"
+                           value="${impl.vendor-id}"/>
+            </manifest>
+            <metainf file="${docs.dir}/BSD.txt"/>
+            <metainf file="${docs.dir}/GPL.txt"/>
+            <metainf file="${docs.dir}/LGPL.txt"/>
+            <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${browser.src.java.dir}">
+                <include name="**/*.java"/>
+            </fileset>
+        </jar>
+
+        <jar destfile="${cadfilter.src.jar}">
+            <manifest>
+                <attribute name="Specification-Version"
+                           value="${product.Version}"/>
+                <attribute name="Specification-Vendor"
+                           value="${spec.vendor}"/>
+                <attribute name="Implementation-Title"
+                           value="${product.Name}"/>
+                <attribute name="Built-By"
+                           value="${my.name} &lt;${my.email}&gt;"/>
+                <attribute name="Implementation-Version"
+                           value="${product.Version} built on ${TODAY_US}"/>
+                <attribute name="Implementation-Vendor"
+                           value="${impl.vendor}"/>
+                <attribute name="Implementation-Vendor-Id"
+                           value="${impl.vendor-id}"/>
+            </manifest>
+            <metainf file="${docs.dir}/BSD.txt"/>
+            <metainf file="${docs.dir}/GPL.txt"/>
+            <metainf file="${docs.dir}/LGPL.txt"/>
+            <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${cadfilter.src.java.dir}">
+                <include name="**/*.java"/>
+            </fileset>
+        </jar>
+
+        <jar destfile="${replica.src.jar}">
+            <manifest>
+                <attribute name="Specification-Version"
+                           value="${product.Version}"/>
+                <attribute name="Specification-Vendor"
+                           value="${spec.vendor}"/>
+                <attribute name="Implementation-Title"
+                           value="${product.Name}"/>
+                <attribute name="Built-By"
+                           value="${my.name} &lt;${my.email}&gt;"/>
+                <attribute name="Implementation-Version"
+                           value="${product.Version} built on ${TODAY_US}"/>
+                <attribute name="Implementation-Vendor"
+                           value="${impl.vendor}"/>
+                <attribute name="Implementation-Vendor-Id"
+                           value="${impl.vendor-id}"/>
+            </manifest>
+            <metainf file="${docs.dir}/BSD.txt"/>
+            <metainf file="${docs.dir}/GPL.txt"/>
+            <metainf file="${docs.dir}/LGPL.txt"/>
+            <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${replica.src.java.dir}">
+                <include name="**/*.java"/>
+            </fileset>
+        </jar>
+
+    </target>
+
     <target name="jar.apps"
             depends="build,compile.apps"
             description="Build the Xj3D browser and cadfilter application jar files">
@@ -955,123 +1073,17 @@ POSSIBILITY OF SUCH DAMAGE.
         </zip>
         <delete dir="${marshall.dir}"/>
 
-        <!-- Jar up core and apps source files for debugging reference -->
-        <jar destfile="${dist.src.jar}">
-            <manifest>
-                <attribute name="Specification-Version"
-                           value="${product.Version}"/>
-                <attribute name="Specification-Vendor"
-                           value="${spec.vendor}"/>
-                <attribute name="Implementation-Title"
-                           value="${product.Name}"/>
-                <attribute name="Built-By"
-                           value="${my.name} &lt;${my.email}&gt;"/>
-                <attribute name="Implementation-Version"
-                           value="${product.Version} built on ${TODAY_US}"/>
-                <attribute name="Implementation-Vendor"
-                           value="${impl.vendor}"/>
-                <attribute name="Implementation-Vendor-Id"
-                           value="${impl.vendor-id}"/>
-            </manifest>
-            <metainf file="${docs.dir}/BSD.txt"/>
-            <metainf file="${docs.dir}/GPL.txt"/>
-            <metainf file="${docs.dir}/LGPL.txt"/>
-            <metainf file="${docs.dir}/LICENSE"/>
-
-            <fileset dir="${src.java.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-        </jar>
-
-        <jar destfile="${browser.src.jar}">
-            <manifest>
-                <attribute name="Specification-Version"
-                           value="${product.Version}"/>
-                <attribute name="Specification-Vendor"
-                           value="${spec.vendor}"/>
-                <attribute name="Implementation-Title"
-                           value="${product.Name}"/>
-                <attribute name="Built-By"
-                           value="${my.name} &lt;${my.email}&gt;"/>
-                <attribute name="Implementation-Version"
-                           value="${product.Version} built on ${TODAY_US}"/>
-                <attribute name="Implementation-Vendor"
-                           value="${impl.vendor}"/>
-                <attribute name="Implementation-Vendor-Id"
-                           value="${impl.vendor-id}"/>
-            </manifest>
-            <metainf file="${docs.dir}/BSD.txt"/>
-            <metainf file="${docs.dir}/GPL.txt"/>
-            <metainf file="${docs.dir}/LGPL.txt"/>
-            <metainf file="${docs.dir}/LICENSE"/>
-
-            <fileset dir="${browser.src.java.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-        </jar>
-
-        <jar destfile="${cadfilter.src.jar}">
-            <manifest>
-                <attribute name="Specification-Version"
-                           value="${product.Version}"/>
-                <attribute name="Specification-Vendor"
-                           value="${spec.vendor}"/>
-                <attribute name="Implementation-Title"
-                           value="${product.Name}"/>
-                <attribute name="Built-By"
-                           value="${my.name} &lt;${my.email}&gt;"/>
-                <attribute name="Implementation-Version"
-                           value="${product.Version} built on ${TODAY_US}"/>
-                <attribute name="Implementation-Vendor"
-                           value="${impl.vendor}"/>
-                <attribute name="Implementation-Vendor-Id"
-                           value="${impl.vendor-id}"/>
-            </manifest>
-            <metainf file="${docs.dir}/BSD.txt"/>
-            <metainf file="${docs.dir}/GPL.txt"/>
-            <metainf file="${docs.dir}/LGPL.txt"/>
-            <metainf file="${docs.dir}/LICENSE"/>
+        <antcall target="jar.src"/>
 
-            <fileset dir="${cadfilter.src.java.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-        </jar>
-
-        <jar destfile="${replica.src.jar}">
-            <manifest>
-                <attribute name="Specification-Version"
-                           value="${product.Version}"/>
-                <attribute name="Specification-Vendor"
-                           value="${spec.vendor}"/>
-                <attribute name="Implementation-Title"
-                           value="${product.Name}"/>
-                <attribute name="Built-By"
-                           value="${my.name} &lt;${my.email}&gt;"/>
-                <attribute name="Implementation-Version"
-                           value="${product.Version} built on ${TODAY_US}"/>
-                <attribute name="Implementation-Vendor"
-                           value="${impl.vendor}"/>
-                <attribute name="Implementation-Vendor-Id"
-                           value="${impl.vendor-id}"/>
-            </manifest>
-            <metainf file="${docs.dir}/BSD.txt"/>
-            <metainf file="${docs.dir}/GPL.txt"/>
-            <metainf file="${docs.dir}/LGPL.txt"/>
-            <metainf file="${docs.dir}/LICENSE"/>
-
-            <fileset dir="${replica.src.java.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-        </jar>
         <echo message="Production note: X3D Examples image capture links to jars via property name=xj3d.dir"/>
         <echo message="Production note: X3D-Edit update requires copying Xj3D jars to module www.web3d.org\x3d/tools/X3dEdit4.0/X3dEditModuleSuite/X3dSourceFilePalette/release/modules/ext"/>
 
     </target>
 
-    <target name="all" depends="versions,clean,build,javadoc,test,dist"
+    <target name="all" depends="versions,clean,build,javadoc,dist"
             description="complete clean/build ready for distribution and deployment">
         <echo message="build.dist to create a distributable Xj3D complete with documentation"/>
-        <!-- build.dist does not include javadoc in installers, but javadoc has ability to detect additional errors -->
+        <!-- build.dist does not include javadoc in installers, but javadoc has ability to detect additional errors..test, -->
         <antcall target="run"/>
     </target>
 
diff --git a/jars/README.html b/jars/README.html
index 2cf802234eae641d87194df0f42b39c63adb31b4..1d59884cf60c75e9a45f13d24c7ca0e9702cfe34 100644
--- a/jars/README.html
+++ b/jars/README.html
@@ -24,13 +24,13 @@
             <a href="aviatrix3d-all_3.1.1-nps.jar">aviatrix3d-all_3.1.1-nps.jar</a>
         </li>
         <li>
-            <a href="jogamp-fat.jar">jogamp-fat.jar"</a>
+            <a href="jhall.jar">jhall.jar</a>
         </li>
         <li>
-            <a href="xj3d-2.3-nps.jar">xj3d-2.3-nps.jar</a>
+            <a href="jogamp-fat.jar">jogamp-fat.jar"</a>
         </li>
         <li>
-            <a href="xj3d-2.3-nps-src.jar">xj3d-2.3-nps-src.jar</a>
+            <a href="xj3d-2.3-nps.jar">xj3d-2.3-nps.jar</a>
         </li>
         <li>
             <a href="xj3d-2.3-3rdparty-nps.jar">xj3d-2.3-3rdparty-nps.jar</a>
@@ -53,9 +53,6 @@
         <li>
             <a href="xj3d.replica_2.3.0-nps-src.jar">xj3d.replica_2.3.0-nps-src.jar</a>
         </li>
-        <li>
-            <a href="jhall.jar">jhall.jar</a>
-        </li>
         <li>
             <a href="license.html">license.html</a>
             and
@@ -72,6 +69,6 @@
         Deployment:         <a href="https://savage.nps.edu/Xj3D.nps/jars/README.html">https://savage.nps.edu/Xj3D.nps/jars/README.html</a>
     </p>
     <p>
-        Revised: &nbsp; &nbsp; &nbsp; 29 DEC 2023
+        Revised: &nbsp; &nbsp; &nbsp; 24 October 2024
     </p>
 
diff --git a/jars/aviatrix3d-all_3.1.1-nps.jar b/jars/aviatrix3d-all_3.1.1-nps.jar
new file mode 100644
index 0000000000000000000000000000000000000000..0eb7805597d0e00e7f711b514d2f2d203783fea2
Binary files /dev/null and b/jars/aviatrix3d-all_3.1.1-nps.jar differ
diff --git a/jars/jhall.jar b/jars/jhall.jar
new file mode 100644
index 0000000000000000000000000000000000000000..6b894bc2cb79ee19a70abb5eab3b9155d5e11632
Binary files /dev/null and b/jars/jhall.jar differ
diff --git a/jars/jogamp-fat.jar b/jars/jogamp-fat.jar
new file mode 100644
index 0000000000000000000000000000000000000000..3d144681563af897314f3370dd4d32754693fad2
Binary files /dev/null and b/jars/jogamp-fat.jar differ
diff --git a/jars/xj3d-2.3-3rdparty-nps.jar b/jars/xj3d-2.3-3rdparty-nps.jar
new file mode 100644
index 0000000000000000000000000000000000000000..73e0f3e1de9ca7a251ecf4f1c5522cd8eb2d941f
Binary files /dev/null and b/jars/xj3d-2.3-3rdparty-nps.jar differ
diff --git a/jars/xj3d-2.3-nps-src.jar b/jars/xj3d-2.3-nps-src.jar
new file mode 100644
index 0000000000000000000000000000000000000000..c91ffdf4aba038306c07fb7f4a0deb8a13bd85ce
Binary files /dev/null and b/jars/xj3d-2.3-nps-src.jar differ
diff --git a/jars/xj3d-2.3-nps.jar b/jars/xj3d-2.3-nps.jar
new file mode 100644
index 0000000000000000000000000000000000000000..1c8bafa4d3346bdd4345a968601068a0605b5b64
Binary files /dev/null and b/jars/xj3d-2.3-nps.jar differ
diff --git a/jars/xj3d.browser_2.3.0-nps-src.jar b/jars/xj3d.browser_2.3.0-nps-src.jar
new file mode 100644
index 0000000000000000000000000000000000000000..c245c3051d170f2ec3eb514b5ad1eaed93e25356
Binary files /dev/null and b/jars/xj3d.browser_2.3.0-nps-src.jar differ
diff --git a/jars/xj3d.browser_2.3.0-nps.jar b/jars/xj3d.browser_2.3.0-nps.jar
new file mode 100644
index 0000000000000000000000000000000000000000..863fcebb48b6de08426af4d1a7cd6adc8fbe76cb
Binary files /dev/null and b/jars/xj3d.browser_2.3.0-nps.jar differ
diff --git a/jars/xj3d.cadfilter_2.3.0-nps-src.jar b/jars/xj3d.cadfilter_2.3.0-nps-src.jar
new file mode 100644
index 0000000000000000000000000000000000000000..1a071134cecbc92fa6556fa65e7b10e0cafb3bc9
Binary files /dev/null and b/jars/xj3d.cadfilter_2.3.0-nps-src.jar differ
diff --git a/jars/xj3d.cadfilter_2.3.0-nps.jar b/jars/xj3d.cadfilter_2.3.0-nps.jar
new file mode 100644
index 0000000000000000000000000000000000000000..3186a94ff248e2ff741204a6b7af0a923fcbc39f
Binary files /dev/null and b/jars/xj3d.cadfilter_2.3.0-nps.jar differ
diff --git a/jars/xj3d.replica_2.3.0-nps-src.jar b/jars/xj3d.replica_2.3.0-nps-src.jar
new file mode 100644
index 0000000000000000000000000000000000000000..9a7435308655a186b0d1961e203440c18414a69f
Binary files /dev/null and b/jars/xj3d.replica_2.3.0-nps-src.jar differ
diff --git a/jars/xj3d.replica_2.3.0-nps.jar b/jars/xj3d.replica_2.3.0-nps.jar
new file mode 100644
index 0000000000000000000000000000000000000000..4735fe52d0ae27f5a86854a2840ad490b2f3a96d
Binary files /dev/null and b/jars/xj3d.replica_2.3.0-nps.jar differ