# neversinkdev/neversink-filter architecture

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

- Interactive diagram: https://gitdiagram.com/neversinkdev/neversink-filter
- Repository: https://github.com/neversinkdev/neversink-filter

## Overview

This repository is a collection of Path of Exile item-filter files, not an application that generates filters at runtime. A player chooses a strictness and optional visual style, then the game applies the selected filter to item drops—using leveling or endgame rules, item value and properties, and safeguards—to show, hide, or emphasize items. The README documents these capabilities; the tree contains filter files but no implementation source, so internal rule-to-rule wiring cannot be verified.

Main entry points: [`NeverSink's filter - 1-REGULAR.filter`](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter) (Item rules), [`NeverSink's filter - 0-SOFT.filter`](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%200-SOFT.filter) (Soft filter), [`NeverSink's filter - 2-SEMI-STRICT.filter`](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%202-SEMI-STRICT.filter) (Semi-strict filter), [`NeverSink's filter - 3-STRICT.filter`](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%203-STRICT.filter) (Strict filter)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_selection["Filter choices"]
  node_soft["Soft filter"]
  node_regular["Regular filter"]
  node_semi["Semi-strict filter"]
  node_strict["Strict filter"]
  node_very["Very-strict filter"]
  node_uber["Uber-strict filter"]
  node_uberplus["Uber-plus filter"]
  node_styles["Visual styles"]
end

subgraph group_rules["Item evaluation"]
  node_itemrules["Item rules"]
  node_progression["Level progression"]
  node_tiers["Value tiers"]
  node_safety["Unknown-item checks"]
end

subgraph group_presentation["In-game presentation"]
  node_dropdisplay["Drop display"]
end

node_player(("Player"))
node_game(("Path of Exile"))

node_player -->|"selects"| node_soft
node_player -->|"selects"| node_regular
node_player -->|"selects"| node_semi
node_player -->|"selects"| node_strict
node_player -->|"selects"| node_very
node_player -->|"selects"| node_uber
node_player -->|"selects"| node_uberplus
node_player -->|"chooses style"| node_styles
node_soft -->|"loads filter"| node_game
node_regular -->|"loads filter"| node_game
node_semi -->|"loads filter"| node_game
node_strict -->|"loads filter"| node_game
node_very -->|"loads filter"| node_game
node_uber -->|"loads filter"| node_game
node_uberplus -->|"loads filter"| node_game
node_styles -->|"loads styled filter"| node_game
node_game -->|"evaluates drops"| node_itemrules
node_itemrules -->|"uses area level"| node_progression
node_itemrules -->|"checks value"| node_tiers
node_itemrules -->|"checks unknowns"| node_safety
node_itemrules -->|"determines visibility"| node_dropdisplay
node_tiers -->|"sets emphasis"| node_dropdisplay
node_dropdisplay -->|"shows or hides"| node_game

click node_soft "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%200-SOFT.filter"
click node_regular "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter"
click node_semi "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%202-SEMI-STRICT.filter"
click node_strict "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%203-STRICT.filter"
click node_very "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%204-VERY-STRICT.filter"
click node_uber "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%205-UBER-STRICT.filter"
click node_uberplus "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%206-UBER-PLUS-STRICT.filter"
click node_itemrules "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter"
click node_progression "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter"
click node_tiers "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter"
click node_safety "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter"
click node_dropdisplay "https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter"

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_soft,node_regular,node_semi,node_strict,node_very,node_uber,node_uberplus,node_styles toneBlue
class node_itemrules,node_progression,node_tiers,node_safety toneAmber
class node_dropdisplay toneMint
class node_player,node_game toneIndigo
```

## Components

### Filter choices

- [Soft filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%200-SOFT.filter): `NeverSink's filter - 0-SOFT.filter`
- [Regular filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter): `NeverSink's filter - 1-REGULAR.filter`
- [Semi-strict filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%202-SEMI-STRICT.filter): `NeverSink's filter - 2-SEMI-STRICT.filter`
- [Strict filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%203-STRICT.filter): `NeverSink's filter - 3-STRICT.filter`
- [Very-strict filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%204-VERY-STRICT.filter): `NeverSink's filter - 4-VERY-STRICT.filter`
- [Uber-strict filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%205-UBER-STRICT.filter): `NeverSink's filter - 5-UBER-STRICT.filter`
- [Uber-plus filter](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%206-UBER-PLUS-STRICT.filter): `NeverSink's filter - 6-UBER-PLUS-STRICT.filter`
- **Visual styles**

### Item evaluation

- [Item rules](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter): `NeverSink's filter - 1-REGULAR.filter`
- [Level progression](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter): `NeverSink's filter - 1-REGULAR.filter`
- [Value tiers](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter): `NeverSink's filter - 1-REGULAR.filter`
- [Unknown-item checks](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter): `NeverSink's filter - 1-REGULAR.filter`

### In-game presentation

- [Drop display](https://github.com/neversinkdev/neversink-filter/blob/master/NeverSink's%20filter%20-%201-REGULAR.filter): `NeverSink's filter - 1-REGULAR.filter`

### Other components

- **Player**
- **Path of Exile**

## Connections

- Player → Soft filter: selects
- Player → Regular filter: selects
- Player → Semi-strict filter: selects
- Player → Strict filter: selects
- Player → Very-strict filter: selects
- Player → Uber-strict filter: selects
- Player → Uber-plus filter: selects
- Player → Visual styles: chooses style
- Soft filter → Path of Exile: loads filter
- Regular filter → Path of Exile: loads filter
- Semi-strict filter → Path of Exile: loads filter
- Strict filter → Path of Exile: loads filter
- Very-strict filter → Path of Exile: loads filter
- Uber-strict filter → Path of Exile: loads filter
- Uber-plus filter → Path of Exile: loads filter
- Visual styles → Path of Exile: loads styled filter
- Path of Exile → Item rules: evaluates drops
- Item rules → Level progression: uses area level
- Item rules → Value tiers: checks value
- Item rules → Unknown-item checks: checks unknowns
- Item rules → Drop display: determines visibility
- Value tiers → Drop display: sets emphasis
- Drop display → Path of Exile: shows or hides
