-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Feature web proto #5283
Merged
Merged
Feature web proto #5283
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* remove unreferenced * More
* Progress * Progress * Progress * Minimal functionality * Fix encoder * Fix simple updates * Fix SFNode insertion * Fix sfnode reset * Restore regeneration * Functional derived PROTO * Restore restrictions * Potential basetype structure * Fix IS poses * Revert "Potential basetype structure" This reverts commit 7f05090. * Fix grass * Derived tests * Rework parameter links * Progress * Reintroduce baseType instance * Fix regeneration * Rework how derived nodes are stored and fix issues with change propagation * Implement DEF-USE * Fix SFRotation * Fix some issues with MFNode * Fix issues with SFNode * Fix more issues * Progress in delinking instances * Progress in delinking instances * Fix id flagging * Rework webotsjs notification of node changes * Rework regeneration * Rework MFNode insertion/removal * Fix MF insertion & finalization issues * Rework Parameter class * Cleanup * Fix MF removing too many nodes * Fix unfinalization of sfnodes * Cleanup * Progress on default initializer * functional proof of concept for default complex fields * Debug asyncronicity * Fix node generation in PROTO with special fields * Fix sfnode reset * replace default value with tokenizer in all proto models * Status * Fix grass * Debug templating issue * Fix templating * Fix tokenizer consumption * Debug * Fix derived node parameters not propagating * Cleanup Node * Cleanup vrml * Cleanup Parameters * Cleanup ProtoManager * Remove isUse * Fix mfnode reset * Cleanup * Fix MFNode restrictions * Rename parameter linksg * improve rewind * Merge methods * Cleanup * Cleanup * Fix slot issues * Finalize * Fix MFFields * Fix basenode * Improve * Minor * Fix moose * Fix slots * Debug * Fix Tesla * Progress proto rework * improve wheel proto * Cleanup * Fix texture url update * Fix texture update * Fix Tesla PROTO * Fix * Fix tesla lights * Cleanup * Finalize * Fix * Fix * Fix disappering joints * Fix joints tab on tesla * actually commit BO fix * Fix exporter * Fix Nao hand slot
* remove label * title * reduce space --------- Co-authored-by: Olivier Michel <[email protected]>
omichel
added
test suite
Start the test suite
and removed
test suite
Start the test suite
labels
Feb 6, 2023
omichel
previously approved these changes
Feb 6, 2023
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 looks very good to me.
I believe we can merge it as is.
The next step would be to change the way the LED are managed as discussed.
I updated the urls |
omichel
approved these changes
Feb 7, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
feature
Implementation of a major feature
test sources
Start the sources test on all platforms
test suite
Start the test suite
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.
The goals of this PR are:
.proto
into.x3d
motor
andjoints
motors
/joints
/position
as in the current documentationUse cases
1. A user needs a new size of
SoccerBall.proto
A competition organizer want to develop a soccer competition. It founds the
SoccerBall.proto
in Webots, however the size is a bit too small to work well with the robots he plans to use as players.He has four solutions to fix his problem:
.proto
in a text editor.Solution 1 requires some knowledge about how to write proto and this user does not have time to learn them.
Solution 2 is a bit simpler but also require a minimum of knowledge and the interface is not very user-friendly.
Solution 3 is good, but solution 4 is better because the user can see the effect of its modifications in real-time in the viewer of webots.cloud.
For solution 4 to work, it needs:
radius
and aninput
field.radius
update.radius
must change the visual result.radius
Nth-use case. A competitor wants to built its robot for a competition from predefined parts:
A user is participating in a competition of drones (like the https://2022.imavs.org/index.php/competition/nanocopter-ai-challenge/).
The competition organizer has build several proto for different drone bodies, sensors, propellers and so on.
In addition to those necessary parts, the organizer also add some parameters to insert
PointLights
,SpotLights
,Led
andPBRAppearance
for the users to be able to visually customize their drone.The user can use webots.cloud/proto to build its proto from the parts provided by the competition organizer.
The user should be able to:
bounding sphere
?)The webots.cloud/proto solution is the simplest one for the following reason:
The proto the user will assemble will be quite complex:
proto
(derived from one of the available drone body)protos
(typically the sensors, motors, helix, that will fill the slots)bounding object
,propeller
,motor
and some sensors likecamera
,lidar
,radar
,distance sensors
,...lights
andappearances.
SFNode
andMFNode
, some regenerating and non-regenerating parameters.