turbo_moc.apps.app.workflow module#
Stage dependencies, durable job snapshots, and local worker orchestration.
- turbo_moc.apps.app.workflow.digest(value)[source]#
Hash numerical inputs consistently across Python/browser round trips.
JavaScript has one number type, so a computed
65.0can return from a Dash store as65. These are the same input, especially in the derived rotor inlet state. Raw JSON hashing would mark the completed job stale and hide its geometry immediately. Canonicalize only integral floats: retain every other numeric value exactly, and keep booleans distinct from numbers.
- turbo_moc.apps.app.workflow.directory(reference)[source]#
Browser data contains opaque identifiers, never arbitrary file paths.
- turbo_moc.apps.app.workflow.edited_project(base, values, identifiers)[source]#
Apply sidebar changes by stable row ID, independent of selected-row order.
- turbo_moc.apps.app.workflow.get_design(config, nozzle_reference)[source]#
Cache template separately: passage/machine edits do not refit the blade.
- turbo_moc.apps.app.workflow.load_nozzle(reference, config)[source]#
Read the selected completed job’s output for subsequent design stages.
- turbo_moc.apps.app.workflow.output_directory()[source]#
Use the owning app’s output directory, or the standalone default.
- turbo_moc.apps.app.workflow.read_json(path)[source]#
Read an atomically published snapshot despite a brief Windows lock.