Repository navigation
Refactor/upstream raylib first - #8
Draft
espressif2022 wants to merge 25 commits into
Draft
espressif2022 wants to merge 25 commits into
espressif2022 wants to merge 25 commits into
Conversation
…tream - Runtime owns logic ticks: GetTime/GetFrameTime follow logic ticks, GetFPS reports the measured present rate, and the runner reads target FPS directly. - EndDrawing no longer drops input edges under an attached runtime. - Collision and color helpers now match raylib 6.0 exactly. - Document per-mapping status and enforce it with a policy test.
Vendor unmodified raylib 6.0 sources (georgik/raylib 6.0.0~2) and add a PLATFORM_CUSTOM rcore backend that presents rlsw frames through the video backend, uses the board clock for time and frame pacing, and turns queued button/touch events into raylib input state. - Replace the georgik/raylib dependency, whose platform has GetTime()=0, no input and an extra synchronous frame copy. - Restore MAX_KEYBOARD_KEYS to 512 so arrow keys and Enter work. - Host test drives upstream drawing, input and pacing end to end.
Games call these paths, and the stack suite previously stopped at primitives and sprites. The tilemap is built in RAM, and a readable table follows the JSON log.
Short RGB565 rows made S3 fill slower, so PIE stays a render-benchmark option there. The engine still enables it only on ESP32-S31, and the frame comparison records the remaining pixel gap.
Add the public API catalogue, frozen compatibility and upstream audits, renderer header separation, private primitive core, and Scene/UI behavior coverage. Separate maintained documentation from development records and record S31 Sky Hop native-renderer rejection and compatibility restoration. Keep native example diagnostics configurable. Validation: 145 unittest checks, focused tests and pixel oracles, API audit, Markdown links, diff checks, and isolated release checks. Hardware evidence and untested device paths are recorded in docs/development.
…rlds - BOX-3: 40 MHz LCD clock, viewport-only present after a full frame, -O2 with larger caches and PSRAM XIP. - Add raylib_lite_video_info_t.sample_row_step so renderers skip rows a backend never displays; BOX-3 reports 2 for its exact 480->240 sampling. - Remove fully covered draws in Tower, Sky Hop and Shooter. - Living Worlds decodes panoramas with ROM TJpgDec on S3 and builds on both boards. - Shooter nebula background and Sky Hop cloud art.
…probe failure - Sky Hop and Tower Defense shipped embedded sounds that were never played; trigger cues and music from model state changes in native builds and release every handle on shutdown. - ESP-Mosaico board retries a failed lcd_touch probe once and otherwise runs without touch instead of aborting board creation. - Record S31 same-condition A/B for the seven release games.
…release set - Remove tomb_raycast from release assembly, CI consumer builds and asset provenance. - Label it as an internal preview in the README, build matrix, releasing and CLI docs.
- Correct game feature claims, refresh BOX-3 status and repair the progress table. - Remove per-game performance records from release examples and add a test index to tests/README.md. - Merge the Living Worlds history; game READMEs become English README.md with Chinese README.CN.md.
- Fix BOX-3 acceptance wording, a wrong compat header path, the skill prompt that offered ELF integration, and missing development-record navigation. - Drop stale lobby ELF wording from AGENTS.md, a Last Zone comment and the asset store header comment; refresh the API consumer matrix from the audit tool. - Align README and releasing with idf >=6.1, the 13-configuration CI matrix and the 2026-10-14 two-board device evidence. - Record audio provenance, the raylib-derived default font, Koala Seasons asset status and a non-affiliation statement.
…om whitespace checks - Untrack examples/koala_seasons_dev and ignore it until its asset license is confirmed. - Mark third_party/** as -whitespace: vendored raylib, stb and qoi sources and the zlib license text must stay byte-identical, so git diff --check skips them.
…ecords - Keep project history, interface governance and key technical decisions in docs/development; per-round tuning, performance captures, game iteration screenshots and internal-preview notes stay in the ignored docs/debug/.
espressif2022
force-pushed
the
refactor/upstream-raylib-first
branch
from
October 14, 2026 06:43
f60444c to
a4c1749
Compare
…end/mix - Example design view (raylib_lite_design_view.h): games opt in with raylib_lite_game_adaptive_surface() and run at the Board panel size (BOX-3 320x240 one-to-one); 480x480 keeps the camera-free path. Host gains --size / RAYLIB_LITE_HOST_SIZE, tilemaps gain draw_layer_scaled. - Sky Hop, Neon Rift Rally, the shooter and Last Zone move audio and haptics into tested feedback modules that consume each model event once and release clips, music and the audio device on close. New cues and music loops are synthesized by generate_audio.py; generated WAVs are no longer tracked. - Gameplay: Rally rider personalities and rival, Last Zone roles, vision cones, suspicion, radio calls and rolled enemy fire. - Packer picks IMA-ADPCM for short clips only above 20 dB SNR and starts each clip from an attack-matched step; entries may force the encoding. - Renderer: translucent fills of 64+ pixels blend through per-colour per-channel lookup tables (bit-identical). Mixer resolves playing voices once per mix call (bit-identical output). Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.