# รายการไฟล์สำหรับเด็กและครู วันที่ปรับ: 17 ตุลาคม 2026 แถบ Project แสดงเฉพาะโฟลเดอร์ `main` และไฟล์ของผู้เรียนภายใน สำหรับตัวอย่าง S1/buzzer จะแสดง: ```text main/ main.c ``` ไฟล์ส่วนอื่นยังอยู่บนดิสก์ครบเพื่อใช้คอมไพล์ โครงโปรเจกต์อ้างอิงมีไฟล์โปรแกรมและการตั้งค่า 8 ไฟล์ รวมข้อมูลภายในอีกหนึ่งไฟล์ ไม่คัดลอกเอกสารกฎลงโฟลเดอร์หลัก: ```text main/ main.c kb_board.h CMakeLists.txt components/kb_reference/ kb_core.c include/kb_core.h CMakeLists.txt CMakeLists.txt sdkconfig ``` เริ่มแก้พฤติกรรมงานที่ `main/main.c` ส่วน component, CMake และ `main/kb_board.h` ยังคงใช้คอมไพล์ แต่ไม่แสดงในแถบ Project ไฟล์โค้ดและข้อมูลของผู้เรียนที่เพิ่มไว้ภายใน `main` ยังแสดงตามปกติ รวมโฟลเดอร์ย่อย แต่ซ่อนไฟล์ตั้งค่า build และไฟล์ภายใน ปุ่มสร้างไฟล์และโฟลเดอร์สร้างไว้ภายใน `main` และไม่อนุญาตให้เปลี่ยนชื่อหรือลบโฟลเดอร์หลัก `main` ผ่านเมนู ถ้าโปรเจกต์ไม่มีโฟลเดอร์ `main` จะแสดงข้อความแจ้ง ไม่ย้อนกลับไปแสดงไลบรารีหรือไฟล์ระบบแทน ไฟล์สนับสนุนที่เปิดผ่าน build error หรือ AI diff เปิดแบบอ่านอย่างเดียวใน editor และไม่ถูกเขียนทับโดย Save All การยอมรับหรือยกเลิกข้อเสนอแก้ไขจาก AI ผ่าน Keep/Undo ยังคงทำงาน รวมการแก้ไฟล์ build ที่จำเป็น ข้อมูลโปรไฟล์บอร์ดเก็บใน `.vibekidbright/project.json` ซึ่งซ่อนจากรายการไฟล์และรายการ Keep/Undo โฟลเดอร์นี้ตั้ง Hidden attribute บน Windows ทั้งตอนสร้างและ Save As ส่วนกฎอ้างอิงอยู่ในฐานความรู้ของแอป AI ยังอ่านโปรไฟล์โดยตรงได้ จึงไม่ต้องสร้าง Markdown/JSON ซ้ำไว้ให้ผู้เรียนแก้ การซ่อนและอ่านอย่างเดียวช่วยลดการแก้ผิดไฟล์ในหน้าจอแอป ไม่ใช่การตั้งสิทธิ์ห้ามเจ้าของเครื่องเข้าถึงไฟล์ผ่านเครื่องมืออื่น การคัดลอกโปรเจกต์และการ build ยังคงใช้ไฟล์ทั้งหมด ไม่ได้ใช้รายการที่กรองสำหรับแถบ Project ## โปรเจกต์เดิม IDE ซ่อน `kidbright-project.json` และ `KIDBRIGHT_COMPATIBILITY.md` ที่ระบบรุ่นก่อนสร้างไว้ในโฟลเดอร์หลัก โดยไม่ลบหรือย้ายไฟล์เดิม ระบบอ่านโปรไฟล์ชื่อเดิมได้เมื่อไม่มีโปรไฟล์ในโฟลเดอร์ภายใน ถ้าโปรไฟล์ภายในมีอยู่แต่เสียหรือไม่รู้จัก จะรายงานข้อผิดพลาดแทนการเลือกบอร์ดเก่าทดแทน ไม่ลบหรือย้าย `.json`, `.md` หรือ `.yml` เพราะโปรเจกต์อาจใช้เป็นข้อมูลหรือการตั้งค่าจริง ไฟล์ข้อมูลของผู้เรียนภายใน `main` ยังคงแสดง ส่วนไฟล์นอก `main` ไม่แสดงในแถบ Project ตามคำขอล่าสุด ## Keep / Undo และ Save As รายการตรวจทาน Keep/Undo แสดงไฟล์โปรแกรมและการตั้งค่าทั้งชุดเพื่อให้เห็นสิ่งที่ AI สร้าง ส่วน snapshot ยังเก็บทุกไฟล์รวมข้อมูลภายใน รายการนี้แยกจากแถบ Project ที่แสดงเฉพาะ `main` Keep เก็บครบทั้งชุด และ Undo ตรวจและลบข้อมูลภายในที่สร้างด้วย โดยยังคงเงื่อนไขป้องกันการลบงานที่แก้เอง Save As คัดลอกข้อมูลภายในไปด้วยและตั้งโฟลเดอร์ปลายทางให้ซ่อนบน Windows ตัวส่งออก `export_kidbright_reference` ใช้โครงเดียวกัน สคริปต์ build อ่านได้ทั้งข้อมูลภายในแบบใหม่และชื่อเดิม ตัวส่งออกใช้ `sdkconfig.defaults` ส่วนโปรเจกต์ใน IDE ใช้ `sdkconfig` ไฟล์ C/CMake และการตั้งค่าที่ส่งออกทั้งสองตัวอย่างตรงกับชุดที่เคย build ไว้ทุกไบต์ การเปลี่ยนนี้จัดระเบียบข้อมูลภายในและการแสดงผล ## การตรวจ - Rust tests: ตรวจโปรไฟล์แบบใหม่และเดิม, Windows Hidden attribute, การปฏิเสธข้อมูลเสีย, รายการไฟล์ และการเก็บหรือ Undo ไฟล์ภายในที่ไม่แสดงในรายการตรวจทาน - Frontend tests: ตรวจรายการจาก backend รุ่นเก่าและ event ว่าไม่แสดงข้อมูลภายใน แต่ยังแสดงไฟล์โปรเจกต์จริง - Export smoke check: โครงใหม่ไม่มีเอกสารอ้างอิงที่โฟลเดอร์หลัก และไฟล์โปรแกรมตรงกับตัวอย่างที่ build ไว้ - รัน `npm run build:release` หลังสร้างผล audit ใหม่ เพื่อตรวจ bundle, coverage และความเป็นปัจจุบันของเอกสาร ผลรันจริงอยู่ใน [project-file-visibility-2026-10-16.json](research/project-file-visibility-2026-10-16.json) หลักฐานรอบเพิ่มเติมสำหรับแถบ Project และการเลือกภาษาอยู่ใน [learner-sidebar-language-2026-10-17-validation.json](research/learner-sidebar-language-2026-10-17-validation.json)