# nimit/mech_synthesis architecture

> Architecture diagram of the GitHub repository nimit/mech_synthesis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nimit/mech_synthesis
- Repository: https://github.com/nimit/mech_synthesis

## Overview

This repository is a research codebase for generating and evaluating planar linkage mechanisms. Its workflow spans dataset preparation, learned image/latent representations, coordinate-sequence prediction, and retrieval or motion-generation experiments. The tree also shows separate continuous-latent and vision-transformer training tracks, plus embedding visualization and dataset inspection. The README is empty, and sampled excerpts cover only parts of the runtime; the graph therefore includes documented-by-name capability areas but omits uncertain connections rather than assuming a unified pipeline.

Main entry points: [`dataset.py`](https://github.com/nimit/mech_synthesis/blob/main/dataset.py) (Linkage datasets), [`llama_latent_model.py`](https://github.com/nimit/mech_synthesis/blob/main/llama_latent_model.py) (Latent sequence model), [`dataset_generation/creating_dataset_files_V2.py`](https://github.com/nimit/mech_synthesis/blob/main/dataset_generation/creating_dataset_files_V2.py) (Dataset creation), [`walking_mechanism_generation/generating_walking_mechanisms.py`](https://github.com/nimit/mech_synthesis/blob/main/walking_mechanism_generation/generating_walking_mechanisms.py) (Walking mechanisms)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data preparation"]
  node_dataset_creation["Dataset creation"]
  node_dataset_generation_tools["Dataset tools"]
  node_linkage_dataset["Linkage datasets<br/>[dataset.py]"]
  node_continuous_dataset["Continuous dataset"]
end

subgraph group_models["Learning models"]
  node_vae["VAE encoder<br/>[vae.py]"]
  node_vit_model["Vision transformer<br/>[vit_model.py]"]
  node_vit_training["Vision training<br/>[vit_train_V1.py]"]
  node_latent_model["Latent sequence model"]
  node_latent_training["Latent training"]
  node_continuous_model["Continuous model"]
  node_continuous_training["Continuous training"]
end

subgraph group_analysis["Retrieval and analysis"]
  node_inference["Sequence inference<br/>[inference.py]"]
  node_embedding_analysis["Embedding analysis<br/>[embedding_TSNE.py]"]
  node_dtw_search["DTW retrieval<br/>[cd_dtw_serach.py]"]
  node_continuous_dtw["Continuous DTW"]
end

subgraph group_generation["Motion generation"]
  node_walking_generation["Walking mechanisms"]
end

node_researcher(("Researcher"))
node_pose_service{{"Pose service"}}

node_researcher -->|"prepares data"| node_dataset_creation
node_dataset_creation -->|"provides files"| node_linkage_dataset
node_dataset_generation_tools -->|"supports preparation"| node_dataset_creation
node_linkage_dataset -->|"supplies samples"| node_vit_training
node_vit_training -->|"trains"| node_vit_model
node_linkage_dataset -->|"supplies samples"| node_latent_training
node_latent_training -->|"trains"| node_latent_model
node_continuous_dataset -->|"supplies samples"| node_continuous_training
node_continuous_training -->|"trains"| node_continuous_model
node_linkage_dataset -->|"loads samples"| node_inference
node_latent_model -->|"predicts tokens"| node_inference
node_vit_model -->|"provides embeddings"| node_embedding_analysis
node_continuous_model -->|"predicts curves"| node_continuous_dtw
node_continuous_dataset -->|"loads latents"| node_continuous_dtw
node_researcher -->|"requests generation"| node_walking_generation
node_latent_model -->|"decodes coordinates"| node_walking_generation
node_walking_generation -.->|"requests poses"| node_pose_service
node_researcher -->|"runs retrieval"| node_dtw_search

click node_dataset_creation "https://github.com/nimit/mech_synthesis/blob/main/dataset_generation/creating_dataset_files_V2.py"
click node_dataset_generation_tools "https://github.com/nimit/mech_synthesis/tree/main/dataset_generation"
click node_linkage_dataset "https://github.com/nimit/mech_synthesis/blob/main/dataset.py"
click node_continuous_dataset "https://github.com/nimit/mech_synthesis/blob/main/dataset_continuous.py"
click node_vae "https://github.com/nimit/mech_synthesis/blob/main/vae.py"
click node_vit_model "https://github.com/nimit/mech_synthesis/blob/main/vit/vit_model.py"
click node_vit_training "https://github.com/nimit/mech_synthesis/blob/main/vit/vit_train_V1.py"
click node_latent_model "https://github.com/nimit/mech_synthesis/blob/main/llama_latent_model.py"
click node_latent_training "https://github.com/nimit/mech_synthesis/blob/main/llama_latent_train.py"
click node_continuous_model "https://github.com/nimit/mech_synthesis/blob/main/llama_latent_continuous.py"
click node_continuous_training "https://github.com/nimit/mech_synthesis/blob/main/llama_latent_continuous_train.py"
click node_inference "https://github.com/nimit/mech_synthesis/blob/main/helpers/inference.py"
click node_embedding_analysis "https://github.com/nimit/mech_synthesis/blob/main/helpers/embedding_TSNE.py"
click node_dtw_search "https://github.com/nimit/mech_synthesis/blob/main/cd_dtw_serach.py"
click node_continuous_dtw "https://github.com/nimit/mech_synthesis/blob/main/dtw_calc_for_knn_continuous.py"
click node_walking_generation "https://github.com/nimit/mech_synthesis/blob/main/walking_mechanism_generation/generating_walking_mechanisms.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dataset_creation,node_dataset_generation_tools,node_linkage_dataset,node_continuous_dataset toneBlue
class node_vae,node_vit_model,node_vit_training,node_latent_model,node_latent_training,node_continuous_model,node_continuous_training toneAmber
class node_inference,node_embedding_analysis,node_dtw_search,node_continuous_dtw toneMint
class node_walking_generation toneRose
class node_researcher,node_pose_service toneIndigo
```

## Components

### Data preparation

- [Dataset creation](https://github.com/nimit/mech_synthesis/blob/main/dataset_generation/creating_dataset_files_V2.py): `dataset_generation/creating_dataset_files_V2.py`
- [Dataset tools](https://github.com/nimit/mech_synthesis/tree/main/dataset_generation): `dataset_generation`
- [Linkage datasets](https://github.com/nimit/mech_synthesis/blob/main/dataset.py): `dataset.py`
- [Continuous dataset](https://github.com/nimit/mech_synthesis/blob/main/dataset_continuous.py): `dataset_continuous.py`

### Learning models

- [VAE encoder](https://github.com/nimit/mech_synthesis/blob/main/vae.py): `vae.py`
- [Vision transformer](https://github.com/nimit/mech_synthesis/blob/main/vit/vit_model.py): `vit/vit_model.py`
- [Vision training](https://github.com/nimit/mech_synthesis/blob/main/vit/vit_train_V1.py): `vit/vit_train_V1.py`
- [Latent sequence model](https://github.com/nimit/mech_synthesis/blob/main/llama_latent_model.py): `llama_latent_model.py`
- [Latent training](https://github.com/nimit/mech_synthesis/blob/main/llama_latent_train.py): `llama_latent_train.py`
- [Continuous model](https://github.com/nimit/mech_synthesis/blob/main/llama_latent_continuous.py): `llama_latent_continuous.py`
- [Continuous training](https://github.com/nimit/mech_synthesis/blob/main/llama_latent_continuous_train.py): `llama_latent_continuous_train.py`

### Retrieval and analysis

- [Sequence inference](https://github.com/nimit/mech_synthesis/blob/main/helpers/inference.py): `helpers/inference.py`
- [Embedding analysis](https://github.com/nimit/mech_synthesis/blob/main/helpers/embedding_TSNE.py): `helpers/embedding_TSNE.py`
- [DTW retrieval](https://github.com/nimit/mech_synthesis/blob/main/cd_dtw_serach.py): `cd_dtw_serach.py`
- [Continuous DTW](https://github.com/nimit/mech_synthesis/blob/main/dtw_calc_for_knn_continuous.py): `dtw_calc_for_knn_continuous.py`

### Motion generation

- [Walking mechanisms](https://github.com/nimit/mech_synthesis/blob/main/walking_mechanism_generation/generating_walking_mechanisms.py): `walking_mechanism_generation/generating_walking_mechanisms.py`

### Other components

- **Researcher**
- **Pose service**

## Connections

- Researcher → Dataset creation: prepares data
- Dataset creation → Linkage datasets: provides files
- Dataset tools → Dataset creation: supports preparation
- Linkage datasets → Vision training: supplies samples
- Vision training → Vision transformer: trains
- Linkage datasets → Latent training: supplies samples
- Latent training → Latent sequence model: trains
- Continuous dataset → Continuous training: supplies samples
- Continuous training → Continuous model: trains
- Linkage datasets → Sequence inference: loads samples
- Latent sequence model → Sequence inference: predicts tokens
- Vision transformer → Embedding analysis: provides embeddings
- Continuous model → Continuous DTW: predicts curves
- Continuous dataset → Continuous DTW: loads latents
- Researcher → Walking mechanisms: requests generation
- Latent sequence model → Walking mechanisms: decodes coordinates
- Walking mechanisms → Pose service: requests poses
- Researcher → DTW retrieval: runs retrieval
