Skip to content

Rename FactorDFG.data / fnctype becomes... #1119

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

Open
1 of 4 tasks
Tracked by #1127
dehann opened this issue Feb 26, 2025 · 11 comments
Open
1 of 4 tasks
Tracked by #1127

Rename FactorDFG.data / fnctype becomes... #1119

dehann opened this issue Feb 26, 2025 · 11 comments

Comments

@dehann
Copy link
Member

dehann commented Feb 26, 2025

@Affie and I had a long frustrating conversation to confirm what we already know: That factor data fields need to be updated for DFG 1 milestone. This ticket is the confluence of many other comments including the most recent:

Context for larger work beyond this issue:

  1. [This issue] Add new field to FactorDFG.observFnc, and replace associated old accessors such as @deprecate getObservationFunction(::FactorDFG) getFactorFunction(::FactorCompute).
    TAC
  1. Move all other FunctionNodeData fields to FactorDFG - Investigate splitting factor operational part from 'constant' part of factor #992
  2. Update CCW construction when building FactorCompute - Investigate splitting factor operational part from 'constant' part of factor #992

Additional links from discussion:

@dehann dehann assigned dehann and unassigned dehann Feb 26, 2025
@dehann
Copy link
Member Author

dehann commented Feb 26, 2025

Assigned to me for spike on impact on current Rust SDK work.

@dehann dehann self-assigned this Feb 26, 2025
@dehann dehann added this to the v1.0.0 milestone Feb 26, 2025
@Affie
Copy link
Member

Affie commented Mar 3, 2025

Also related and blocking the current factor serialization design: #1077

@Affie
Copy link
Member

Affie commented Mar 17, 2025

Is the Function part needed in getObservationFunction or will it be clear enough to only use getObservation?

I'm leaning towards only Observation as noun.

Is this definition accurate:
An observation is a piece of data or measurement obtained from the real world, typically through sensors or other data collection methods, which is used to inform and update the state of a factor graph. Observations are used to create factors that encode the relationship between variables in the graph, helping to constrain and refine the estimates of those variables.

We also have getMeasurementParametric that only extracts the parametric data part.

@dehann
Copy link
Member Author

dehann commented Mar 27, 2025

Hi @Affie , i think we discussed a lot of this earlier today. I'm going to look into if SDK.rs has issues with JSON (or at least how to move that forward, but after that we may need to reconnect on what we want to do with this task).

@Affie
Copy link
Member

Affie commented Mar 31, 2025

after that we may need to reconnect on what we want to do with this task

I only know of 2 outstanding design aspects

  1. Rename FactorDFG.data / fnctype becomes... #1119 (comment)
  2. Long-term plans for the FactorDFG observation function field type. My current best guess is that it will remain as a JSON serialized string.

@dehann
Copy link
Member Author

dehann commented Apr 2, 2025

I'm leaning towards only Observation as noun.

Yes, sounds good, So there will be observation and state fields in factor.

Is the Function part needed in getObservationFunction or will it be clear enough to only use getObservation?

the shortened one looks fine to me.

@dehann
Copy link
Member Author

dehann commented Apr 25, 2025

Unassigning from me and moved to Triage -- I finished the spike on JSONCRUD for SDK.rs and we can work around graphql_client hard-types with new callback approach for splicing in rust's serde_json::{Map,Value}. So think this is a go.

@dehann
Copy link
Member Author

dehann commented Apr 25, 2025

Hi @Affie think you are busy with these tasks anyway?

@dehann dehann removed the blocking label Apr 25, 2025
@Affie
Copy link
Member

Affie commented Apr 25, 2025

Yes I think it is easiest to do the rafactor as part of #1127

@dehann
Copy link
Member Author

dehann commented Apr 29, 2025

sounds like two questions:

  • rename field to observation?
  • should we parameterize FactorDFG{T}, whats going on in SDK.rs?

@Affie
Copy link
Member

Affie commented May 4, 2025

should we parameterize FactorDFG{T}, whats going on in SDK.rs?

I'm leaning towards keeping FactorDFG as is but I'm open to changing it if there are good reasons.
We have a "factor type" field for T and non-parameterized makes usage and serialization simpler.

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

No branches or pull requests

2 participants