Build a native mobile app titled "Unicode Proposal Assistant". The app's primary goal is to assist users in identifying unassigned Unicode codepoints and in drafting proposals for new characters and blocks.
Core Features:
1. **Unicode Codepoint & Block Explorer:**
* **Browse by Plane/Block:** Allow users to navigate through all 17 Unicode planes (Plane 0/BMP, Plane 1/SMP, Plane 2/SIP, Plane 3/TIP, Plane 14/SSP, Planes 15-16/PUA, and other supplementary planes as defined by Unicode). Within each plane, users should be able to browse its constituent blocks.
* **Visualization of Unassigned Space:** For each block, visually indicate or list:
* Assigned codepoints (perhaps with a summary or link to view them).
* Unassigned codepoints (clearly highlighted or listed).
* Potentially, ranges of contiguous unassigned codepoints.
* **Search Existing Characters:** Include a basic search for existing characters by codepoint or name to allow users to check if a similar character already exists.
* **Data Source:** Utilize a comprehensive and up-to-date version of the Unicode Character Database (UCD). This data should be bundled or downloaded/cached for offline access.
2. **Proposal Workspace:**
* **Create New Proposal:** Users can initiate a new proposal. A proposal can be for:
* A single new character.
* A set of related new characters.
* A new block (with a proposed range and character set).
* **Proposal Details:** For each proposal, users should be able to input:
* **Proposed Character(s) Details:**
* **Target Unassigned Codepoint(s):** User selects one or more unassigned codepoints from any plane.
* **Proposed Character Name(s):** e.g., "LINEAR A SIGN AB001".
* **Proposed Glyph Definition:**
* **In-App Drawing Tool:** Provide a simple canvas/drawing interface for users to sketch the proposed glyph. The tool should allow for basic line drawing, erasing, and saving the sketch.
* **Attach Image:** Allow users to attach an image file (e.g., PNG, SVG from their device) representing the proposed glyph. (If image attachment: reference the attached image [markdown link to image if user provides one later]).
* **(Optional/Advanced) AI Glyph Suggestion:** If feasible, the AI building the app could offer a feature to attempt to generate a basic glyph suggestion based on the proposed name or related characters, which the user can then refine using the drawing tool or replace.
* **Proposed Properties:** (e.g., General Category, Bidi Class, Decomposition, Case Mappings if applicable). Provide common options or allow free-text.
* **Justification/Rationale:** Why this character is needed, evidence of use, etc.
* **Cross-references:** To similar existing characters or related proposals.
* **Proposed Block Details (if applicable):**
* **Proposed Block Name:** e.g., "Cuneiform Numbers and Punctuation Supplement".
* **Proposed Codepoint Range:** Selected from unassigned space within any plane.
* **Rationale for the new block.**
* List of characters intended for this block (linking to the character details above).
* **Proposal Management:** Users can save, edit, and delete their draft proposals.
3. **Proposal Output Generator:**
* **Generate Draft Document:** Create a structured text document (e.g., Markdown, plain text, or a simple formatted view) that organizes the information entered for the proposal. This should resemble the informational sections typically required for a Unicode proposal submission.
* **Content to Include:**
* Proposal title/summary.
* Proposer information (optional, user-entered field).
* For each proposed character: representation of the glyph (e.g., embedded sketch if possible in output, or a note to refer to attached image/drawing), proposed codepoint, proposed name, properties, justification.
* For a proposed block: name, range, rationale.
* **Export/Share:** Allow users to easily copy the generated text to the clipboard or export it as a file (e.g., .txt, .md).
4. **User Interface & Experience (General Guidelines):**
* The app should have a clean, intuitive interface, making it easy to navigate all Unicode planes, blocks, unassigned codepoint space, and fill in proposal details.
* Prioritize clarity in displaying codepoint information and unassigned ranges across all planes.
* The drawing tool should be simple and responsive.
* Ensure data is saved locally and reliably.
* Support both portrait and landscape orientations, especially if useful for viewing block layouts, using the drawing tool, or editing proposal details.
Platform:
* Native Mobile App (iOS and Android).
Actually Add Image and AI Implement it