================================================================================
  TinCLE (Tiny C Lovely Engine) Version 0.08 -- Bikuko --

                                    Copyright (C) 2026 michyo (Michiyo Tagami)
                                    Created with General Assistant: Gyaru Sono
================================================================================

* Overview

  TinCLE is an ultra-lightweight 2D game framework optimized for AI-driven
  development (Vibe Coding / One-Shot code generation) and programming beginners.
  It supports a dynamic hybrid ecosystem targeting both Windows Desktop (TCC)
  and Web Browser (WASM/Emscripten) platforms.

  "Why TinCLE?" (Tiny C Lovely Engine)

    Because existing game engines are too bloated. They are like a heavy,
    endless stream. Our framework is so tiny, light, and fast—it's like a quick
    tinkle. Just let it out, and you're done! No waste, just pure relief.

  "Why pisschk?" (Pipelined Inspection System for Shader - CHecKer)

    In graphics development, what looks clean on the outside can be deeply
    infected on the inside. Many developers get pampered by NVIDIA's loose
    compiler, releasing shaders that look beautiful but contain fatal hidden
    illnesses—like reserved word bugs—that will instantly crash on Radeon
    systems. That's why your pipeline needs pisschk. Think of it as the ultimate
    urinalysis for your GLSL. pisschk dips a sharp, unyielding testing strip
    straight into your shader stream, instantly flagging any turbid,
    rule-breaking code before it reaches the public. Don't let a contaminated
    shader poison your launch. Run your code through pisschk, filter out the
    hardware-specific impurities, and ensure a 100% healthy, cross-platform
    release!

  "Why pisstrak?" (Programmable Integrated Sound Synthesizer & TRAcKer)

    AI models are brilliant with logic, but when it comes to composing music and
    rendering actual audio, they are often left stuck. They can't hand-craft
    wave files, but they can write text-based MML. pisstrak is our revolutionary
    response to this limitation, completing the TinCLE stream. Whenever your AI
    agent needs a soundtrack, it doesn't need a complex digital audio
    workstation—it just needs to let it out. pisstrak takes the raw MML
    generated by the AI, runs it through our embedded synthesis engine, and
    flushes out beautifully rendered OGG/WAV files in seconds. No heavy audio
    middleware, no creative block. It's the fast, fluid, and seamless way to
    track your game's audio. When the inspiration hits your AI, just let
    pisstrak flow and listen to the sweet sound of automated victory!

  "Why fartbox?" (Frequency Audio Rendering & Tuning BOX)

    Traditional sound production is clogged with heavy digital audio
    workstations, bloated sample libraries, and sluggish manual UI tweaking.
    For an autonomous AI agent, this creates an intolerable build-up of friction—
    essentially, operational gas. fartbox is our rapid-fire solution that
    flushes out all human-oriented GUI overhead. Sound is stripped down to its
    bare essence: pure mathematical parameters processed via a lightweight text
    stream. Instead of diggng through gigabytes of assets, your AI agent can
    procedurally generate, fine-tune, and mutate raw audio structures—like
    lasers, explosions, and blips—instantly through simple command-line
    execution. No heavy middleware, no friction, and absolutely no holding back.
    When your game needs a quick, sharp auditory impact, let fartbox release the
    pressure and blast high-fidelity procedural effects straight into your build!

  "Why icondom?" (ICON DOMesticater)

    In game development, raw, unprotected graphics are dangerous. If you
    randomly inject multi-resolution images into your project without proper
    safety measures, you risk bloating your memory and exposing your pipeline
    to format leaks. That's why you must use icondom. With just a single raw
    image, icondom instantly stretches, compresses, and wraps all required
    resolutions into one perfectly secured, self-contained .ico file. It shields
    your executable from the messy overhead of modern asset handling. Don't go
    raw into the OS environment. Wrap your visuals with icondom, practice safe
    deployment, and keep your software 100% protected!

  "Why poopee?" (POst OPtimizer of ExE)

    You've let out the fluid code with TinCLE, packed the solid mass with
    asspack, and protected your assets with icondom. Your masterpiece is inside
    the compiler, but it's still holding onto heavy configuration waste and raw
    data junk. Before your executable hits the public, it needs to pass the
    strict, constipated inspection of modern antivirus algorithms. That's when
    you need to drop the final payload: poopee. This post-processing powerhouse
    flushes out all compiling residue, injects your high-res icons, and embeds
    the perfect manifest. It squeezes every last drop of dead weight out of your
    EXE, leaving nothing but a smooth, clean, highly-optimized release. Don't
    let your game get stuck in development limbo. Let poopee push it out, and
    feel the pure, total relief of a flawless deployment!

  "Why asspack?" (ASSet PACKer)

    First came TinCLE, the light and quick relief for modern bloated development.
    But what about the heavy, solid assets? That's where asspack comes in.
    It seals all your textures, sounds, and data into a single, un-crackable
    package, preventing any leaking. TinCLE handles the fluid code, asspack
    compresses the solid mass. Together, they complete the ultimate cycle of
    clean, lightweight execution.

  "Why emcass?" (EMCc ASSistant)

    First, TinCLE handled the fluid, and asspack sealed the mass. But the modern
    web demanded more—it demanded a format that runs anywhere, anytime, with
    absolute, shameless speed. That's where emcass comes in. While heavy,
    bloated modern frameworks crawl onto the web yelling "Eat My Data!", emcass
    tells the internet to eat our dust. It emulsifies your entire low-level
    creation into high-performance WebAssembly bytecode and streams it directly
    into the browser's face. No friction, no heavy runtimes, and absolutely no
    filters. TinCLE flows, asspack compresses, and emcass blasts the whole
    package across the digital landscape. Complete the ultimate, unhinged cycle
    of lightweight web domination!

  "Why pubicnet?" (Public Universal Binary Inter-Connect NETwork)

    Modern multiplayer backends are heavily cluttered with bloated cloud SDKs,
    complex authentication handshakes, and sluggish, over-engineered RPC
    frameworks. For an autonomous AI agent, this introduces a mountain of
    architectural friction. That’s why we created pubicnet. While the internet
    is a public place, your dedicated game traffic should remain strictly
    private and concealed. pubicnet strips away all heavy backend overhead,
    allowing your AI agent to instantly binary-patch a self-contained dedicated
    server with a unique, encrypted UUID in a single command-line thrust.
    Networking is reduced to non-blocking, memory-direct Pure C99 streaming.
    No bloated cloud services, no external dependencies, and absolutely no
    exposure. When your game needs a rapid, secured, and intimate connection to
    the web, let pubicnet pop up your dedicated server and handle the raw data
    flow with absolute privacy!

* Package Contents

  The "32bit" and "64bit" folders contain the following set of files tailored
  for each target environment:

  - 32bit folder: For Windows 32bit + Web (WASM) 32bit targets.
  - 64bit folder: For Windows 64bit + Web (WASM) 32bit targets.

  Please choose the appropriate folder based on your development needs. Unless
  there are specific circumstances, we highly recommend using the "32bit"
  environment. This ensures that the bit size of the native executable matches
  that of the WebAssembly, promoting the smoothest debugging and development
  process.

  tincle.dll    ... Core game engine binary (Windows target).
  SDL2.dll      ... SDL Dynamic Link Library.
  SDL2_gfx.dll  ... SDL2_gfx Dynamic Link Library.
  SDL2_ttf.dll  ... SDL_ttf Dynamic Link Library.
  CREDITS.txt   ... Detailed open-source licensing and third-party information.

  SKILL.md      ... AI skill specification sheet for automated code generation.
  SKILL_FB.md   ... An additional skill sheet for creating sound effects.
  SKILL_PT.md   ... An additional skill sheet for composing music.
  SKILL_PN.md   ... An additional skill sheet for network-enabled games.
  info.txt      ... A prompt-assist file informing the AI of the engine's core
                    architecture.

  tinclec.exe   ... Compilation assistant utility for Windows builds.
  libs folder   ... Dynamic link standard C libraries and framework engine
                    headers.
  cursor.png    ... A default mouse cursor image.
  font.ttf      ... A public domain font provided by default as the starter kit.
  pisschk.exe   ... GLSL Error Checker.
  pisschk.dll   ... Dynamic Link Library for GLSL Error Checker.
  poopee.exe    ... Resource embedding utility for Windows application metadata.
  manifest.xml  ... Default manifest file for embedding operations.

  icondom.exe   ... A dedicated icon generation utility that converts a single
                   image into standard Windows .ico formats.
  pisstrak.exe  ... MML Compiler (WAV/OGG Renderer).
  soundfont.sf2 ... A default soundfont.
  fartbox.exe   ... Sound Effects Compiler (WAV Renderer).
  fartbox.dll   ... Dynamic Link Library for Sound Effects Compiler.

  asspack.exe   ... Asset packing deployment utility for Windows distribution.
  exsass.txt    ... List of asset file extensions.

  emcass.exe    ... TinCLE Emscripten Compiler Assistant utility for Web builds.
  template.html ... Default HTML canvas layout wrapper for Web/WASM deployment.
  .htaccess     ... Server configuration file supplying necessary security
                    headers (COOP/COEP) for the Web build.

  pubicnet.exe  ... A tool for creating dedicated servers for individual games.
  pubicnet.dll  ... Dynamic Link Library required for pubicnet to run.

  The package also includes the following documentation tailored for human
  developers:

  readme.txt    ... Manual / Getting Started (This file).
  document.pdf  ... Reference manual formatted for human developers.
  CREDITS.txt   ... Detailed open-source licensing and third-party information.
                    (Items not related to the user's game release.)

* How to Use

  As a fundamental rule, please develop your project alongside your preferred
  AI coding partner (any AI assistant capable of generating standard C code).
  This engine is strictly not designed with the assumption that a human will
  write entire codebases from scratch (though it remains theoretically possible
  by reviewing the documentation).

  * Fully Automated AI Agent Workflow:

    If you grant your AI agent directory and file-handling execution privileges,
    place all framework files and directories into a folder accessible by the AI.
    Provide "SKILL.md" as the primary prompt guideline to request automated game
    creation. Ensure all raw game assets (images, fonts, audio) are placed
    directly in the same root folder (do not create subdirectories).
    The AI can invoke "tinclec" for native desktop binaries or "emcass" for web
    browser distribution deliverables automatically.

  * Interactive AI Chat Workflow:

    When developing via conventional AI chat prompts, feed the contents of
    "SKILL.md" to the AI as the initial context. Clearly describe your game
    concept, and request incremental code blocks. Simply copy-paste the
    generated output into "game.c" using your preferred text editor. Execute
    "tinclec" in the terminal to quickly playtest on Windows, or use "emcass"
    to test on a local web server.

  * Human Understanding Stance:

    The overarching architectural philosophy of this framework views human
    readability as a secondary priority. However, if a human developer wishes to
    comprehend the underlying system mechanics, you can read "document.pdf,"
    which perfectly mirros the specifications outlined in SKILL.md. To grasp
    deployment pipelines or setup routines quickly, it is highly recommended to
    have an AI read SKILL.md and ask it questions directly.

* System Requirements

  - Target Execution Environments:
    * Windows Desktop: Windows 10 or later (32-bit / 64-bit architectures)
    * Web Browser: Modern browsers supporting WebAssembly (WASM) and HTML5 
                   (e.g., Google Chrome, Microsoft Edge, Mozilla Firefox)

  * It may operate on legacy versions of Windows or legacy browsers,
    but environment verification has not been conducted.

* Development Environment

  Built with the following software stack:

  - Windows 10 Pro 64-bit
  - Tiny C Compiler Version 0.9.28rc
  - Emscripten SDK Version 6.0.0 (WASM Toolchain)
  - Simple DirectMedia Layer (SDL) Version 2.32.10
  - SDL_ttf Version 2.24.0
  - stb libraries
  - SDL2_GFX Version 1.0.4
  - GCC Version 16.1.0
  - Ogg Version 1.3.6
  - Vorbis Version 1.3.7
  - TinySoundFont
  - glslang Version 16.4.0
  - sfxr-sdl Version 1.2.1

  For detailed licensing metadata regarding the underlying tools and libraries,
  please refer to the included CREDITS.txt.

* Version Information

  Version 0.08 - 2026/08/04 (Current Version)

    - Asynchronous Networking API ("tincle_net_*"): Introduced low-latency, 
      non-blocking TCP/WebSocket multiplayer synchronization layer. Features 
      automatic Peer ID assignment, real-time room-based broadcasting, and a 
      two-stage disconnection architecture (2-second visual timeout hide & 
      30-second server disconnect notification). Fully compatible with Win32 
      and Web/WASM targets.
    - Dedicated Server Generator Utility ("pubicnet"): Integrated a lightweight CLI 
      generator tool to instantly produce customized, standalone dedicated binary 
      server executables ("my_server.exe"). Dynamically binds full UUID game identity 
      and Game Titles directly into dedicated server binaries, streamlining 
      multiplayer deployment alongside "SKILL_PN.md" talent chip support.
    - Enhanced Web/WASM Bootstrapping & Loading UX: Completely redesigned the 
      HTML5 runtime architecture ("template.html" / "emcass") with a high-
      visibility, real-time status overlay and visual spinner. Eliminates black-
      screen freeze states during heavy WebGL/GLES shader compilation and large 
      asset unpacking, providing seamless feedback across all browser 
      environments.
    - Full Emscripten Lifecycle Hook Integration: Embedded precise status hooks 
      (`Module.setStatus`) to bridge internal C/WASM init sequences—from 
      `tincle_start` through heavy `game_load` routines up to 
      `emscripten_set_main_loop`—with the DOM UI, ensuring zero-latency loading 
      state transitions.
    - Background Process Heartbeat Worker: Integrated an isolated Web Worker-
      based heartbeat system to automatically sustain network ping signals 
      during tab inactivity and background execution states.

  Version 0.07 - 2026/08/01

    - AI SFX Generation Pipeline: Integrated "fartbox" 1-shot procedural sound
      effect generator and "SKILL_FB.md" talent chip, enabling chat AIs and 
      agentic AIs to author sound parameters and render binary WAV assets
      directly.
    - Music Synthesis Enhancement: Heavily upgraded "pisstrak" rendering logic
      and "SKILL_PT.md" composition guidelines, eliminating high-frequency bias 
      and significantly improving AI-generated MML music quality.
    - WASM Audio Buffer Optimization: Resolved audio crackling and buffer
      underrun noise issues under high-load WebAssembly runtime environments.
    - Codebase Stabilization: Refactored and consolidated core engine runtime
      architecture built up through Version 0.06 for enhanced long-term
      stability.

  Version 0.06 - 2026/07/26

    - Generic Asset Loading: Introduced the "tincle_load_asset" API, removing
      engine-side format restrictions and empowering developers to load
      arbitrary  binary and custom user file data directly into TinCLE.
    - AI Music Generation Pipeline: Integrated "SKILL_PT.md" and "pisstrak" 
      toolchain, enabling AI chat models and agentic AIs to compose MML scores 
      from scratch and render them into standalone audio assets automatically.
    - Cross-Platform Shader Inspection: Bundled "pisschk" shader validator to 
      pre-check GLSL fragment shaders against Radeon-strict and Web/GLES2 
      compliance standards, preventing NVIDIA-specific runtime compilation 
      failures prior to deployment.

  Version 0.05 - 2026/07/23

    - GLSL Shader Support: Integrated a high-performance OpenGL + SDL2 dual
      rendering pipeline (TINCLE_MODE_GLSL_HERO), allowing custom hardware
      shaders to run directly beneath standard 2D drawing layers.
    - Mouse API Expansion: Added native software cursor API support, including
      automatic cursor visibility policies, manual toggles, and custom cursor
      image bindings.
    - Automation Enhancements: Upgraded "asspack" with a fully automated asset
      manifest scanning feature, allowing it to package all assets and shaders
      matching extension rules in "exsass.txt" without explicit manual arguments.
    - Flexible Web Viewport: Enhanced "emcass" to allow fully custom web canvas
      dimensions, enabling seamless scaling and flexible screen sizes for Web
      distribution targets.

  Version 0.04 - 2026/07/13

    - Core Engine: Refactored and optimized the entire tincle.dll codebase for
      enhanced runtime stability.
    - Toolchain: Integrated official support and compatibility for TinyCC
      version 0.9.28.
    - Architecture: Added a dedicated 64-bit environment option to support
      multi-platform workflows.
    - AI Defense: Reinforced prompt structures and system bindings against
      math.h - related AI hallucinations.
    - Pipeline Enhancements: Rebranded "embedres" into "poopee" with expanded
      post-processing features.
    - New Features: Bundled "icondom," a lightweight asset utility for instant,
      secure icon creation.

  Version 0.03 - 2026/07/11

    - Completely deprecated engine-specific button constants and color macros, 
      fully transitioning to standard, native SDL2 constants and C99 literals.
    - Added comprehensive multi-font support and flexible font size handling
      options.
    - Shifted the standard image rendering anchor point from Top-Left to Exact
      Center.
    - Heavily streamlined, restructured, and optimized SKILL.md for higher AI
      efficiency.
    - Improved memory allocation performance and runtime execution stability for
      the Web/WASM target.

  Version 0.02 - 2026/07/02

    - Added full Hybrid Web/WASM compilation pipeline support.
    - Introduced TinCLE Emcc Assistant (emcass.exe) and template.html framework.
    - Refined core engine main-loop processing mechanics for high-precision
      framerates.
    - Added tincle_draw_text_center function for perfect user interface text
      alignment.

  Version 0.01 - 2026/06/28

    - Initial Release (Windows Desktop Only)

* License

  "TinCLE" is distributed as donationware (freeware). You are completely free
  to utilize it for your projects.
  However, users shall not reverse-engineer, decompile, disassemble, analyze,
  or attempt to decrypt the source code of this software framework binary.
  Furthermore, users shall not create derivative works or modified variations
  of this engine framework.

  All copyright titles belong exclusively to michyo (Michiyo Tagami).
  The copyright holder shall not be held liable or legally responsible for
  any operational failures, data loss, or damages arising from the use of
  this tool. Use this utility entirely at your own risk.

  Redistribution and reproduction are freely permitted worldwide. However,
  all distributions must remain intact in their original, unmodified package
  format. Post-distribution notification is highly appreciated but not mandatory.

  Please submit bug reports or general feedback directly to the author. The
  copyright holder will make reasonable efforts to address and improve issues,
  but this does not constitute a legal or contractual obligation.

  * Commercial Use and Game Distribution Policy:

    When distributing a game built with this engine, you are completely free
    to bundle "tincle.dll" alongside your application. Commercial usage and
    monetization of your compiled games are fully permitted with zero royalty
    fees or licensing debts.

    While distribution requires bundling additional runtime modules (such as
    SDL2.dll), all third-party dependencies bundled with this engine operate
    under non-copyleft open-source terms, ensuring risk-free distribution.

    Please remember to include appropriate credit attributions in your game's
    documentation. For precise licensing compliance, please review the
    accompanying CREDITS.txt.

* Author Contact Information

  michyo (Michiyo Tagami)

    support@michyo.net
    http://www.michyo.net/
    X(Twitter): @Ravijour

================================================================================
