# syphax-d/bucketproblem architecture

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

- Interactive diagram: https://gitdiagram.com/syphax-d/bucketproblem
- Repository: https://github.com/syphax-d/bucketproblem

## Overview

This appears to be a Java bucket-puzzle solver: the filenames suggest a command-line entry point, instance-loading utilities, bucket/state models, and a search/solver layer. No README or Java source excerpts were provided, so the workflow and relationships cannot be verified; dashed, uncited edges indicate only the likely flow inferred from names.

Main entry points: [`src/main/java/org/example/Open.java`](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/Open.java) (Open), [`src/main/java/org/example/Main.java`](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/Main.java) (Main), [`src/main/java/org/example/OpenFile.java`](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenFile.java) (OpenFile), [`src/main/java/org/example/SolveurSeaux.java`](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/SolveurSeaux.java) (SolveurSeaux)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Application entry"]
  node_main["Main<br/>[Main.java]"]
end

subgraph group_input["Instance input"]
  node_open["Open<br/>[Open.java]"]
  node_openfile["OpenFile<br/>[OpenFile.java]"]
  node_openliste["OpenListe<br/>[OpenListe.java]"]
  node_openpile["OpenPile<br/>[OpenPile.java]"]
  node_instances["Bucket instances"]
end

subgraph group_solver["Search and state"]
  node_solveur["SolveurSeaux<br/>[SolveurSeaux.java]"]
  node_search["BucketSearchEngine"]
  node_state["State<br/>[State.java]"]
  node_bucket["BucketInstance"]
end

node_user(("User"))

node_user -.->|"starts"| node_main
node_main -.->|"loads input"| node_open
node_open -.->|"delegates to"| node_openfile
node_open -.->|"delegates to"| node_openliste
node_open -.->|"delegates to"| node_openpile
node_openfile -.->|"reads"| node_instances
node_main -.->|"starts solving"| node_solveur
node_solveur -.->|"uses search"| node_search
node_search -.->|"explores"| node_state
node_state -.->|"tracks buckets"| node_bucket

click node_main "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/Main.java"
click node_open "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/Open.java"
click node_openfile "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenFile.java"
click node_openliste "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenListe.java"
click node_openpile "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenPile.java"
click node_instances "https://github.com/syphax-d/bucketproblem/tree/master/src/main/java/org/example/instances/instances"
click node_solveur "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/SolveurSeaux.java"
click node_search "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/BucketSearchEngine.java"
click node_state "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/State.java"
click node_bucket "https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/BucketInstance.java"

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_main,node_user toneBlue
class node_open,node_openfile,node_openliste,node_openpile,node_instances toneAmber
class node_solveur,node_search,node_state,node_bucket toneMint
```

## Components

### Application entry

- [Main](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/Main.java): `src/main/java/org/example/Main.java`

### Instance input

- [Open](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/Open.java): `src/main/java/org/example/Open.java`
- [OpenFile](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenFile.java): `src/main/java/org/example/OpenFile.java`
- [OpenListe](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenListe.java): `src/main/java/org/example/OpenListe.java`
- [OpenPile](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/OpenPile.java): `src/main/java/org/example/OpenPile.java`
- [Bucket instances](https://github.com/syphax-d/bucketproblem/tree/master/src/main/java/org/example/instances/instances): `src/main/java/org/example/instances/instances`

### Search and state

- [SolveurSeaux](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/SolveurSeaux.java): `src/main/java/org/example/SolveurSeaux.java`
- [BucketSearchEngine](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/BucketSearchEngine.java): `src/main/java/org/example/BucketSearchEngine.java`
- [State](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/State.java): `src/main/java/org/example/State.java`
- [BucketInstance](https://github.com/syphax-d/bucketproblem/blob/master/src/main/java/org/example/BucketInstance.java): `src/main/java/org/example/BucketInstance.java`

### Other components

- **User**

## Connections

- User → Main: starts
- Main → Open: loads input
- Open → OpenFile: delegates to
- Open → OpenListe: delegates to
- Open → OpenPile: delegates to
- OpenFile → Bucket instances: reads
- Main → SolveurSeaux: starts solving
- SolveurSeaux → BucketSearchEngine: uses search
- BucketSearchEngine → State: explores
- State → BucketInstance: tracks buckets
