Skip to content

Conversation

@EzraBrooks
Copy link
Collaborator

@EzraBrooks EzraBrooks commented Nov 6, 2025

Lots of hand-written message types here.. need to figure out a way to automate ros-typescript-generator using the Docker container I built for the integration tests

@EzraBrooks EzraBrooks force-pushed the port-tfclients-to-typescript branch 2 times, most recently from c27a53c to 8d1e1b8 Compare November 6, 2025 22:21
transThres?: number;
rate?: number;
updateDelay?: number;
topicTimeout?: number;
Copy link
Contributor

Choose a reason for hiding this comment

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

preceded this PR, but topicTimeout should really be serviceTimeout ... however, not worth breaking anything for this i guess.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Preceded this PR by many years I think!!

@@ -0,0 +1,22 @@
export namespace geometry_msgs {
export interface TransformStamped {
// TODO: some sort of unholy union type of ros1 header and ros2 header???
Copy link
Contributor

Choose a reason for hiding this comment

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

ros 1 is deprecated, so I'd just not bother and point people to use older versions of this library if they need ros 1

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Agreed in theory, but at that point why not rip out the entire ROS 1 implementation of TFClient?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

and actionlib..

x: number;
y: number;
z: number;
w: number;
Copy link
Contributor

Choose a reason for hiding this comment

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

minor point, but in the ROS 2 message definition, the w field actually defaults to 1.0, whereas all the other scalar numeric fields default to 0.0. Is that something we can/should do here too?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

interfaces can't be instantiated, so you can't set defaults

rate: number;
}

export type TFSubscriptionResult = Record<never, never>;
Copy link
Contributor

Choose a reason for hiding this comment

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

what does it mean that this one is type vs the others being interface?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

type lets me use type expressions, like the assignment I'm doing here. interface only allows describing an object type as a block of fields in curly braces

@EzraBrooks EzraBrooks force-pushed the port-tfclients-to-typescript branch from 8d1e1b8 to 8ff4176 Compare November 7, 2025 16:11
@EzraBrooks EzraBrooks requested a review from sea-bass November 7, 2025 16:11
@EzraBrooks EzraBrooks force-pushed the port-tfclients-to-typescript branch from 8ff4176 to 22e6300 Compare November 7, 2025 16:23
Copy link
Contributor

@sea-bass sea-bass left a comment

Choose a reason for hiding this comment

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

I think all my initial comments are eh, let's do it

@EzraBrooks EzraBrooks enabled auto-merge (squash) November 7, 2025 17:48
@EzraBrooks EzraBrooks merged commit a1c6f38 into develop Nov 7, 2025
3 checks passed
@EzraBrooks EzraBrooks deleted the port-tfclients-to-typescript branch November 7, 2025 17:51
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.

3 participants