Skip to content

Commit c3b0df9

Browse files
committed
📝 docs: adicionar relatório de imagens ausentes
Documenta todas as páginas que referenciam figuras/diagramas mas estão sem os arquivos de imagem correspondentes. - Lista ~25+ figuras ausentes em 11 páginas - Identifica inconsistências na organização de diretórios de imagens - Fornece recomendações para padronização - Prioriza criação de imagens por capítulo Páginas afetadas: - Capítulo 3.3.x: estruturas de dados mutáveis (16 figuras) - Capítulo 3.5.x: streams e avaliação atrasada (4+ figuras) - Capítulo 4.1.x: avaliador metacircular (5 figuras)
1 parent 8d80329 commit c3b0df9

1 file changed

Lines changed: 212 additions & 0 deletions

File tree

‎MISSING_IMAGES.md‎

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# Pages Missing Images - SICP JavaScript Translation
2+
3+
## Executive Summary
4+
5+
This report identifies all pages in the SICP JavaScript translation that reference figures/diagrams but are missing the corresponding image files.
6+
7+
**Total Missing Images: ~25+ figures across 11 pages**
8+
9+
---
10+
11+
## Chapter 3: Modularity, Objects, and State
12+
13+
### 3.3.1 Mutable List Structure
14+
**File:** `docs/chapter-3/3.3.1.mdx`
15+
**Missing Images (6):**
16+
- **Figure 3.12** - Initial box-and-pointer diagram showing lists x and y
17+
- **Figure 3.13** - Effect of `set_head(x, y)` operation
18+
- **Figure 3.14** - Effect of `const z = pair(y, tail(x))` operation
19+
- **Figure 3.15** - Effect of `set_tail(x, y)` operation
20+
- **Figure 3.16** - Sharing structure in `z1`
21+
- **Figure 3.17** - Alternative structure created by different operations
22+
23+
**Context:** These diagrams illustrate mutable list operations and box-and-pointer representations.
24+
25+
---
26+
27+
### 3.3.2 Representing Queues
28+
**File:** `docs/chapter-3/3.3.2.mdx`
29+
**Missing Images (3):**
30+
- **Figure 3.18** - Queue representation with `front_ptr` and `rear_ptr` pointers
31+
- **Figure 3.19** - Result of `insert_queue` operation showing pointer modifications
32+
- **Figure 3.20** - Result of `delete_queue` operation showing pointer modifications
33+
34+
**Context:** Queue data structure diagrams showing how front and rear pointers manage the queue.
35+
36+
---
37+
38+
### 3.3.3 Representing Tables
39+
**File:** `docs/chapter-3/3.3.3.mdx`
40+
**Missing Images (2):**
41+
- **Figure 3.21** - Box-and-pointer diagram of a one-dimensional table
42+
- **Figure 3.22** - Box-and-pointer diagram of a two-dimensional table with subtables
43+
44+
**Context:** Table data structure representations showing headed lists and nested structures.
45+
46+
---
47+
48+
### 3.3.4 Digital Circuit Simulator
49+
**File:** `docs/chapter-3/3.3.4.mdx`
50+
**Missing Images (3):**
51+
- **Figure 3.25** - Half-adder circuit diagram
52+
- **Figure 3.26** - Full-adder circuit diagram
53+
- **Figure 3.27** - Ripple-carry adder circuit diagram
54+
55+
**Context:** Digital logic circuit diagrams showing gate connections and signal flow.
56+
57+
---
58+
59+
### 3.3.5 Constraint Propagation
60+
**File:** `docs/chapter-3/3.3.5.mdx`
61+
**Missing Images (1):**
62+
- **Figure 3.28** - Constraint network diagram for Celsius-Fahrenheit temperature converter
63+
64+
**Context:** Shows constraint boxes (multipliers, adders, constants) connected by connectors.
65+
66+
---
67+
68+
### 3.5.3 Exploiting the Stream Paradigm
69+
**File:** `docs/chapter-3/3.5.3.mdx`
70+
**Missing Images (1+):**
71+
- Signal processing diagram for integrator (referenced in text at line 154)
72+
73+
**Context:** Signal flow diagrams for stream-based computation.
74+
75+
---
76+
77+
### 3.5.4 Streams and Delayed Evaluation
78+
**File:** `docs/chapter-3/3.5.4.mdx`
79+
**Missing Images (3+):**
80+
- Feedback loop diagram for differential equation solver
81+
- RLC circuit diagram (resistor, capacitor, inductor in series)
82+
- Signal flow diagram representing system of differential equations
83+
84+
**Context:** Circuit diagrams and signal flow for solving differential equations with streams.
85+
86+
---
87+
88+
## Chapter 4: Metalinguistic Abstraction
89+
90+
### 4.1 The Metacircular Evaluator
91+
**File:** `docs/chapter-4/4.1.md`
92+
**Missing Images (1):**
93+
- **Figure 4.1** - Eval-apply cycle diagram
94+
95+
**Context:** Shows the circular relationship between `evaluate` and `apply` functions. Referenced at lines 13 and 21.
96+
97+
---
98+
99+
### 4.1.2 Representing Expressions
100+
**File:** `docs/chapter-4/4.1.2.mdx`
101+
**Missing Images (1):**
102+
- Abstraction barrier diagram for syntax representation
103+
104+
**Context:** Shows layers separating evaluator from list representation and string representation.
105+
106+
---
107+
108+
### 4.1.5 Data as Programs
109+
**File:** `docs/chapter-4/4.1.5.mdx`
110+
**Missing Images (2):**
111+
- **Figure 4.2** - `/img/chapter-4/ch4-Z-G-2.svg` - Factorial program as abstract machine
112+
- **Figure 4.3** - `/img/chapter-4/ch4-Z-G-3.svg` - Evaluator emulating factorial machine
113+
114+
**Status:** These images are referenced in `<Figure>` tags but the files don't exist. The directory `static/img/chapter-4/` doesn't exist yet.
115+
116+
---
117+
118+
### 4.4.4 Implementing the Query System
119+
**File:** `docs/chapter-4/4.4.4.mdx`
120+
**Missing Images (2):**
121+
- **Figure 4.5** - Diagram showing processing of AND queries with frame streams
122+
- **Figure 4.6** - Diagram showing processing of OR queries with frame streams
123+
124+
**Context:** Data flow diagrams for query language implementation.
125+
126+
---
127+
128+
## Summary by Chapter
129+
130+
| Chapter | Section | Missing Figures | Priority |
131+
|---------|---------|----------------|----------|
132+
| 3.3.1 | Mutable Lists | 6 | High |
133+
| 3.3.2 | Queues | 3 | High |
134+
| 3.3.3 | Tables | 2 | High |
135+
| 3.3.4 | Digital Circuits | 3 | High |
136+
| 3.3.5 | Constraints | 1 | High |
137+
| 3.5.3 | Streams | 1+ | Medium |
138+
| 3.5.4 | Delayed Evaluation | 3+ | Medium |
139+
| 4.1 | Evaluator | 1 | High |
140+
| 4.1.2 | Syntax | 1 | Medium |
141+
| 4.1.5 | Data as Programs | 2 | High |
142+
| 4.4.4 | Query System | 2 | Medium |
143+
| **TOTAL** | **11 pages** | **~25+** | |
144+
145+
---
146+
147+
## Recommended Next Steps
148+
149+
1. **Create missing directory:**
150+
```bash
151+
mkdir -p static/img/chapter-4
152+
```
153+
154+
2. **Source images from original SICP.js:**
155+
- Many of these figures likely exist in the [source SICP JS repository](https://github.com/source-academy/sicp)
156+
- Can be adapted from [HTML5/EPUB3 version](https://github.com/sarabander/sicp)
157+
158+
3. **Priority order for image creation:**
159+
- **Priority 1:** Chapter 3.3.x diagrams (most critical for understanding data structures)
160+
- **Priority 2:** Chapter 4.1.x diagrams (essential for evaluator comprehension)
161+
- **Priority 3:** Chapter 3.5.x diagrams (signal processing concepts)
162+
163+
4. **Image format:**
164+
- Prefer SVG format (scalable, matches existing images)
165+
- Use consistent naming: `ch[N]-Z-G-[num].svg` or `Fig[N].[num].svg`
166+
167+
---
168+
169+
## Image Organization Inconsistency
170+
171+
The current image organization varies across chapters, which should be standardized:
172+
173+
### Current Structure
174+
```
175+
static/img/
176+
├── ch1-*.svg # Chapter 1 - root level
177+
├── javascript/
178+
│ └── ch2-*.svg # Chapter 2 - subdirectory
179+
├── chapter-3/
180+
│ └── ch3-*.svg # Chapter 3 - subdirectory
181+
└── (no chapter-4 directory) # Chapter 4 - missing
182+
```
183+
184+
### Recommended Consistent Structure
185+
```
186+
static/img/
187+
├── chapter-1/
188+
│ └── ch1-*.svg
189+
├── chapter-2/
190+
│ └── ch2-*.svg
191+
├── chapter-3/
192+
│ └── ch3-*.svg
193+
├── chapter-4/
194+
│ └── ch4-*.svg
195+
└── chapter-5/
196+
└── ch5-*.svg
197+
```
198+
199+
**Actions for consistency:**
200+
1. Create `static/img/chapter-1/` and move Chapter 1 images there
201+
2. Rename `static/img/javascript/` to `static/img/chapter-2/`
202+
3. Create `static/img/chapter-4/` directory
203+
4. Ensure Chapter 5 images are in `static/img/chapter-5/`
204+
5. Update all markdown references to use new paths
205+
206+
---
207+
208+
## Notes
209+
210+
- All existing Chapter 1, 2, 3 (partial), and 5 (partial) images are present and working
211+
- The original SICP book contains all these diagrams, they just need to be converted/adapted to JavaScript syntax
212+
- Consider sourcing images from upstream repositories that have already adapted SICP figures for JavaScript

0 commit comments

Comments
 (0)