Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add headless renderer example #72

Merged
merged 5 commits into from
Jan 8, 2024

Conversation

cs50victor
Copy link
Collaborator

No description provided.

Copy link
Owner

@mosure mosure left a comment

Choose a reason for hiding this comment

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

wow, awesome work!! using this technique in future CI correctness testing will be great.

examples/headless.rs Outdated Show resolved Hide resolved
@cs50victor
Copy link
Collaborator Author

cs50victor commented Jan 7, 2024

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

@mosure
Copy link
Owner

mosure commented Jan 7, 2024

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

for a flow like:

  • HTTP client sends render request to bevy server
  • bevy server responds with an image

I am not sure there is an out-of-box solution that is implemented as a bevy plugin. It looks like someone has started one here (I don't think it is production-ready):

for a bevy client <-> bevy server flow, naia would be sufficient: https://github.com/naia-lib/naia/tree/main/adapters/bevy/server/src

I think there is good opportunity to use bevy_httpserver as a reference to create a more production-ready bevy_hyper plugin: https://github.com/hyperium/hyper

@cs50victor
Copy link
Collaborator Author

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

for a flow like:

  • HTTP client sends render request to bevy server
  • bevy server responds with an image

I am not sure there is an out-of-box solution that is implemented as a bevy plugin. It looks like someone has started one here (I don't think it is production-ready):

for a bevy client <-> bevy server flow, naia would be sufficient: https://github.com/naia-lib/naia/tree/main/adapters/bevy/server/src

I think there is good opportunity to use bevy_httpserver as a reference to create a more production-ready bevy_hyper plugin: https://github.com/hyperium/hyper

I'll test these out and give feedback.

@cs50victor
Copy link
Collaborator Author

good to merge @mosure ?

@mosure
Copy link
Owner

mosure commented Jan 8, 2024

LGTM! send it!

@cs50victor cs50victor merged commit 3b5013f into mosure:main Jan 8, 2024
4 checks passed
@cs50victor cs50victor deleted the feat/headless branch January 16, 2024 14:43
@cs50victor
Copy link
Collaborator Author

cs50victor commented Jan 16, 2024

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

for a flow like:

  • HTTP client sends render request to bevy server
  • bevy server responds with an image

I am not sure there is an out-of-box solution that is implemented as a bevy plugin. It looks like someone has started one here (I don't think it is production-ready):

for a bevy client <-> bevy server flow, naia would be sufficient: https://github.com/naia-lib/naia/tree/main/adapters/bevy/server/src

I think there is good opportunity to use bevy_httpserver as a reference to create a more production-ready bevy_hyper plugin: https://github.com/hyperium/hyper

@mosure So i looked at these and came up with a 'hacky' way to spawn a listening server using a shared tokio runtime. Probably not the best way to implement this but it kinda works ( https://github.com/cs50victor/kitt2/blob/main/lkgpt/src/server.rs#L245-L319 ). The 'kitt2' repo is meant to be an open source Google gemini demo with a little extra features like rendering a Gaussian Head avatar ( https://github.com/cs50victor/gaussian-head ) or something similar to Meta's codec avatars ( https://www.youtube.com/watch?v=So8GdQD0Qyc ) that communicates with the user in real time . I've been pulling my hair out for weeks trying to work with async rust, mainly receiving video & audio frames from livekit (https://github.com/cs50victor/kitt2/blob/main/lkgpt/src/main.rs#L167-L191). At the moment it just doesn't return any data from the receiver. Just gave you access to the repo. Would love to get your perspective on what you think might be causing this issue. thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants