Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
4f9b19b
add the new library to the CI
madhephaestus Mar 5, 2026
808d223
basic build test
madhephaestus Mar 5, 2026
58665dc
updating to the latest version from clojar
madhephaestus Mar 5, 2026
b83ee36
update tbb dep handeling
madhephaestus Mar 6, 2026
1d6a284
Merge branch 'development' of git@github.com:NeuronRobotics/JCSG.git …
madhephaestus Mar 6, 2026
88d45a9
Merge branch 'development' of git@github.com:NeuronRobotics/JCSG.git …
madhephaestus Mar 6, 2026
81d42a3
Merge branch 'development' of git@github.com:NeuronRobotics/JCSG.git …
madhephaestus Mar 6, 2026
50117bd
update Manifold to use the bindings
madhephaestus Mar 15, 2026
188cfaa
cleanup
madhephaestus Mar 15, 2026
e31d949
Should pass all archetectures
madhephaestus Mar 15, 2026
ec851c9
Update the snapshot to include the java fix for arm platforms
madhephaestus Mar 15, 2026
ab80471
use the first version built entirely in CI
madhephaestus Mar 15, 2026
18d74cf
Updating to the ci build lib name standard
madhephaestus Mar 15, 2026
f973d01
update to the new windows build version
madhephaestus Mar 15, 2026
c9736d3
updaing to the lates CI build release
madhephaestus Mar 15, 2026
9e9a784
set up the option type for JCSG
madhephaestus Mar 16, 2026
aba1e33
add all of the stubs for basic operations
madhephaestus Mar 16, 2026
a6ab6df
adding the stubs for the STL loading/export path
madhephaestus Mar 16, 2026
8dccebc
Adding stubs for 3mf loader/export
madhephaestus Mar 16, 2026
954491a
make sure the test leaves the operation in standard statee
madhephaestus Mar 16, 2026
fc38693
adding the intersect variant to manifold
madhephaestus Mar 16, 2026
1e26b81
Merge branch 'development' of git@github.com:NeuronRobotics/JCSG.git
madhephaestus Mar 16, 2026
6402697
formatting
madhephaestus Mar 16, 2026
a5d08b8
adding the spotless flags
madhephaestus Mar 16, 2026
bc43987
enforce the file line endings
madhephaestus Mar 16, 2026
afd81b0
update version
madhephaestus Mar 18, 2026
a9ad2bf
Merge branch 'development' of git@github.com:NeuronRobotics/JCSG.git
madhephaestus Mar 20, 2026
5d5be5b
Updating to latest release of Manifold
madhephaestus Mar 25, 2026
2d16bc5
Adding the importer and exported methods to wrap manifold in JCSG
madhephaestus Apr 7, 2026
278fca5
adding a basic set of operations
madhephaestus Apr 7, 2026
64b5e94
make the default engine setable
madhephaestus Apr 7, 2026
bb65f3c
formatting
madhephaestus Apr 7, 2026
1bb00d0
new version
madhephaestus Apr 7, 2026
9172e2b
adding the unit tested version
madhephaestus Apr 8, 2026
5e6bcf2
adding orentation
madhephaestus Apr 8, 2026
d644de2
add the interface to manifold
madhephaestus Apr 8, 2026
f02864d
unit tests using the JCSG api for operations
madhephaestus Apr 9, 2026
dd4bd07
update bindings
madhephaestus Apr 10, 2026
ff94975
attempt to make the sphere manifold
madhephaestus Apr 10, 2026
b971b49
run the manifold ops first, fail over to Java
madhephaestus Apr 10, 2026
742685e
error for non-manifold
madhephaestus Apr 10, 2026
0df898b
add the manifold check to the loading
madhephaestus Apr 10, 2026
f70feae
updating the test
madhephaestus Apr 10, 2026
ddde700
remove the svg from version control
madhephaestus Apr 10, 2026
e1e466c
latest API
madhephaestus Apr 11, 2026
9f31aac
cleanup the manifold object on exit of hull
madhephaestus Apr 11, 2026
d81da27
use the Hull operation to skin the sphere
madhephaestus Apr 11, 2026
caccd85
add the constructor
madhephaestus Apr 11, 2026
9572bb0
save the raw sphere
madhephaestus Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@ jobs:
- name: Pull a JavaFX JDK
run: wget https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-fx-jdk21.0.9-linux_aarch64.tar.gz

- name: After JDK download, list directory contents
run: pwd; ls -la

- name: Set Java
uses: actions/setup-java@v1
with:
Expand Down Expand Up @@ -119,9 +116,6 @@ jobs:
- name: Pull a JavaFX JDK
run: wget https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-fx-jdk21.0.9-linux_x64.tar.gz

- name: After JDK download, list directory contnts
run: pwd; ls -la

- name: Set Java
uses: actions/setup-java@v1
with:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,4 @@ html
/hs_err_*.log
/vows.svg.png
/flame.svg.png
/Manifold-SVGExportTest.svg
168 changes: 84 additions & 84 deletions box.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 23 additions & 40 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,56 +10,25 @@ spotless {
java {
lineEndings = com.diffplug.spotless.LineEnding.UNIX
// Eclipse formatter with your config file
eclipse('4.26') // Uses Eclipse's built-in default profile — no XML needed!
eclipse('4.26') // Uses Eclipse's built-in default profile — no XML needed!
// Optional but recommended additions:
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
}
}

java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
File buildDir = file(".");
Properties props = new Properties()
props.load(new FileInputStream(buildDir.getAbsolutePath()+"/src/main/resources/com/neuronrobotics/javacad/build.properties"))
group = "com.neuronrobotics"
archivesBaseName = "JavaCad"
version = props."app.version"

// BEGIN AI SLOP

//nexusStaging {
// serverUrl = "https://oss.sonatype.org/service/local/"
// username = System.getenv("MAVEN_USERNAME")
// password = System.getenv("MAVEN_PASSWORD")
// packageGroup = "com.neuronrobotics" // Replace with your actual package group
//}

//task closeAndReleaseSeparately {
// dependsOn tasks.releaseRepository
//}

//tasks.releaseRepository.dependsOn tasks.closeRepository
//tasks.closeRepository.dependsOn tasks.getStagingProfile

// Optional: Add this if you want to see more information during the execution
//tasks.getStagingProfile.logging.level = LogLevel.INFO
//tasks.closeRepository.logging.level = LogLevel.INFO
//tasks.releaseRepository.logging.level = LogLevel.INFO

//tasks.getStagingProfile.doFirst {
// println "Executing getStagingProfile task"
//}

//tasks.closeRepository.doFirst {
// println "Executing closeRepository task"
//}
//
//tasks.releaseRepository.doFirst {
// println "Executing releaseRepository task"
//}

// END AI SLOP
sourceCompatibility = '1.8'

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

//apply from: 'http://gradle-plugins.mihosoft.eu/latest/vlicenseheader.gradle'
Expand All @@ -74,6 +43,7 @@ task sourcesJar(type: Jar) {
repositories {
mavenCentral()
mavenLocal()
maven { url "https://clojars.org/repo" }
}

// javadoc is way too strict for my taste.
Expand Down Expand Up @@ -130,8 +100,11 @@ dependencies {
implementation 'com.aparapi:aparapi:3.0.2'

//SSL for server
implementation 'org.bouncycastle:bcprov-jdk18on:1.80'
implementation 'org.bouncycastle:bcpkix-jdk18on:1.80'
implementation 'org.bouncycastle:bcprov-jdk18on:1.80'
implementation 'org.bouncycastle:bcpkix-jdk18on:1.80'

//manifold 3d
implementation("com.github.madhephaestus:manifold3d:v3.4.1-9-d40f11b9-SNAPSHOT")

}

Expand All @@ -141,9 +114,19 @@ ext {
buildTime = new java.text.SimpleDateFormat('HH:mm:ss.SSSZ').format(buildTimeAndDate)
}

tasks.withType(JavaCompile).configureEach {
options.compilerArgs += ['--enable-preview']
}

tasks.withType(Test).configureEach {
jvmArgs '--enable-preview'
}

tasks.withType(JavaExec).configureEach {
jvmArgs '--enable-preview'
}
test {
dependsOn 'spotlessCheck'
dependsOn 'spotlessApply'
testLogging {
// Show which test is running
events "passed", "skipped", "failed", "standardOut", "standardError"
Expand Down
188 changes: 94 additions & 94 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading