Skip to content

Commit 32ba3db

Browse files
prepare next release
1 parent 95a4660 commit 32ba3db

12 files changed

Lines changed: 602 additions & 601 deletions

File tree

TODO.txt

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,9 @@ TODOs Sorted by Priorites
33
Special:
44
TODOs in Code + read through code, optimize here and there
55

6-
Currently Working On:
7-
- M/L: make a script which show info for the requested block opcode
8-
- add the above to docs
6+
Currently Working On: /
97

10-
Changelog since last Release:
11-
- Major Changes:
12-
- Compatability with all Builtin Extensions
13-
- Builtin Extensions are now generated locally, not maintained manually
14-
- Renamed built-in Second Repr/"new" opcodes -> "&category::block (INPUT) text"
15-
- Added new category blocks(as of 24.09.2025)
16-
- Updated documentation and tests
17-
- Minor Changes:
18-
- Implemented special and difficult "draw polygon" block(pen extension)
19-
- Added CONTRIBUTING.md
8+
Changelog since last Release: /
209

2110
High: /
2211

docs/doc_api.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ This is what the **Opcode Documentation Generator** is for.
55

66
---
77

8-
## Using `get_opcode_doc(info_api: OpcodeInfoAPI, new_opcode: str)`
8+
## Using `generate_opcode_doc(info_api: OpcodeInfoAPI, new_opcode: str)`
99

10-
You can use `get_opcode_doc` to generated Markdown documentation for an opcode:
10+
You can use `generate_opcode_doc` to generate Markdown documentation for an opcode:
1111
```python
1212
from pmp_manip import init_config, get_default_config, info_api, generate_opcode_doc
1313

@@ -36,7 +36,11 @@ Output:
3636
### Monitor: /
3737
3838
```
39-
You can write it to a file and use any tool(like VSCode) to display it:
39+
40+
## Viewing the Documentation
41+
42+
You can write it to a file and use any markdown viewer (like VSCode, GitHub, or grip) to display it nicely:
43+
4044
```python
4145
from pmp_manip import init_config, get_default_config, info_api, generate_opcode_doc
4246

@@ -45,11 +49,14 @@ init_config(get_default_config())
4549
doc_string = generate_opcode_doc(info_api, new_opcode="&motion::glide (SECONDS) secs to ([TARGET])")
4650
with open("generated_doc.md", "w") as file:
4751
file.write(doc_string)
52+
53+
# Optional: Preview with grip (install with: pip install grip)
54+
# Then run: grip generated_doc.md
4855
```
49-
Displayed:
5056

51-
---
57+
The rendered result can look like this:
5258

59+
---
5360
## Documentation for opcode `glide (SECONDS) secs to ([TARGET])`(motion)
5461
### Block Shape
5562
* [**STATEMENT**](https://github.com/GermanCodeEngineer/py-pmp-manip/blob/main/docs/block_shape.md#STATEMENT)
@@ -74,9 +81,9 @@ Note: It can also be used for block opcodes from extensions after adding them to
7481
## Searching for opcodes
7582

7683
Opcodes of almost all blocks are based on their name in the PenguinMod Editor. Just the inputs and dropdowns(ALLCAPS) were added.
77-
Let us say you want to get information for this block or are trying to find out its opcode:
78-
![](images/doc_api_searched_opcode.jpg)
79-
If an opcode is not found, `generate_opcode_doc` will show the closest matches. We know it is from the `sensing` category and contains the words "touching clone of":
84+
Let us say you want to get information for this block or are trying to find out its opcode:<br>
85+
![](images/doc_api_searched_opcode.jpg)<br>
86+
If an opcode is not found, `generate_opcode_doc` will show the closest matches. We know it is from the `sensing` category and contains the words `"touching clone of"`:
8087
```python
8188
from pmp_manip import init_config, get_default_config, info_api, generate_opcode_doc
8289

docs/images/second_repr_uml.svg

Lines changed: 577 additions & 513 deletions
Loading

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@
1212

1313
## Other Resources
1414
* **Shapes of Blocks:** [docs/block_shape.md](block_shape.md)
15+
* [FOR DEVS] **Steps to publishing a new release:** [docs/release_tutorial.md](release_tutorial.md)

docs/release_tutorial.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* ✅ Code is clean, readable, and follows PEP 8 style conventions.
1414
* ✅ Functions and classes are well-organized; modular design.
1515
* ✅ Unused code, debug prints, and commented-out sections are removed.
16+
* ✅ Temporary files and file calls are removed.
1617
* ✅ Proper exception handling is in place.
1718

1819
---

main.py

Lines changed: 0 additions & 7 deletions
This file was deleted.

pmp_manip/core/project.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ def from_file(cls, file_path: str) -> "FRProject":
116116
project_data = loads(contents["project.json"].decode())
117117
del contents["project.json"]
118118
from pmp_manip.utility import write_file_text
119-
write_file_text("data.lua", FRProject.__repr__(project_data))
120119

121120
if file_path.endswith(".sb3"):
122121
project_data = FRProject._data_sb3_to_pmp(project_data)

pmp_manip/opcode_info/api/main.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@
159159
"jwStorage",
160160
# date type
161161
"jwDate",
162+
# scoped variables
163+
"jwScope",
162164

163165
# jw: They'll think its made by jwklong >:)
164166
# (but it's not (yet (maybe (probably not (but its made by ianyourgod)))))

preview_example.py

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)