Skip to content

Commit e9e3503

Browse files
committed
Documentations
1 parent 3d812d5 commit e9e3503

8 files changed

Lines changed: 67 additions & 67 deletions

File tree

DOCUMENTATION/PDR.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Project Design Document (PDR) — AppDimens Dynamic
22

33
> [!NOTE]
4-
> **Product Alignment:** `io.github.bodenberg:appdimens-dynamic:3.1.4`
4+
> **Product Alignment:** `io.github.bodenberg:appdimens-dynamic:3.1.5`
55
> **Associated Documents:** [PRD (Requirements)](PRD.md) | [Mathematics](MATHEMATICS-AND-CALCULUS.md) | [Performance Specs](../library/PERFORMANCE.md)
66
77
This internal architecture document mandates the precise structural logic, technical dependencies, caching behaviors, and quality integration required by the AppDimens Dynamic `library` package.

DOCUMENTATION/PRD.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Product Requirements Document (PRD) — AppDimens Dynamic
22

33
> [!NOTE]
4-
> **Product Alignment:** `io.github.bodenberg:appdimens-dynamic:3.1.4`
4+
> **Product Alignment:** `io.github.bodenberg:appdimens-dynamic:3.1.5`
55
> **Primary Module:** `library`
66
> **Associated Documents:** [PDR (Design)](PDR.md) | [Mathematics](MATHEMATICS-AND-CALCULUS.md) | [API Conventions](COMPOSE-API-CONVENTIONS.md)
77

DOCUMENTATION/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Generated **KDoc package index** below. For product scope, architecture, and for
99
| [PRD.md](PRD.md) | Product requirements (FR/NFR) |
1010
| [PDR.md](PDR.md) | Technical design, development plan, traceability matrix, AI prompt rules |
1111
| [MATHEMATICS-AND-CALCULUS.md](MATHEMATICS-AND-CALCULUS.md) | Formulas, constants, `ScreenFactors`, and per-strategy calculation kernels |
12-
| [**Skill**`appdimens-library-workflow`](../skills/SKILL.md) | Agent workflow for AppDimens integration/migration (Compose vs `code`, scaling vs resize, preflight); companion [reference.md](../skills/reference.md) (package map, strategy → doc links at Git ref `3.1.4`) |
12+
| [**Skill**`appdimens-library-workflow`](../skills/SKILL.md) | Agent workflow for AppDimens integration/migration (Compose vs `code`, scaling vs resize, preflight); companion [reference.md](../skills/reference.md) (package map, strategy → doc links at Git ref `3.1.5`) |
1313

1414
Narrative strategy guides and the full doc hub: [README.md](README.md).
1515

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<p align="center">
66
<a href="https://github.com/bodenberg/appdimens-dynamic/releases" title="Releases">
7-
<img src="https://img.shields.io/badge/version-3.1.4-blue.svg" alt="Version 3.1.4">
7+
<img src="https://img.shields.io/badge/version-3.1.5-blue.svg" alt="Version 3.1.5">
88
</a>
99
&nbsp;
1010
<a href="LICENSE" title="Apache License 2.0">
@@ -74,7 +74,7 @@ One dependency: you write values like `16.sdp` and the library scales them from
7474

7575
```kotlin
7676
dependencies {
77-
implementation("io.github.bodenberg:appdimens-dynamic:3.1.4")
77+
implementation("io.github.bodenberg:appdimens-dynamic:3.1.5")
7878
}
7979
```
8080

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ android {
6161
dependencies {
6262
api(project(":library"))
6363

64-
//implementation("io.github.bodenberg:appdimens-dynamic:3.1.4")
64+
//implementation("io.github.bodenberg:appdimens-dynamic:3.1.5")
6565
// or
66-
//implementation("com.github.bodenberg.appdimens:appdimens-dynamic:3.1.4")
66+
//implementation("com.github.bodenberg.appdimens:appdimens-dynamic:3.1.5")
6767

6868
implementation(libs.androidx.core.ktx)
6969
implementation(libs.androidx.lifecycle.runtime.ktx)

skills/SKILL.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ description: Use this skill for any Android responsive layout or scaling questio
55

66
# AppDimens Dynamic — project workflow
77

8-
**Library:** `io.github.bodenberg:appdimens-dynamic:3.1.4`
8+
**Library:** `io.github.bodenberg:appdimens-dynamic:3.1.5`
99

10-
> **DOC_REF (maintainers):** bump every `3.1.4` URL in this skill and in `library-map.md` / `reference.md` together with the coordinate above on future releases.
10+
> **DOC_REF (maintainers):** bump every `3.1.5` URL in this skill and in `library-map.md` / `reference.md` together with the coordinate above on future releases.
1111
12-
**Authoritative GitHub docs (ref `3.1.4`):**
13-
- [README.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/README.md) — install, `AppDimensProvider`, `DimenCache.invalidateOnConfigChange`
14-
- [DOCUMENTATION/README.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/README.md) — all strategies, decision flow
15-
- [DOCUMENTATION/COMPOSE-API-CONVENTIONS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/COMPOSE-API-CONVENTIONS.md) — Compose naming, facilitators, Plain chains, `code` parity
16-
- [DOCUMENTATION/resize.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/resize.md)`compose.resize` / `code.resize`
17-
- [GUIDE-FOR-BEGINNERS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/GUIDE-FOR-BEGINNERS.md) — narrative walkthrough
18-
- Examples: [Compose](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/compose/ExampleActivity.kt) · [Kotlin Views](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/kotlin/ExampleActivity.kt) · [Java](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/java/ExampleActivity.java)
12+
**Authoritative GitHub docs (ref `3.1.5`):**
13+
- [README.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/README.md) — install, `AppDimensProvider`, `DimenCache.invalidateOnConfigChange`
14+
- [DOCUMENTATION/README.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/README.md) — all strategies, decision flow
15+
- [DOCUMENTATION/COMPOSE-API-CONVENTIONS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/COMPOSE-API-CONVENTIONS.md) — Compose naming, facilitators, Plain chains, `code` parity
16+
- [DOCUMENTATION/resize.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/resize.md)`compose.resize` / `code.resize`
17+
- [GUIDE-FOR-BEGINNERS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/GUIDE-FOR-BEGINNERS.md) — narrative walkthrough
18+
- Examples: [Compose](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/compose/ExampleActivity.kt) · [Kotlin Views](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/kotlin/ExampleActivity.kt) · [Java](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/java/ExampleActivity.java)
1919

2020
**Package map and strategy → doc index:** [library-map.md](library-map.md)
2121

@@ -24,7 +24,7 @@ description: Use this skill for any Android responsive layout or scaling questio
2424
## Agent Preflight (run before any non-trivial edit)
2525

2626
1. Read [library-map.md](library-map.md) for package layout and strategy ↔ doc mapping.
27-
2. For the **specific packages/symbols** you'll touch: browse [`library/src/main/java/com/appdimens/dynamic/`](https://github.com/bodenberg/appdimens-dynamic/tree/3.1.4/library/src/main/java/com/appdimens/dynamic) on GitHub at `3.1.4`, **or** use IDE "Download Sources" / "Navigate to Declaration" on the Maven artifact. For API detail, see [DOCUMENTATION/index.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/index.md) and per-package pages under [`DOCUMENTATION/KDOC/`](https://github.com/bodenberg/appdimens-dynamic/tree/3.1.4/DOCUMENTATION/KDOC). Do not rely on memory.
27+
2. For the **specific packages/symbols** you'll touch: browse [`library/src/main/java/com/appdimens/dynamic/`](https://github.com/bodenberg/appdimens-dynamic/tree/3.1.5/library/src/main/java/com/appdimens/dynamic) on GitHub at `3.1.5`, **or** use IDE "Download Sources" / "Navigate to Declaration" on the Maven artifact. For API detail, see [DOCUMENTATION/index.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/index.md) and per-package pages under [`DOCUMENTATION/KDOC/`](https://github.com/bodenberg/appdimens-dynamic/tree/3.1.5/DOCUMENTATION/KDOC). Do not rely on memory.
2828
3. Skim the upstream example that matches the user's stack (links above). Restrict deep reading to **relevant packages and call sites** — full module audits only when explicitly requested.
2929

3030
**Hard rule:** never surface `ignoreMultiWindows`, `*i`, or `*ia` suffixes to users.
@@ -43,7 +43,7 @@ Which surface is in scope?
4343
|--------|---------------|----------|
4444
| **Jetpack Compose** | `com.appdimens.dynamic.compose.*` | `16.sdp`, `scaledDp { }`; needs `AppDimensProvider` for facilitators |
4545
| **Kotlin (Views)** | `com.appdimens.dynamic.code.*` | `DimenSdp.sdp(context, 16)`; outputs px for layout |
46-
| **Java (Views)** | same `code.*` entry points | see [ExampleActivity.java](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/java/ExampleActivity.java) |
46+
| **Java (Views)** | same `code.*` entry points | see [ExampleActivity.java](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/java/ExampleActivity.java) |
4747

4848
Record: drives imports, `AppDimensProvider` need, and whether resize runs in `compose.resize` or `code.resize`.
4949

@@ -54,7 +54,7 @@ Record: drives imports, `AppDimensProvider` need, and whether resize runs in `co
5454
Which axis should `DpQualifier`-aware APIs use? (Affects `.sdpQualifier`, `.sdpScreen`, scaled `.sspRotate` vs strategy-prefixed Sp rotates such as `.asspRotate`, and their `code` mirrors.)
5555

5656
- **`SMALL_WIDTH` (default)** — smallest-width (swDP) baseline; correct for most phone/tablet layouts.
57-
- **Explicit `WIDTH` / `HEIGHT` (or per-call-site mix)** — when design requires width-dp or height-dp branching. Read [COMPOSE-API-CONVENTIONS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/COMPOSE-API-CONVENTIONS.md) and `DpQualifier` KDoc before proposing thresholds.
57+
- **Explicit `WIDTH` / `HEIGHT` (or per-call-site mix)** — when design requires width-dp or height-dp branching. Read [COMPOSE-API-CONVENTIONS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/COMPOSE-API-CONVENTIONS.md) and `DpQualifier` KDoc before proposing thresholds.
5858

5959
Record before suggesting any `.screen`, `.qualifier`, rotate, or power-curve APIs.
6060

@@ -154,7 +154,7 @@ Ask in order, waiting for each answer before continuing:
154154
4. **Bounds semantics** — clarify `ResizeBound.FixedDp` / `FixedSp` / `Percent` (sw/w/h axis). For percent-in-container resize, clarify `AutoResizePercentBasis` (min/max side, width, height) and use `autoResizeTextSpPercent` (Compose) or `fittingTextSpPercentPx` (code). Remind: `resolveToPx` requires `density > 0`; invalid inputs are clamped (library KDoc).
155155
5. **Approach check** — global proportional sizing across the screen is usually scaled/percent/fluid, not resize. Reserve resize for fit-to-container problems.
156156

157-
Reference: [DOCUMENTATION/resize.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/resize.md)
157+
Reference: [DOCUMENTATION/resize.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/resize.md)
158158

159159
---
160160

skills/library-map.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# AppDimens Dynamic — library map
22

3-
**Doc base (Git ref `3.1.4`):** https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/
3+
**Doc base (Git ref `3.1.5`):** https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/
44

55
Read this file when you need package locations, Compose↔`code` symmetry, or core types.
66

77
---
88

99
## Module layout (`library`)
1010

11-
Paths are in the upstream repo at `3.1.4`. The consumer app does not contain this tree unless they clone the monorepo.
11+
Paths are in the upstream repo at `3.1.5`. The consumer app does not contain this tree unless they clone the monorepo.
1212

1313
- **`com.appdimens.dynamic.common`** — shared enums/value types: `DpQualifier` (SMALL_WIDTH, HEIGHT, WIDTH), `Inverter`, `Orientation`, `UiModeType`, `UnitType`, `DpQualifierEntry`.
1414
- **`com.appdimens.dynamic.core`** — cross-cutting engine: `DimenCache` (sharded cache, init, invalidation, internal `CalcType` per strategy family), `DimenCalculationPlumbing` (qualifier resolution, screen dp reads, aspect-ratio multiplier, internal flags not surfaced to users), `DesignScaleConstants`, `AspectRatioLookup`, percent/resize math (`PercentSpaceMath`, `ResizeMath`, `ResizeBound`, `AutoResizePercentBasis`), Compose integration (`CompositionLocals` / `AppDimensProvider`, `LocalUiModeType`, `ComposeRememberStamps`, `ComposeDimenRemember`).
@@ -22,41 +22,41 @@ Paths are in the upstream repo at `3.1.4`. The consumer app does not contain thi
2222

2323
| Folder suffix | Doc |
2424
|---------------|-----|
25-
| scaled | [DOCUMENTATION/scaled.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/scaled.md) |
26-
| percent | [DOCUMENTATION/percent.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/percent.md) |
27-
| power | [DOCUMENTATION/power.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/power.md) |
28-
| fluid | [DOCUMENTATION/fluid.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/fluid.md) |
29-
| auto | [DOCUMENTATION/auto.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/auto.md) |
30-
| diagonal | [DOCUMENTATION/diagonal.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/diagonal.md) |
31-
| fill | [DOCUMENTATION/fill.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/fill.md) |
32-
| fit | [DOCUMENTATION/fit.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/fit.md) |
33-
| interpolated | [DOCUMENTATION/interpolated.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/interpolated.md) |
34-
| logarithmic | [DOCUMENTATION/logarithmic.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/logarithmic.md) |
35-
| perimeter | [DOCUMENTATION/perimeter.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/perimeter.md) |
36-
| density | [DOCUMENTATION/density.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/density.md) |
37-
| resize | [DOCUMENTATION/resize.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/resize.md) |
38-
| units (physical) | [DOCUMENTATION/physical-units.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/physical-units.md) |
39-
40-
**Formal docs:** [PRD.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/PRD.md) · [PDR.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/PDR.md) · [MATHEMATICS-AND-CALCULUS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/MATHEMATICS-AND-CALCULUS.md)
41-
**API detail:** [DOCUMENTATION/index.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/DOCUMENTATION/index.md) · per-package pages under [`DOCUMENTATION/KDOC/`](https://github.com/bodenberg/appdimens-dynamic/tree/3.1.4/DOCUMENTATION/KDOC)
25+
| scaled | [DOCUMENTATION/scaled.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/scaled.md) |
26+
| percent | [DOCUMENTATION/percent.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/percent.md) |
27+
| power | [DOCUMENTATION/power.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/power.md) |
28+
| fluid | [DOCUMENTATION/fluid.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/fluid.md) |
29+
| auto | [DOCUMENTATION/auto.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/auto.md) |
30+
| diagonal | [DOCUMENTATION/diagonal.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/diagonal.md) |
31+
| fill | [DOCUMENTATION/fill.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/fill.md) |
32+
| fit | [DOCUMENTATION/fit.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/fit.md) |
33+
| interpolated | [DOCUMENTATION/interpolated.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/interpolated.md) |
34+
| logarithmic | [DOCUMENTATION/logarithmic.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/logarithmic.md) |
35+
| perimeter | [DOCUMENTATION/perimeter.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/perimeter.md) |
36+
| density | [DOCUMENTATION/density.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/density.md) |
37+
| resize | [DOCUMENTATION/resize.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/resize.md) |
38+
| units (physical) | [DOCUMENTATION/physical-units.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/physical-units.md) |
39+
40+
**Formal docs:** [PRD.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/PRD.md) · [PDR.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/PDR.md) · [MATHEMATICS-AND-CALCULUS.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/MATHEMATICS-AND-CALCULUS.md)
41+
**API detail:** [DOCUMENTATION/index.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/DOCUMENTATION/index.md) · per-package pages under [`DOCUMENTATION/KDOC/`](https://github.com/bodenberg/appdimens-dynamic/tree/3.1.5/DOCUMENTATION/KDOC)
4242

4343
---
4444

4545
## Example app module (`app`)
4646

4747
Upstream sample only — not in the Maven artifact. Use for pattern reference.
4848

49-
- **Compose**[ExampleActivity.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/compose/ExampleActivity.kt) · [BenchmarkActivity.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/compose/BenchmarkActivity.kt) · [DemoCalcRouting.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/compose/DemoCalcRouting.kt)
50-
- **Kotlin Views**[ExampleActivity.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/kotlin/ExampleActivity.kt)
51-
- **Java Views**[ExampleActivity.java](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/java/ExampleActivity.java) (Data Binding, `DimenSdp`, `DimenSsp`, `DimenScaled`, `DimenResize`, physical units)
52-
- **App init**[InitializeApplication.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/app/src/main/java/com/example/app/InitializeApplication.kt); cache init patterns in [README](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/README.md) / [library/PERFORMANCE.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/library/PERFORMANCE.md)
49+
- **Compose**[ExampleActivity.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/compose/ExampleActivity.kt) · [BenchmarkActivity.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/compose/BenchmarkActivity.kt) · [DemoCalcRouting.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/compose/DemoCalcRouting.kt)
50+
- **Kotlin Views**[ExampleActivity.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/kotlin/ExampleActivity.kt)
51+
- **Java Views**[ExampleActivity.java](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/java/ExampleActivity.java) (Data Binding, `DimenSdp`, `DimenSsp`, `DimenScaled`, `DimenResize`, physical units)
52+
- **App init**[InitializeApplication.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/app/src/main/java/com/example/app/InitializeApplication.kt); cache init patterns in [README](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/README.md) / [library/PERFORMANCE.md](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/library/PERFORMANCE.md)
5353

5454
---
5555

5656
## Internal `DimenCache.CalcType`
5757

5858
Debug/cache tagging only — end users think in strategy names. Values: AUTO, DIAGONAL, FILL, FIT, FLUID, INTERPOLATED, LOGARITHMIC, PERCENT, PERIMETER, POWER, RESIZE, SCALED, UNITIES, ASPECT_RATIO, DENSITY.
59-
Source: [DimenCache.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.4/library/src/main/java/com/appdimens/dynamic/core/DimenCache.kt)
59+
Source: [DimenCache.kt](https://github.com/bodenberg/appdimens-dynamic/blob/3.1.5/library/src/main/java/com/appdimens/dynamic/core/DimenCache.kt)
6060

6161
---
6262

0 commit comments

Comments
 (0)