vecmath (javax.vecmath) - Quelltext der von Triangle Productions eingesetzten Fassung
=====================================================================================

Was das hier ist
----------------
vecmath ist die Vektor- und Matrizenbibliothek aus der Java-3D-Familie
(Sun Microsystems). Triangle Productions setzt sie in "wPoker" ein, weil die
Physikbibliothek JBullet sie voraussetzt.

Sie steht unter der GNU General Public License, Version 2, MIT der
"Classpath"-Ausnahme. Der Lizenzkopf steht in jeder Quelldatei, der
vollstaendige Lizenztext liegt als LICENSE.txt bei.

Dieses Archiv enthaelt den vollstaendigen Quelltext genau der Fassung, aus der
das ausgelieferte "vecmath.jar" gebaut wurde.


Unsere Aenderungen gegenueber dem Original
------------------------------------------
Keine. Alle 48 Quelldateien sind unveraendert.

Geaendert ist ausschliesslich die VERPACKUNG: das Jar bekommt ein eigenes
MANIFEST.MF (siehe unten) und traegt LICENSE.txt, COPYRIGHT.txt und
LICENSE-SPEC.html unter META-INF/ mit sich.


Warum nicht ein fertiges Artefakt aus einem Maven-Repository
------------------------------------------------------------
Alle mavenisierten vecmath-Forks haben das Paket umbenannt - jogamp nach
org.jogamp.vecmath, SciJava nach org.scijava.vecmath -, um Konflikte mit alten
Java-3D-Installationen zu vermeiden. JBullet erwartet aber javax.vecmath.
Es passt daher kein fertiges Artefakt, sondern nur diese Quelle.


Zur Lizenzlage, weil sie leicht falsch gelesen wird
---------------------------------------------------
Die beiliegende README-FIRST.txt stammt noch aus der Sun-Zeit und spricht von
"proprietary" und "No additional rights are granted to you". Massgeblich sind
aber die Dateikoepfe und LICENSE.txt: jede Quelldatei traegt den Satz

    "Sun designates this particular file as subject to the "Classpath"
     exception as provided by Sun in the LICENSE file that accompanied
     this code."

und genau daran haengt die Ausnahme - LICENSE.txt laesst sie nur fuer Dateien
gelten, deren Kopf sie ausdruecklich nennt. Hier nennt sie jede.

Die Bibliothek wird als eigenstaendige Datei "vecmath.jar" ausgeliefert und
NICHT in die Programm-Jar hineingeschmolzen; sie laesst sich also durch eine
eigene Fassung ersetzen.


Bauen
-----
Uebersetzt wurde mit javac aus dem JDK 8, ohne weitere Abhaengigkeiten:

    javac -encoding UTF-8 -source 8 -target 8 -d classes src/javax/vecmath/*.java
    copy src/javax/vecmath/ExceptionStrings.properties classes/javax/vecmath/
    jar cfm vecmath.jar manifest.mf -C classes .
    (danach LICENSE.txt, COPYRIGHT.txt und LICENSE-SPEC.html unter META-INF/
     ins Jar legen)

Das beiliegende build.xml stammt aus dem Upstream-Projekt und wurde nicht
verwendet.

Das MANIFEST.MF des ausgelieferten Jars lautet:

    Manifest-Version: 1.0
    Implementation-Title: vecmath
    Implementation-Vendor: hharrison/vecmath (javax.vecmath)
    Implementation-Version: 1.6-hharrison
    Bundle-License: GPL-2.0-with-classpath-exception

Das Ergebnis sind 47 Klassen (package-info.java erzeugt keine Klasse) plus
ExceptionStrings.properties.


Herkunft
--------
Upstream: https://github.com/hharrison/vecmath
Geladen und gebaut am 2026-08-26.

Massgeblich fuer den Nachweis ist dieses Archiv - es haelt genau den Stand
fest, aus dem das ausgelieferte Jar entstanden ist.

Zusammengestellt am 2026-08-28.
