GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Initial FFI setup by tychedelia · Pull Request #1287 · processing/processing4

Conversation

@tychedelia

@tychedelia tychedelia commented Oct 15, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Closes #1270
Partially addresses #1269

TODO:

  • Add docs on how to install jextract
  • Remove Kotlin EAP
  • Add README to include folder
  • Add jextract to build
  • Wire cargo clean into gradle.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Stefterv reacted with hooray emoji
All reactions
  • 🎉 1 reaction
tychedelia added 3 commits October 15, 2025 10:27
@tychedelia
Inital scaffold for libprocessing ffi.
32c31b5
@tychedelia
Remove EAP.
a596ad2
@tychedelia
Update docs.
9ae1d01
@tychedelia
tychedelia marked this pull request as ready for review October 15, 2025 17:49
@tychedelia
tychedelia requested a review from catilac October 15, 2025 17:49
Stefterv
Stefterv reviewed Oct 15, 2025
View reviewed changes
Comment thread app/build.gradle.kts Outdated

// TODO: Update to 2.10.20 and add hot-reloading: https://github.com/JetBrains/compose-hot-reload

abstract class SignResourcesTask : DefaultTask() {

@Stefterv Stefterv Oct 15, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good one! Is the intention to move this to a separate file?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@tychedelia tychedelia Oct 15, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think it probably should be in a separate file, totally. will do that....

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Stefterv reacted with heart emoji
All reactions
  • ❤️ 1 reaction

@tychedelia tychedelia Oct 16, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

factored out all these into a new buildSrc dir

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
tychedelia
tychedelia commented Oct 15, 2025
View reviewed changes
Comment thread build.gradle.kts
// Can be deleted after the migration to Gradle is complete
layout.buildDirectory = file(".build")

allprojects {

@tychedelia tychedelia Oct 15, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just a workaround until kotlin 2.3.0 is released with jdk 25 support.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Stefterv reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

@catilac catilac Oct 15, 2025

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we leave a little TODO saying that?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@tychedelia tychedelia Oct 16, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's more complicated now as it enforces android source level compat

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Stefterv
Stefterv reviewed Oct 15, 2025
View reviewed changes
Comment thread core/src/processing/core/NativeLibrary.java

static {
// platform
if (OS_NAME.contains("mac") || OS_NAME.contains("darwin")) {

@Stefterv Stefterv Oct 15, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it make sense to start including Android from the start?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@tychedelia tychedelia Oct 15, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ugh yeah, good callout. i did identify that there's a plugin for building Rust/android here https://github.com/mozilla/rust-android-gradle. let me think more about this re: the binding strategy, since panama won't work there

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@catilac catilac Oct 15, 2025

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatever you do, I don't think android should block progress this early on.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@tychedelia tychedelia Oct 16, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a enableWebGPU flag that enforces source level compat with android atm. we can make the call on full android support later

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Stefterv
Stefterv reviewed Oct 15, 2025
View reviewed changes
Comment thread libProcessing/ffi/include/processing.h Resolved

Uh oh!

There was an error while loading. Please reload this page.

Stefterv
Stefterv reviewed Oct 15, 2025
View reviewed changes
Comment thread core/build.gradle.kts Resolved

Uh oh!

There was an error while loading. Please reload this page.

catilac
catilac reviewed Oct 15, 2025
View reviewed changes

@catilac catilac left a comment

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some comments! How would I try this?
I'm happy to approve and get it into our feature branch, but the TODOs tell me this is just early feedback (which I love)

Exciting work!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

tychedelia reacted with heart emoji
All reactions
  • ❤️ 1 reaction
Comment thread build.gradle.kts
// Can be deleted after the migration to Gradle is complete
layout.buildDirectory = file(".build")

allprojects {

@catilac catilac Oct 15, 2025

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we leave a little TODO saying that?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread core/src/processing/core/NativeLibrary.java

static {
// platform
if (OS_NAME.contains("mac") || OS_NAME.contains("darwin")) {

@catilac catilac Oct 15, 2025

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatever you do, I don't think android should block progress this early on.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread libProcessing/ffi/Cargo.toml

[lib]
name = "processing"
crate-type = ["cdylib"]

@catilac catilac Oct 15, 2025

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

obsessed with what we get from rust

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

tychedelia reacted with heart emoji
All reactions
  • ❤️ 1 reaction
tychedelia added 3 commits October 16, 2025 13:02
@tychedelia
Factor out gradle utils. Add flag for disabling webgpu and enforcing …
8f2542b
…android source level compat.
@tychedelia
Remove processing.h
0078714
@tychedelia
Set java version for all projects.
5662716
@tychedelia
tychedelia requested a review from catilac October 16, 2025 20:37
@tychedelia
tychedelia merged commit 7152360 into processing:the-wgpu-moment Oct 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@catilac catilac Awaiting requested review from catilac
1 more reviewer
@Stefterv Stefterv Stefterv left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@tychedelia @catilac @Stefterv
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.