Update doc links: use inline code, unify relative paths

Replaced all Markdown link syntax in documentation with inline code formatting and consistent relative paths. Updated all cross-references and tables for clarity and uniformity. No code or logic changes; docs only.
This commit is contained in:
Loretta 2026-03-29 22:32:11 +02:00
parent ffd537b5eb
commit cb97b33ca0
18 changed files with 42 additions and 42 deletions

View File

@ -6,7 +6,7 @@ Server-side extension of AyCode.Core. Provides server-specific implementations t
| Document | Topic | | Document | Topic |
|---|---| |---|---|
| [LOGGING_SERVER.md](docs/LOGGING_SERVER.md) | GlobalLogger singleton, server-side logging | | `LOGGING_SERVER.md` | GlobalLogger singleton, server-side logging |
## Folder Structure ## Folder Structure

View File

@ -1,6 +1,6 @@
# Server Logging # Server Logging
Server-side logging extensions. For core framework (base classes, configuration, LogLevel, ILogger bridge) see [`AyCode.Core/docs/LOGGING.md`](../../AyCode.Core/docs/LOGGING.md). For remote writers (HTTP, browser, SignalR) see [`AyCode.Services/docs/LOGGING_REMOTE.md`](../../AyCode.Services/docs/LOGGING_REMOTE.md). Server-side logging extensions. For core framework (base classes, configuration, LogLevel, ILogger bridge) see `AyCode.Core/docs/LOGGING.md`. For remote writers (HTTP, browser, SignalR) see `AyCode.Services/docs/LOGGING_REMOTE.md`.
## GlobalLogger ## GlobalLogger

View File

@ -6,10 +6,10 @@ Core library for the AyCode platform. Targets .NET 9 (set in `AyCode.Core.target
| Document | Topic | | Document | Topic |
|---|---| |---|---|
| [BINARY_FORMAT.md](docs/BINARY_FORMAT.md) | Binary wire format spec (stream layout, type markers) | | `BINARY_FORMAT.md` | Binary wire format spec (stream layout, type markers) |
| [BINARY_FEATURES.md](docs/BINARY_FEATURES.md) | Binary features (interning, ref tracking, property ordering) | | `BINARY_FEATURES.md` | Binary features (interning, ref tracking, property ordering) |
| [BINARY_OPTIONS.md](docs/BINARY_OPTIONS.md) | Binary configuration options & presets | | `BINARY_OPTIONS.md` | Binary configuration options & presets |
| [LOGGING.md](docs/LOGGING.md) | Logging framework (hierarchy, config, ILogger bridge) | | `LOGGING.md` | Logging framework (hierarchy, config, ILogger bridge) |
## Folder Structure ## Folder Structure

View File

@ -28,7 +28,7 @@ The serializer is generic over `TOutput` for strategy selection (`ArrayBinaryOut
| 144+ | **Headers** — Metadata, RefHandling, CacheCount flags | | 144+ | **Headers** — Metadata, RefHandling, CacheCount flags |
| 192255 | **Tiny ints** — Single-byte encoding for values -16 to 47 | | 192255 | **Tiny ints** — Single-byte encoding for values -16 to 47 |
For the complete wire format specification (encoding rules, header format, interning protocol), see [`../../../../docs/BINARY_FORMAT.md`](../../../../docs/BINARY_FORMAT.md). For the complete wire format specification (encoding rules, header format, interning protocol), see `docs/BINARY_FORMAT.md`.
## Key Files ## Key Files
@ -84,7 +84,7 @@ Key options that change wire format: `WireMode` (Compact/Fast), `ReferenceHandli
Presets: `Default`, `FastMode`, `ShallowCopy`, `WasmOptimized`. Presets: `Default`, `FastMode`, `ShallowCopy`, `WasmOptimized`.
For detailed option documentation with wire format impact, code branches, and interactions, see [BINARY_FORMAT.md — Configuration Options](../../../../docs/BINARY_FORMAT.md#configuration-options). For detailed option documentation with wire format impact, code branches, and interactions, see `docs/BINARY_OPTIONS.md`.
## Dependencies ## Dependencies

View File

@ -1,6 +1,6 @@
# AcBinary Features # AcBinary Features
Advanced serialization features built on top of the wire format. For core type markers and encoding see [`BINARY_FORMAT.md`](BINARY_FORMAT.md). For configuration options and presets see [`BINARY_OPTIONS.md`](BINARY_OPTIONS.md). Advanced serialization features built on top of the wire format. For core type markers and encoding see `BINARY_FORMAT.md`. For configuration options and presets see `BINARY_OPTIONS.md`.
## Compact Encoding Selection ## Compact Encoding Selection

View File

@ -1,9 +1,9 @@
# AcBinary Wire Format # AcBinary Wire Format
Complete wire format specification for the AcBinary serializer. Source of truth: [`Serializers/Binaries/BinaryTypeCode.cs`](../Serializers/Binaries/BinaryTypeCode.cs). Complete wire format specification for the AcBinary serializer. Source of truth: `Serializers/Binaries/BinaryTypeCode.cs`.
> For advanced features (compact encoding, string interning, reference tracking, property ordering) see [`BINARY_FEATURES.md`](BINARY_FEATURES.md). > For advanced features (compact encoding, string interning, reference tracking, property ordering) see `BINARY_FEATURES.md`.
> For configuration options, presets, and option interactions see [`BINARY_OPTIONS.md`](BINARY_OPTIONS.md). > For configuration options, presets, and option interactions see `BINARY_OPTIONS.md`.
## Stream Layout ## Stream Layout

View File

@ -1,6 +1,6 @@
# AcBinary Configuration # AcBinary Configuration
Configuration options, presets, and option interactions for `AcBinarySerializerOptions`. For wire format see [`BINARY_FORMAT.md`](BINARY_FORMAT.md). For features (interning, ref tracking, property ordering) see [`BINARY_FEATURES.md`](BINARY_FEATURES.md). Configuration options, presets, and option interactions for `AcBinarySerializerOptions`. For wire format see `BINARY_FORMAT.md`. For features (interning, ref tracking, property ordering) see `BINARY_FEATURES.md`.
## WireMode ## WireMode

View File

@ -2,8 +2,8 @@
Custom logging framework with multi-writer fan-out and `Microsoft.Extensions.Logging` integration. Source: `Loggers/` in this project. Custom logging framework with multi-writer fan-out and `Microsoft.Extensions.Logging` integration. Source: `Loggers/` in this project.
> For server-side GlobalLogger see [`AyCode.Core.Server/docs/LOGGING_SERVER.md`](../../AyCode.Core.Server/docs/LOGGING_SERVER.md). > For server-side GlobalLogger see `AyCode.Core.Server/docs/LOGGING_SERVER.md`.
> For remote writers (HTTP, browser console, SignalR) see [`AyCode.Services/docs/LOGGING_REMOTE.md`](../../AyCode.Services/docs/LOGGING_REMOTE.md). > For remote writers (HTTP, browser console, SignalR) see `AyCode.Services/docs/LOGGING_REMOTE.md`.
## Design Overview ## Design Overview

View File

@ -6,8 +6,8 @@ Server-side service implementations: JWT authentication, SendGrid email delivery
| Document | Topic | | Document | Topic |
|---|---| |---|---|
| [SIGNALR_SERVER.md](docs/SIGNALR_SERVER.md) | Server-side SignalR hub (dispatch, session, broadcast) | | `SIGNALR_SERVER.md` | Server-side SignalR hub (dispatch, session, broadcast) |
| [SIGNALR_DATASOURCE.md](docs/SIGNALR_DATASOURCE.md) | Real-time DataSource with CRUD & change tracking | | `SIGNALR_DATASOURCE.md` | Real-time DataSource with CRUD & change tracking |
## Folder Structure ## Folder Structure

View File

@ -2,8 +2,8 @@
Change-tracked real-time collection built on top of the SignalR transport layer. Source: `SignalRs/AcSignalRDataSource.cs` in this project. Change-tracked real-time collection built on top of the SignalR transport layer. Source: `SignalRs/AcSignalRDataSource.cs` in this project.
> For the underlying transport (tag system, wire protocol, client base) see [`AyCode.Services/docs/SIGNALR.md`](../../AyCode.Services/docs/SIGNALR.md). > For the underlying transport (tag system, wire protocol, client base) see `AyCode.Services/docs/SIGNALR.md`.
> For server hub infrastructure see [`SIGNALR_SERVER.md`](SIGNALR_SERVER.md). > For server hub infrastructure see `SIGNALR_SERVER.md`.
## Overview ## Overview

View File

@ -2,8 +2,8 @@
Server-side SignalR hub infrastructure: method dispatch, session management, broadcast, and diagnostics. Source: `SignalRs/` in this project. Server-side SignalR hub infrastructure: method dispatch, session management, broadcast, and diagnostics. Source: `SignalRs/` in this project.
> For client-side transport (tags, wire protocol, client base) see [`AyCode.Services/docs/SIGNALR.md`](../../AyCode.Services/docs/SIGNALR.md). > For client-side transport (tags, wire protocol, client base) see `AyCode.Services/docs/SIGNALR.md`.
> For the DataSource collection see [`SIGNALR_DATASOURCE.md`](SIGNALR_DATASOURCE.md). > For the DataSource collection see `SIGNALR_DATASOURCE.md`.
## Server Processing ## Server Processing

View File

@ -6,8 +6,8 @@ Shared service implementations: SignalR communication (custom binary protocol),
| Document | Topic | | Document | Topic |
|---|---| |---|---|
| [SIGNALR.md](docs/SIGNALR.md) | Client-side SignalR transport (tags, wire protocol, req/resp flow) | | `SIGNALR.md` | Client-side SignalR transport (tags, wire protocol, req/resp flow) |
| [LOGGING_REMOTE.md](docs/LOGGING_REMOTE.md) | Remote log writers (HTTP, browser console, SignalR) | | `LOGGING_REMOTE.md` | Remote log writers (HTTP, browser console, SignalR) |
## Folder Structure ## Folder Structure

View File

@ -1,6 +1,6 @@
# Remote Log Writers # Remote Log Writers
Client-side log writers that send log data to remote endpoints. Source: `Loggers/` in this project. For core logging framework see [`AyCode.Core/docs/LOGGING.md`](../../AyCode.Core/docs/LOGGING.md). For server-side GlobalLogger see [`AyCode.Core.Server/docs/LOGGING_SERVER.md`](../../AyCode.Core.Server/docs/LOGGING_SERVER.md). Client-side log writers that send log data to remote endpoints. Source: `Loggers/` in this project. For core logging framework see `AyCode.Core/docs/LOGGING.md`. For server-side GlobalLogger see `AyCode.Core.Server/docs/LOGGING_SERVER.md`.
## AcBrowserConsoleLogWriter ## AcBrowserConsoleLogWriter

View File

@ -2,8 +2,8 @@
Client-side SignalR transport with custom binary protocol and tag-based dispatch. Source: `SignalRs/` in this project. Client-side SignalR transport with custom binary protocol and tag-based dispatch. Source: `SignalRs/` in this project.
> For server-side hub, session, broadcast see [`AyCode.Services.Server/docs/SIGNALR_SERVER.md`](../../AyCode.Services.Server/docs/SIGNALR_SERVER.md). > For server-side hub, session, broadcast see `AyCode.Services.Server/docs/SIGNALR_SERVER.md`.
> For the DataSource collection see [`AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md`](../../AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md). > For the DataSource collection see `AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md`.
## Design Overview ## Design Overview

View File

@ -12,22 +12,22 @@ Domain rules and key pitfalls live in a single file: [`.github/copilot-instructi
| Claude Code | ✅ `CLAUDE.md` → references above | None | | Claude Code | ✅ `CLAUDE.md` → references above | None |
| Cursor / Windsurf | ✅ `README.md` | Read `copilot-instructions.md` via @file | | Cursor / Windsurf | ✅ `README.md` | Read `copilot-instructions.md` via @file |
Solution-level docs in [`docs/`](docs/): Solution-level docs in `docs/`:
| Document | Topic | | Document | Topic |
|---|---| |---|---|
| [GLOSSARY.md](docs/GLOSSARY.md) | Core terminology reference | | `GLOSSARY.md` | Core terminology reference |
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | Solution layers, dependency rules | | `ARCHITECTURE.md` | Solution layers, dependency rules |
| [CONVENTIONS.md](docs/CONVENTIONS.md) | Coding conventions | | `CONVENTIONS.md` | Coding conventions |
Project-level docs — each project's `docs/` folder documents the code it defines: Project-level docs — each project's `docs/` folder documents the code it defines:
| Project | Documents | | Project | Documents |
|---|---| |---|---|
| [`AyCode.Core/docs/`](AyCode.Core/docs/) | [BINARY_FORMAT](AyCode.Core/docs/BINARY_FORMAT.md), [BINARY_FEATURES](AyCode.Core/docs/BINARY_FEATURES.md), [BINARY_OPTIONS](AyCode.Core/docs/BINARY_OPTIONS.md), [LOGGING](AyCode.Core/docs/LOGGING.md) | | `AyCode.Core/docs/` | `BINARY_FORMAT.md`, `BINARY_FEATURES.md`, `BINARY_OPTIONS.md`, `LOGGING.md` |
| [`AyCode.Core.Server/docs/`](AyCode.Core.Server/docs/) | [LOGGING_SERVER](AyCode.Core.Server/docs/LOGGING_SERVER.md) | | `AyCode.Core.Server/docs/` | `LOGGING_SERVER.md` |
| [`AyCode.Services/docs/`](AyCode.Services/docs/) | [SIGNALR](AyCode.Services/docs/SIGNALR.md), [LOGGING_REMOTE](AyCode.Services/docs/LOGGING_REMOTE.md) | | `AyCode.Services/docs/` | `SIGNALR.md`, `LOGGING_REMOTE.md` |
| [`AyCode.Services.Server/docs/`](AyCode.Services.Server/docs/) | [SIGNALR_SERVER](AyCode.Services.Server/docs/SIGNALR_SERVER.md), [SIGNALR_DATASOURCE](AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md) | | `AyCode.Services.Server/docs/` | `SIGNALR_SERVER.md`, `SIGNALR_DATASOURCE.md` |
## Solution Structure ## Solution Structure

View File

@ -36,7 +36,7 @@ AyCode.Services ← AyCode.Services.Server
- **AyCode.Services.Server** — Server-side: SignalR hub with custom binary protocol, email (SendGrid), JWT auth. - **AyCode.Services.Server** — Server-side: SignalR hub with custom binary protocol, email (SendGrid), JWT auth.
- **AyCode.Models.Server/DynamicMethods** — Reflection-based tag→method dispatch used by the SignalR hub. - **AyCode.Models.Server/DynamicMethods** — Reflection-based tag→method dispatch used by the SignalR hub.
> **SignalR Dispatch:** Both directions use a single method `OnReceiveMessage(int messageTag, byte[] messageBytes, int? requestId)` with integer tag-based routing instead of standard Hub methods. See [`AyCode.Services/docs/SIGNALR.md`](../AyCode.Services/docs/SIGNALR.md) for full details. > **SignalR Dispatch:** Both directions use a single method `OnReceiveMessage(int messageTag, byte[] messageBytes, int? requestId)` with integer tag-based routing instead of standard Hub methods. See `AyCode.Services/docs/SIGNALR.md` for full details.
### Server Extensions ### Server Extensions
- **AyCode.Core.Server**, **AyCode.Interfaces.Server**, **AyCode.Entities.Server**, **AyCode.Models.Server** — Server-only additions that don't belong in shared code. - **AyCode.Core.Server**, **AyCode.Interfaces.Server**, **AyCode.Entities.Server**, **AyCode.Models.Server** — Server-only additions that don't belong in shared code.

View File

@ -24,11 +24,11 @@
## SignalR Conventions ## SignalR Conventions
See [`AyCode.Services/docs/SIGNALR.md`](../AyCode.Services/docs/SIGNALR.md) for full architecture documentation. See `AyCode.Services/docs/SIGNALR.md` for full architecture documentation.
- **Single dispatch method** — all communication goes through `OnReceiveMessage(int messageTag, byte[] messageBytes, int? requestId)`. Do not add new hub methods. - **Single dispatch method** — all communication goes through `OnReceiveMessage(int messageTag, byte[] messageBytes, int? requestId)`. Do not add new hub methods.
- **Tag-based routing** — associate methods with integer tags via `[SignalR(tag)]` (server) or `[SignalRSendToClient(tag)]` (client). Tags must be unique across the entire system. - **Tag-based routing** — associate methods with integer tags via `[SignalR(tag)]` (server) or `[SignalRSendToClient(tag)]` (client). Tags must be unique across the entire system.
- **CRUD bundles** — entities use `SignalRCrudTags(getAllTag, getItemTag, addTag, updateTag, removeTag)` with 5 independent tag integers. Tags must be unique across the system. See [`AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md`](../AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md). - **CRUD bundles** — entities use `SignalRCrudTags(getAllTag, getItemTag, addTag, updateTag, removeTag)` with 5 independent tag integers. Tags must be unique across the system. See `AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md`.
- **Binary protocol**`AcBinaryHubProtocol` is the transport protocol. Responses use pure Binary serialization. - **Binary protocol**`AcBinaryHubProtocol` is the transport protocol. Responses use pure Binary serialization.
### ⚠️ Temporary: JSON-in-Binary Request Parameters ### ⚠️ Temporary: JSON-in-Binary Request Parameters

View File

@ -19,11 +19,11 @@ Core terminology for the AyCode framework. Read this before working on unfamilia
| **Toon** | Token-Oriented Object Notation. LLM-optimized format with @meta (schema) and @data (values) sections. Designed for maximum LLM comprehension accuracy. | | **Toon** | Token-Oriented Object Notation. LLM-optimized format with @meta (schema) and @data (values) sections. Designed for maximum LLM comprehension accuracy. |
| **AcJson** | Newtonsoft.Json wrapper with $id/$ref reference handling, IId-based resolution, and chain deserialization API. | | **AcJson** | Newtonsoft.Json wrapper with $id/$ref reference handling, IId-based resolution, and chain deserialization API. |
| **Chain API** | Fluent deserialization: `CreateDeserializeChain<T>().ThenDeserialize<U>()...Execute()`. Resolves cross-references across multiple types. | | **Chain API** | Fluent deserialization: `CreateDeserializeChain<T>().ThenDeserialize<U>()...Execute()`. Resolves cross-references across multiple types. |
| **String Interning** | Binary serializer deduplicates repeated strings. Controlled via `[AcStringIntern]` attribute or `StringInterningMode`. See [`AyCode.Core/docs/BINARY_FEATURES.md`](../AyCode.Core/docs/BINARY_FEATURES.md#string-interning-protocol). | | **String Interning** | Binary serializer deduplicates repeated strings. Controlled via `[AcStringIntern]` attribute or `StringInterningMode`. See `AyCode.Core/docs/BINARY_FEATURES.md`. |
## Binary Wire Format ## Binary Wire Format
For full specification see [`AyCode.Core/docs/BINARY_FORMAT.md`](../AyCode.Core/docs/BINARY_FORMAT.md). For full specification see `AyCode.Core/docs/BINARY_FORMAT.md`.
| Term | Definition | | Term | Definition |
|---|---| |---|---|
@ -66,14 +66,14 @@ For full specification see [`AyCode.Core/docs/BINARY_FORMAT.md`](../AyCode.Core/
## SignalR Infrastructure ## SignalR Infrastructure
For full architecture see [`AyCode.Services/docs/SIGNALR.md`](../AyCode.Services/docs/SIGNALR.md). For full architecture see `AyCode.Services/docs/SIGNALR.md`.
| Term | Definition | | Term | Definition |
|---|---| |---|---|
| **OnReceiveMessage** | The single SignalR method for all communication. Signature: `(int messageTag, byte[] messageBytes, int? requestId)`. | | **OnReceiveMessage** | The single SignalR method for all communication. Signature: `(int messageTag, byte[] messageBytes, int? requestId)`. |
| **Message Tag** | Integer identifier mapping to a method via `[SignalR(tag)]` or `[SignalRSendToClient(tag)]` attributes. | | **Message Tag** | Integer identifier mapping to a method via `[SignalR(tag)]` or `[SignalRSendToClient(tag)]` attributes. |
| **DynamicMethodRegistry** | Resolves message tags to `MethodInfo` at runtime. Static `ConcurrentDictionary` cache with lazy scan on miss. | | **DynamicMethodRegistry** | Resolves message tags to `MethodInfo` at runtime. Static `ConcurrentDictionary` cache with lazy scan on miss. |
| **SignalRCrudTags** | Sealed class bundling 5 independent tag integers (getAllTag, getItemTag, addTag, updateTag, removeTag) for entity CRUD. See [`AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md`](../AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md). | | **SignalRCrudTags** | Sealed class bundling 5 independent tag integers (getAllTag, getItemTag, addTag, updateTag, removeTag) for entity CRUD. See `AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md`. |
| **AcBinaryHubProtocol** | Custom `IHubProtocol` replacing SignalR's JSON+Base64 with `AcBinarySerializer`. Protocol name: `"acbinary"`. | | **AcBinaryHubProtocol** | Custom `IHubProtocol` replacing SignalR's JSON+Base64 with `AcBinarySerializer`. Protocol name: `"acbinary"`. |
| **SignalResponseDataMessage** | Response message supporting Binary or JSON+GZip. Responses use pure Binary (no JSON overhead). | | **SignalResponseDataMessage** | Response message supporting Binary or JSON+GZip. Responses use pure Binary (no JSON overhead). |
| **SignalPostJsonDataMessage** | ⚠️ TECH DEBT — request params serialized to JSON inside Binary envelope. Planned for pure Binary replacement. | | **SignalPostJsonDataMessage** | ⚠️ TECH DEBT — request params serialized to JSON inside Binary envelope. Planned for pure Binary replacement. |
@ -88,7 +88,7 @@ For full architecture see [`AyCode.Services/docs/SIGNALR.md`](../AyCode.Services
## Logging ## Logging
For full architecture see [`AyCode.Core/docs/LOGGING.md`](../AyCode.Core/docs/LOGGING.md). For full architecture see `AyCode.Core/docs/LOGGING.md`.
| Term | Definition | | Term | Definition |
|---|---| |---|---|