replica(rechner): recon, feature matrix, reference screenshots
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# Recon map: Google Calculator / Pixel Calculator (Android)
|
||||
|
||||
Scope: the whole app: keypad, scientific functions, live result, history, memory, copy/paste, settings
|
||||
For: personal use, a calculator without Google services (project NoGooleApps)
|
||||
Date: 2026-10-17
|
||||
|
||||
## Sources
|
||||
|
||||
| # | source | URL | notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | app store listing | https://play.google.com/store/apps/details?id=com.google.android.calculator | page did not load via fetch; listing images supplied by the user (ref-01..03) |
|
||||
| 2 | screenshots | replica/rechner/screens/ref-01..07.png | supplied by user: history with "Current expression" sheet and MS/Copy menu (ref-01, -02, -06), scientific panel open (ref-03), launcher icon (ref-04), selection with Cut/Copy/MS (ref-05), empty dark state with Material You colours (ref-07). Reference only, never shipped |
|
||||
| 3 | general knowledge of the app as a user | – | precise arithmetic (no 0.1+0.2 errors), very long results scroll, Deg/Rad, Inv swaps functions |
|
||||
|
||||
## Core loop
|
||||
|
||||
Type a calculation and see the result update live, then tap = to make it the new start value.
|
||||
|
||||
## Screens
|
||||
|
||||
| ID | screen | how to reach | purpose | key components | states seen |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| S01 | Calculator | launch | type and evaluate | display (expression + live result, right aligned, auto-shrinking font), scientific row (√ π ^ !) with expand chevron, keypad 4×5 (AC, ( ), %, ÷ / 7-9 × / 4-6 − / 1-3 + / 0 . ⌫ =), history button, overflow | empty (cursor), typing, live result, result after =, error ("Kann nicht durch 0 teilen"), too long (scrolls) (ref-05..07) |
|
||||
| S02 | Scientific panel | chevron or swipe up on the row | more functions | extra rows: Deg/Rad, sin cos tan, Inv, e ln log, (with Inv: sin⁻¹ cos⁻¹ tan⁻¹, eˣ, 10ˣ, x²) | collapsed, expanded (ref-03) |
|
||||
| S03 | History | pull the display down / history button | past calculations | list grouped by day ("Heute"), each expression + result, "Current expression" at the bottom of the sheet, tap to reuse, clear history | empty, filled (ref-01, -02, -06) |
|
||||
| S04 | Context menu | long press on display or a history result | reuse values | Cut, Copy, Paste, MS (memory store), MR when memory set | (ref-01, -05) |
|
||||
| S05 | Settings / overflow | ⋮ | options | history clear, choose theme, about, (original: send feedback) | |
|
||||
|
||||
## Flows
|
||||
|
||||
```
|
||||
F01 Quick sum
|
||||
S01: 1 2 + 3 4 → live result 46 → =
|
||||
happy path taps: 6
|
||||
F02 Scientific
|
||||
S01 → expand → sin ( Deg … ) → =
|
||||
F03 Reuse an old result
|
||||
S01 pull down → S03 → tap a result → it is inserted at the cursor
|
||||
F04 Copy the result
|
||||
S01 long press → S04 Copy
|
||||
F05 Store a value and recall it
|
||||
long press → MS … later long press → MR
|
||||
edge: memory survives app restart
|
||||
edge cases everywhere: division by zero, unbalanced parentheses (auto close), 0.1+0.2 exact, 100! (big), %, implicit multiplication "2π", leading minus, very long input
|
||||
```
|
||||
|
||||
## Components
|
||||
|
||||
| component | variants | states | used on |
|
||||
| --- | --- | --- | --- |
|
||||
| Key | digit (surface), operator (secondary container), AC (tertiary), equals (primary, fully round), function (text only in the collapsed row / tonal pills when expanded) | default, pressed (shape squishes to a squircle), disabled | S01, S02 |
|
||||
| Display | expression (large, shrinks with length), result preview (smaller, accent colour), cursor | empty, typing, final, error | S01 |
|
||||
| Sheet | history over display with drag handle | collapsed, expanded | S03 |
|
||||
| History row | expression muted, result bold | pressed | S03 |
|
||||
| Context menu | floating pill menu | | S04 |
|
||||
| Chevron | expand/collapse | | S02 |
|
||||
|
||||
## Inferred data model
|
||||
|
||||
```
|
||||
HistoryEntry id, expression (text), result (text), created_at
|
||||
evidence: S03 "Today" grouping confidence: high
|
||||
Memory value (exact number as text) confidence: high (MS/MR)
|
||||
Settings angle_unit (deg|rad), theme confidence: high
|
||||
```
|
||||
|
||||
## Feature matrix
|
||||
|
||||
See `features.csv`.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Google's feedback/help integration.
|
||||
- Google's own number fonts and icons: Roboto Flex and own icon.
|
||||
|
||||
## Size
|
||||
|
||||
Screens 5, flows 5, entities 3. Hard parts: (1) exact arithmetic with big numbers and correct rounding/display of irrational results, (2) a parser that tolerates partial input for the live result (implicit multiplication, auto-closing parentheses, percent rules), (3) the expressive keypad (shape morph on press, auto-sizing display). Size: S–M.
|
||||
Reference in New Issue
Block a user